/* =========================================================
   ДАРСИ — «Форматы свадеб».
   Карточки идут друг под другом и растут по содержимому.
   ========================================================= */

.fmt{
  --f-ink:#0B0B0C;
  --f-muted:rgba(255,255,255,.72);
  --f-line:rgba(255,255,255,.14);
  --f-rose:#E3A9BA;

  position:relative;
  overflow-anchor:none;
  padding:clamp(56px,7vw,110px) var(--pad-x) clamp(40px,5vw,80px);
  background:
    radial-gradient(70% 50% at 0% 0%, rgba(227,169,186,.10) 0%, rgba(227,169,186,0) 60%),
    var(--f-ink);
  color:#fff;
}
.fmt__inner{width:100%; max-width:var(--maxw); margin:0 auto}

/* ---------- шапка блока ---------- */
.fmt__head{
  position:static;
  margin:0 0 28px;
  display:flex; flex-direction:column; justify-content:center;
  padding:12px 0 20px;
  background:transparent;
}
.fmt__title{
  font-family:var(--f-head); font-weight:400;
  font-size:clamp(30px, 3.6vw, 50px); line-height:1; letter-spacing:-.015em;
  margin:0 0 14px;
}
.fmt__sub{
  margin:0; font-size:clamp(15px,1.2vw,18px); line-height:1.45;
  letter-spacing:-.03em; color:var(--f-muted);
}

/* ---------- карточки ---------- */
.fmt__stack{display:grid; gap:20px}
.fmt__slot{min-width:0}


.fmt-card{
  position:relative;
  height:auto; min-height:480px;
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  background:#141416;
  border:1px solid var(--f-line);
  overflow:hidden;
  box-shadow:0 -30px 60px -40px rgba(0,0,0,.9);
}

/* ---------- левая колонка ---------- */
.fmt-card__body{
  position:relative;
  display:flex; flex-direction:column;
  padding:clamp(24px,2.6vw,52px);
}
.fmt-card.fmt-card--featured{
  background:linear-gradient(135deg,#F7DCE3 0%,#E9B5C4 100%);
  color:#1B1418;
  border-color:rgba(227,169,186,.72);
  box-shadow:0 -30px 70px -38px rgba(227,169,186,.52), 0 0 0 1px rgba(255,255,255,.34) inset;
}
.fmt-card--featured .fmt-card__num{color:#1B1418}
.fmt-card--featured .fmt-card__title,
.fmt-card--featured .fmt-card__price{color:#1B1418}
.fmt-card--featured .fmt-card__sub,
.fmt-card--featured .fmt-card__list li{color:#1B1418}
.fmt-card--featured .fmt-card__list li::before{background:#9C5B70}
.fmt-card--featured .fmt-card__hit{
  background:#fff; color:#1B1418;
  box-shadow:0 14px 30px -20px rgba(54,28,37,.55);
}
.fmt-card--featured .fmt-card__btn{
  background:#fff; color:#1B1418;
  border:1px solid rgba(118,76,90,.14);
  box-shadow:0 18px 34px -24px rgba(54,28,37,.5);
}
.fmt-card--featured .fmt-card__btn:hover{
  background:#FFF7F9; color:#1B1418;
}
.fmt-card__hit{
  position:absolute; top:clamp(22px,2vw,38px); right:clamp(22px,2vw,38px);
  display:inline-flex; align-items:center; justify-content:center;
  min-width:84px; height:42px; padding:0 20px;
  background:linear-gradient(90deg,#F6D6DE,#E3A9BA); color:#2A171D;
  font-size:15px; font-weight:700; letter-spacing:.08em;
  box-shadow:0 14px 28px -18px rgba(227,169,186,.9);
}
.fmt-card__num{
  font-size:12px; letter-spacing:.14em; color:var(--f-rose);
  font-variant-numeric:tabular-nums; margin:0 0 clamp(20px,3vw,44px);
}
.fmt-card__title{
  font-family:var(--f-head); font-weight:400;
  font-size:clamp(24px,2.6vw,40px); line-height:1.02; letter-spacing:-.015em;
  margin:0 0 12px;
}
.fmt-card__sub{
  margin:0 0 clamp(18px,2vw,30px); font-size:clamp(14.5px,1.05vw,17px);
  line-height:1.45; letter-spacing:-.03em; color:var(--f-muted); max-width:36ch;
}
.fmt-card__list{
  display:flex; flex-direction:column; gap:10px;
  margin:0 0 clamp(20px,2.2vw,32px);
}
.fmt-card__list li{
  display:flex; align-items:center; gap:12px;
  font-size:clamp(14px,1vw,16px); letter-spacing:-.03em; color:rgba(255,255,255,.9);
}
.fmt-card__list li::before{
  content:''; width:9px; height:9px; flex:0 0 auto; background:var(--f-rose);
}
.fmt-card__foot{margin-top:auto; display:flex; align-items:center; gap:clamp(16px,2vw,28px); flex-wrap:wrap}
.fmt-card__price{
  font-family:var(--f-head); font-weight:400;
  font-size:clamp(22px,2vw,32px); line-height:1; letter-spacing:-.01em;
}
.fmt-card__btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:clamp(54px,3.5vw,62px); padding:0 clamp(28px,2.2vw,40px);
  background:var(--accent-grad); color:var(--accent-ink);
  font-family:var(--f-body); font-size:16px; font-weight:500; letter-spacing:-.03em;
  transition:background .25s ease, transform .2s ease;
}
.fmt-card__btn:hover{background:var(--accent-grad-hi); transform:translateY(-1px)}

/* ---------- фото ---------- */
.fmt-card__media{position:relative; overflow:hidden; background:#0F0F11}
.fmt-card__media img{
  max-width:none;
  position:absolute; inset:-1px;
  width:calc(100% + 2px); height:calc(100% + 2px);
  object-fit:cover;

}
.fmt-card__media img[src*="format-turnkey-new"]{object-position:50% 56%}
.fmt-card__media img[src*="format-chamber-new"]{object-position:50% 58%}
.fmt-card__media img[src*="format-optimal-new"]{object-position:50% 58%}


/* =========================================================
   АДАПТИВ
   ========================================================= */
@media (max-width:1000px){
  .fmt-card{grid-template-columns:1fr; min-height:0}
  .fmt-card__media{order:-1; aspect-ratio:3/2}
  .fmt-card__body{padding:clamp(20px,3vw,30px)}
  .fmt-card__hit{top:20px; right:20px}
  .fmt-card__num{margin-bottom:20px}
  .fmt-card__list{gap:10px; margin-bottom:24px}
}
@media (max-width:720px){
  .fmt{padding-top:42px; padding-bottom:48px}
  .fmt__head{padding:0; margin-bottom:24px}
  .fmt__title{font-size:clamp(27px,7.4vw,34px); margin-bottom:12px}
  .fmt__sub{font-size:16px; line-height:1.5}
  .fmt-card__media{aspect-ratio:4/3}
  .fmt-card__num{line-height:18px}
  .fmt-card__hit{top:calc(clamp(20px,3vw,30px) - 6px); right:clamp(20px,3vw,30px); min-width:60px; height:30px; padding:0 12px; font-size:12px}
  .fmt-card__title{font-size:26px}
  .fmt-card__sub{margin-bottom:20px; font-size:16px}
  .fmt-card__list li{font-size:16px; gap:10px; align-items:baseline}
  .fmt-card__list li::before{width:7px; height:7px}
  .fmt-card__foot{gap:18px; width:100%; flex-direction:column; align-items:flex-start}
  .fmt-card__btn{width:100%; min-height:56px; height:auto; padding:16px; font-size:16px; white-space:normal}
  .fmt-card__price{font-size:24px}
}
