/* CARVE — Цени */

/* Голямото „21 €“ е в своята колона и не стига до текста: колоните са равни, а числото
   е най-много 30% от широчината на колоната („24 €“ е 3,2 пъти по-широко от размера на шрифта). */
.vh-ceni .vh-mreja { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.vh-chislo { text-align: right; container-type: inline-size; }
.vh-chislo-et { font: 500 13px var(--f-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--sivo); }
.vh-chislo-n {
  font: 800 min(clamp(96px, 15vw, 250px), 30cqi)/.8 var(--f-dis); font-stretch: 118%;
  color: var(--oranzh); letter-spacing: -.02em; margin-top: 10px; white-space: nowrap;
}
@media (max-width: 900px) { .vh-ceni .vh-mreja { grid-template-columns: minmax(0, 1fr); } .vh-chislo { text-align: left; } }


/* ---------- Лентата с превключвателите ---------- */
.ct-upr {
  position: sticky; top: var(--glava); z-index: 30;
  background: var(--snyag); border-block: 1px solid var(--mraz);
  transition: top .45s var(--ease);
}
.glava-skrita .ct-upr { top: 0; }
.ct-upr-v { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; padding-block: 12px; }
.ct-seg label > span { min-height: 42px; padding: 4px 18px; }
@media (max-width: 760px) {
  .ct-upr-v { gap: 8px; }
  .ct-seg { flex: 1 1 100%; }
}

/* ---------- Ценоразписът ---------- */
.ct-oblast { --ct-kol: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1.05fr) minmax(0, 1.05fr); padding-top: clamp(40px, 5vw, 70px); padding-bottom: clamp(60px, 8vw, 110px); }
.ct-z { margin-bottom: 10px; }
.ct-glava {
  display: grid; grid-template-columns: var(--ct-kol); gap: 16px;
  font: 500 12.5px var(--f-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--sivo);
  padding: 8px 0;
}
.ct-glava span[data-za] { text-align: right; }
.ct-grupa { margin-top: clamp(26px, 3vw, 40px); }
.ct-grupa h3 {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px;
  font: 700 19px var(--f-tekst); padding-bottom: 12px; border-bottom: 1.5px solid var(--mastilo);
}
.ct-grupa h3 small { font-size: 14.5px; font-weight: 400; color: var(--sivo); }
.ct-red {
  display: grid; grid-template-columns: var(--ct-kol); gap: 6px 16px; align-items: baseline;
  padding: 16px 0; border-bottom: 1px solid var(--mraz);
}
.ct-ime { font-weight: 600; font-size: 17px; }
.ct-srok { font: 500 13px var(--f-mono); color: var(--sivo); }
.ct-c { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.ct-c b { font: 800 clamp(22px, 2vw, 30px)/1.05 var(--f-dis); font-stretch: 90%; white-space: nowrap; }
.ct-c small { margin-top: 4px; font: 500 12.5px var(--f-mono); color: var(--sivo); }
.ct-c em { font-style: normal; font-weight: 600; color: var(--oranzh-2); }
.ct-pista-red {
  margin-top: clamp(36px, 5vw, 60px); padding: clamp(22px, 3vw, 36px);
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 40px; align-items: center;
  background: var(--led);
}
.ct-pista-red p { margin-top: 10px; color: var(--sivo); max-width: 52ch; }
.ct-pista-c { font: 800 clamp(48px, 6vw, 92px)/.9 var(--f-dis) !important; font-stretch: 110% !important; color: var(--mastilo) !important; margin: 0 !important; white-space: nowrap; }
.ct-belezhka { margin-top: 22px; font-size: 14px; color: var(--sivo); }
.ct-belezhka a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
  /* на телефон: името на цял ред, отдолу двете цени една до друга с надпис над всяка */
  .ct-oblast { --ct-kol: minmax(0, 1fr) minmax(0, 1fr); }
  .ct-glava { display: none; }
  .ct-ime, .ct-srok { grid-column: 1 / -1; }
  .ct-srok:empty { display: none; }
  .ct-c { align-items: flex-start; text-align: left; margin-top: 6px; }
  .ct-c::before { content: attr(data-et); margin-bottom: 4px; font: 500 11.5px var(--f-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--sivo); }
  .ct-pista-red { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Сметката ---------- */
.smetka { padding: clamp(80px, 10vw, 150px) 0; }
.smetka-mreja { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 110px); align-items: start; }
.smetka-lyavo .tekst { margin-top: 20px; }
.smetka-forma { display: grid; gap: 22px; margin-top: 34px; max-width: 520px; }
.smetka-za { font: 500 13px var(--f-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--nosht-sivo); }
.smetka-rez { border: 1px solid var(--nosht-linia); background: var(--nosht-2); padding: clamp(24px, 3vw, 40px); position: sticky; top: calc(var(--glava) + 24px); }
.smetka-et { font: 500 13px var(--f-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--oranzh); }
.smetka-plan { margin-top: 10px; font: 800 clamp(26px, 2.6vw, 38px)/1.05 var(--f-dis); font-stretch: 86%; text-transform: uppercase; }
.smetka-obshto { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--nosht-linia); }
.smetka-obshto b { font: 800 clamp(52px, 6vw, 88px)/.9 var(--f-dis); font-stretch: 100%; white-space: nowrap; }
.smetka-obshto span { color: var(--nosht-sivo); }
.smetka-dl { margin-top: 20px; display: grid; gap: 0; }
.smetka-dl div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--nosht-linia); }
.smetka-dl dt { color: var(--nosht-sivo); }
.smetka-dl dd { margin: 0; font: 500 15px var(--f-mono); text-align: right; }
.smetka-zab { margin-top: 14px; font-size: 14px; color: var(--nosht-sivo); }
.smetka-btn { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.smetka .pl input[type=range] { accent-color: var(--oranzh); }
@media (max-width: 900px) {
  .smetka-mreja { grid-template-columns: minmax(0, 1fr); }
  .smetka-rez { position: static; }
}
/* сума с четири цифри (целогодишната карта) не се събира в картата на тесен телефон */
@media (max-width: 560px) { .smetka-obshto b { font-size: clamp(34px, 11.5vw, 52px); } }

/* ---------- Какво е включено, условия ---------- */
.usloviya { padding: clamp(80px, 10vw, 140px) 0; }
.usloviya-mreja { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 110px); }
.usloviya-k h2 { margin-bottom: 22px; }
.vkl li { display: grid; gap: 4px; padding: 16px 0; border-top: 1.5px solid var(--mastilo); }
.vkl li:last-child { border-bottom: 1.5px solid var(--mastilo); }
.vkl b { font: 800 20px var(--f-dis); font-stretch: 86%; text-transform: uppercase; }
.vkl span { color: var(--sivo); }
.vkl + .tekst { margin-top: 20px; }
.uslov li { position: relative; padding: 12px 0 12px 26px; border-bottom: 1px solid var(--mraz); }
.uslov li::before { content: ''; position: absolute; left: 0; top: 21px; width: 9px; height: 9px; background: var(--oranzh); }
.usloviya-k .vrazka { margin-top: 24px; }
@media (max-width: 900px) { .usloviya-mreja { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Мултиспорт ---------- */
.ms-pokana { background: var(--oranzh); color: var(--mastilo); }
.ms-pokana-v { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px 40px; padding-block: clamp(40px, 5vw, 64px); }
.ms-pokana p { margin-top: 10px; max-width: 64ch; }

/* ---------- Под 360 px: числата не се събират ---------- */
@media (max-width: 359px) {
  .vh-chislo-n { font-size: 84px; }                /* „24 €“ за сноуборд е по-широко от „21 €“ */
  .ct-c b { font-size: 20px; }                     /* „1068,00 €“ в половин колона */
  .ct-pista-c { font-size: 38px !important; }      /* „100,00 €“ за цялата писта */
}
