/* ==========================================================================
   Каталог моделей — сетка карточек (архив, архив по типу, топ-3 на главной)
   ========================================================================== */

.models-section{
  padding:48px 32px;
}
.models-section__title{
  font-size:28px;
  font-weight:800;
  color:var(--ink);
  margin:0 0 28px;
}

.models-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  list-style:none;
  margin:0;
  padding:0;
}

.model-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:box-shadow .15s ease, border-color .15s ease;
}
.model-card:hover{
  box-shadow:0 8px 24px rgba(35,39,34,0.08);
  border-color:#D8DCD1;
}

.model-card__image{
  aspect-ratio:4 / 3;
  background:var(--panel-bg);
  overflow:hidden;
}
.model-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.model-card__body{
  padding:20px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}

.model-card__title{
  font-size:18px;
  font-weight:800;
  color:var(--ink);
  margin:0;
  line-height:1.25;
}

.model-card__meta{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  font-size:13.5px;
  color:var(--ink-soft);
}

.model-card__price{
  margin-top:auto;
  font-size:14px;
  color:var(--ink-soft);
}
.model-card__price strong{
  display:block;
  font-size:22px;
  font-weight:800;
  color:var(--green-dark);
}

.model-card__cta{
  align-self:flex-start;
  margin-top:4px;
}

@media (max-width: 900px){
  .models-section{padding:32px 16px;}
  .models-section__title{font-size:22px;}
  .models-grid{grid-template-columns:minmax(0, 1fr);}
}

/* ===== Single model page ===== */
.model-single{
  padding:48px 32px;
  max-width:1040px;
  margin:0 auto;
}
.model-single__title{
  font-size:32px;
  font-weight:800;
  color:var(--ink);
  margin:0 0 24px;
}

.model-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:12px;
  margin-bottom:32px;
}
.model-gallery__item{
  aspect-ratio:4 / 3;
  background:var(--panel-bg);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.model-gallery__item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.model-gallery__placeholder{
  aspect-ratio:16 / 9;
  background:var(--panel-bg);
  border-radius:var(--radius-lg);
  margin-bottom:32px;
}

.model-facts{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:20px;
  background:var(--panel-bg);
  border-radius:var(--radius-lg);
  padding:24px;
  margin-bottom:32px;
}
.model-facts dt{
  font-size:13px;
  color:var(--ink-soft);
  margin-bottom:4px;
}
.model-facts dd{
  margin:0;
  font-size:19px;
  font-weight:700;
  color:var(--ink);
}

.model-content{
  font-size:16px;
  line-height:1.6;
  color:var(--ink);
  margin-bottom:32px;
}

.model-includes{
  margin:0 0 36px;
  padding:0;
  list-style:none;
}
.model-includes li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid var(--line);
  font-size:15px;
  color:var(--ink);
}
.model-includes li::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--green-dark);
  margin-top:7px;
  flex:none;
}

.model-single .cta-btn{
  font-size:16px;
  padding:16px 30px;
}
