/* MARKER — podcaster.ee lehesüsteem, 28.08.2026.
   Asendab pages.css-i. Laaditakse ds/ tokenite, components.css-i ja theme.css-i JÄREL.

   KEELE REEGLID (hoia neid, kui lisad uue sektsiooni):
   1. Kaste ei ole. Sektsioone eraldab 1 px joon või taustavahetus, mitte raam ega vari.
   2. Ühes sektsioonis on täpselt ÜKS markeriga pealkiri (.dim katab lause teise poole).
      Erand: marker tohib tähistada aktiivset valikut (alammenüü, valitud tunniarv).
   3. Fotod on servast servani, ilma raadiuseta. Tekst elab 980 px veerus, foto mitte.
   4. Tekstilink = kollane joon teksti all (.m-link). Nupp = oranž-kollane gradient.
      Ühel lehel on üks gradientnupp sektsiooni kohta, mitte rohkem.
   5. Oranž ja kollane ei ole kunagi tekstivärv heledal taustal. Tumedal on oranž lubatud.
   6. Andmed on joonega eraldatud nimekirjad, mitte kaardid. */

/* ---------- Sektsioon ---------- */
.m-sec { padding-block: 84px; }
.m-sec--tight { padding-block: 56px; }
.m-sec--top { padding-top: 64px; }
.m-sec--field { background: var(--cream); }
.m-sec--dark { background: var(--midnight); }
.m-sec--dark h1, .m-sec--dark h2, .m-sec--dark h3 { color: #fff; }
.m-sec--dark p, .m-sec--dark li { color: var(--gray-400); }
.m-rule { height: 1px; background: var(--gray-300); }

/* ---------- Täislaiuses foto ---------- */
.m-bleed { width: 100%; display: block; object-fit: cover; }
.m-bleed--hero { height: 560px; }
.m-bleed--mid { height: 440px; }
.m-bleed--sm { height: 340px; }

/* ---------- Tüpograafia ---------- */
.m-eyebrow {
  display: block; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
  font-weight: var(--fw-semibold); color: var(--gray-500);
}
.m-sec--dark .m-eyebrow { color: var(--orange); }
.m-lead { font-size: var(--fs-body-lg); line-height: 1.45; color: var(--gray-600); }
.m-body { font-size: var(--fs-body); line-height: 1.58; color: var(--gray-600); }
.m-note { font-size: var(--fs-body-sm); line-height: 1.5; color: var(--gray-500); }
.m-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); }
.m-mt-3 { margin-top: var(--space-3); }
.m-mt-5 { margin-top: var(--space-5); }
.m-mt-6 { margin-top: var(--space-6); }
.m-mt-7 { margin-top: var(--space-7); }
.m-mt-9 { margin-top: var(--space-9); }
.m-max { max-width: 720px; }

/* Markeriga tekstilink. Kollane joon teksti all, kiri jääb tumedaks. */
.m-link {
  display: inline; font-size: var(--fs-body); font-weight: var(--fw-medium);
  color: var(--gray-900);
  background: linear-gradient(180deg, transparent 84%, var(--yellow) 84%, var(--yellow) 100%);
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.m-link:hover { text-decoration: none; color: var(--gray-900); background-color: rgba(255, 221, 0, 0.28); }
.m-sec--dark .m-link { color: var(--orange); background: none; border-bottom: 1px solid var(--orange); }
.m-sec--dark .m-link:hover { color: var(--yellow); border-color: var(--yellow); }

/* Tegevuste rida */
.m-actions { display: flex; align-items: center; gap: var(--space-6); flex-wrap: wrap; }

/* ---------- Joonega nimekiri ---------- */
.m-list { list-style: none; margin: 0; padding: 0; }
.m-list > li {
  font-size: var(--fs-body-sm); line-height: 1.5; color: var(--gray-600);
  padding: 14px 0; border-top: 1px solid var(--gray-300);
}
.m-list > li:last-child { border-bottom: 1px solid var(--gray-300); }
.m-sec--dark .m-list > li { border-color: rgba(255, 255, 255, 0.16); }

/* ---------- Ridade süsteem: neli teed, KKK ---------- */
.m-rows { margin-top: var(--space-9); }
.m-row {
  display: grid; grid-template-columns: 64px 240px 1fr 170px;
  gap: var(--space-6); align-items: baseline;
  padding: 26px 0; border-top: 1px solid var(--gray-300);
}
.m-row:last-child { border-bottom: 1px solid var(--gray-300); }
.m-row__num { font-size: var(--fs-ui); color: var(--gray-500); font-variant-numeric: tabular-nums; }
.m-row__title { font-size: var(--fs-title-3); margin: 0; }
.m-row__body { font-size: var(--fs-body-sm); line-height: 1.5; color: var(--gray-600); }
.m-row__link { text-align: right; }
.m-row--qa { grid-template-columns: 320px 1fr; }

/* ---------- Numbririba ---------- */
.m-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-6); }
.m-stat__value {
  font-size: 60px; line-height: 1.05; font-weight: var(--fw-semibold);
  letter-spacing: -0.025em; font-variant-numeric: tabular-nums; color: var(--gray-900);
}
.m-stat__label { font-size: var(--fs-ui); color: var(--gray-600); margin-top: 4px; }

/* ---------- Setiruudustik ---------- */
.m-sets {
  display: grid; gap: var(--space-5);
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
}
.m-set { display: block; color: inherit; }
.m-set:hover { text-decoration: none; }
.m-set__img { width: 100%; height: 280px; object-fit: cover; display: block; }
.m-set:hover .m-set__img { opacity: 0.9; }
.m-set__count { display: block; font-size: 13px; color: var(--gray-500); margin-top: 12px; }
.m-set__name { display: block; font-size: var(--fs-title-3); font-weight: var(--fw-semibold); letter-spacing: -0.015em; margin-top: 4px; }
.m-set__desc { display: block; font-size: var(--fs-body-sm); line-height: 1.45; color: var(--gray-600); margin-top: 6px; }

/* ---------- Galerii ---------- */
.m-gal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.m-gal--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.m-gal img { width: 100%; height: 340px; object-fit: cover; display: block; }
.m-gal--3 img { height: 260px; }
.m-gal figure { margin: 0; }

/* ---------- Alammenüü ---------- */
.m-sub { border-top: 1px solid var(--gray-300); border-bottom: 1px solid var(--gray-300); }
.m-sub__inner { display: flex; gap: var(--space-7); padding-block: 16px; overflow-x: auto; }
.m-sub a { font-size: var(--fs-body-sm); color: var(--gray-600); white-space: nowrap; }
.m-sub a:hover { color: var(--gray-900); text-decoration: none; }
.m-sub a.is-on {
  color: var(--gray-900); font-weight: var(--fw-medium);
  background: linear-gradient(180deg, transparent 82%, var(--yellow) 82%, var(--yellow) 100%);
}

/* ---------- Tumedad veerud ---------- */
.m-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-7); margin-top: var(--space-8); }
.m-col { border-top: 2px solid var(--orange); padding-top: 18px; }
.m-col h3 { font-size: var(--fs-title-4); margin: 0; }
.m-col p { font-size: var(--fs-body-sm); line-height: 1.5; margin-top: 10px; }

/* ---------- Hinnaveerud ---------- */
.m-prices { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.m-price { padding-inline: 22px; border-left: 1px solid var(--gray-300); }
.m-price:first-child { border-left: 0; padding-left: 0; }
.m-price__name { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: var(--fw-semibold); color: var(--gray-500); }
.m-price__value { font-size: 40px; line-height: 1.1; font-weight: var(--fw-semibold); letter-spacing: -0.025em; margin-top: 12px; font-variant-numeric: tabular-nums; }
.m-price__unit { font-size: var(--fs-ui); color: var(--gray-500); margin-top: 4px; }
.m-price__group { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: var(--fw-semibold); color: var(--gray-600); margin-top: 24px; }
.m-price__list { list-style: none; margin: 10px 0 0; padding: 0; }
.m-price__list > li { font-size: var(--fs-ui); line-height: 1.45; color: var(--gray-600); padding: 10px 0; border-top: 1px solid var(--gray-300); }
.m-price__list > li:last-child { border-bottom: 1px solid var(--gray-300); }
.m-price__foot { font-size: 13px; line-height: 1.45; color: var(--gray-500); margin-top: 18px; }

/* ---------- Vormiväljad ---------- */
.field { display: block; }
.field__label { display: block; font-size: 13px; font-weight: var(--fw-semibold); color: var(--gray-600); letter-spacing: 0.02em; }
.field__input {
  width: 100%; border: 0; border-bottom: 1px solid var(--gray-300); border-radius: 0;
  background: transparent; padding: 14px 0; font-size: var(--fs-body);
  color: var(--gray-900); font-family: inherit;
}
.field__input::placeholder { color: var(--gray-400); }
.field__input:focus { outline: none; border-bottom-color: var(--gray-900); box-shadow: none; }
.field__input:focus-visible { box-shadow: none; }
textarea.field__input { resize: vertical; line-height: 1.5; }
.m-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-7); }
.m-fields--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.m-check { display: flex; align-items: center; gap: 12px; margin-top: var(--space-6); font-size: var(--fs-body-sm); color: var(--gray-600); }
.m-check input { width: 20px; height: 20px; accent-color: var(--midnight); }
.pdc-hp { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.form-error-note { color: var(--red-500); font-size: var(--fs-body-sm); margin-top: var(--space-4); }
.form-sent-note { font-size: var(--fs-body-sm); color: var(--gray-600); }

/* ---------- Kontaktileht ---------- */
.m-contact { display: grid; grid-template-columns: 1fr 300px; gap: 64px; align-items: start; }
.m-info__block { border-top: 1px solid var(--gray-300); padding-top: 16px; margin-top: var(--space-7); }
.m-info__block:first-child { border-top: 2px solid var(--gray-900); margin-top: 0; }
.m-info__block p { font-size: var(--fs-body); line-height: 1.4; margin-top: 8px; }

/* ---------- Broneering ---------- */
.m-bar { background: var(--midnight); color: #fff; }
.m-bar__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); padding-block: 16px; }
.m-bar__label { font-size: var(--fs-body-sm); font-weight: var(--fw-semibold); }
.m-bar__summary { display: block; font-size: var(--fs-ui); color: var(--gray-400); margin-top: 2px; }
.m-bar__right { display: flex; align-items: center; gap: var(--space-5); }
.m-bar__price { text-align: right; }
.m-bar__price-value { font-size: var(--fs-body); font-weight: var(--fw-semibold); color: var(--orange); }
.m-bar__price-note { font-size: 13px; color: var(--gray-400); }
.m-step { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: var(--fw-semibold); color: var(--gray-500); }
.m-gated.is-locked { opacity: 0.42; pointer-events: none; }

.pkg-list { margin-top: var(--space-7); }
.pkg-card {
  width: 100%; display: grid; grid-template-columns: 28px 240px 1fr 170px;
  gap: var(--space-6); align-items: center; text-align: left;
  padding: 22px 0; border: 0; border-top: 1px solid var(--gray-300);
  background: transparent; cursor: pointer; font: inherit; letter-spacing: inherit;
}
.pkg-card:last-of-type { border-bottom: 1px solid var(--gray-300); }
.pkg-card__box {
  width: 22px; height: 22px; border: 1px solid var(--gray-300); background: var(--white);
  display: flex; align-items: center; justify-content: center;
}
.pkg-card__box svg { opacity: 0; width: 14px; height: 14px; }
.pkg-card.is-on .pkg-card__box { background: var(--yellow); border-color: var(--yellow); }
.pkg-card.is-on .pkg-card__box svg { opacity: 1; }
.pkg-card__name { font-size: var(--fs-title-3); font-weight: var(--fw-semibold); letter-spacing: -0.015em; color: var(--gray-600); }
.pkg-card.is-on .pkg-card__name { color: var(--gray-900); }
.pkg-card__desc { font-size: var(--fs-body-sm); line-height: 1.45; color: var(--gray-600); }
.pkg-card__price { font-size: var(--fs-body-sm); color: var(--gray-500); text-align: right; }
.pkg-card.is-on .pkg-card__price { color: var(--gray-900); font-weight: var(--fw-semibold); }

.tabs { display: flex; gap: var(--space-6); margin-top: var(--space-4); }
.tabs__tab {
  border: 0; background: transparent; padding: 0 0 4px; cursor: pointer;
  font-size: var(--fs-body); font-weight: var(--fw-medium); color: var(--gray-500);
}
.tabs__tab[aria-selected="true"] {
  color: var(--gray-900);
  background: linear-gradient(180deg, transparent 82%, var(--yellow) 82%, var(--yellow) 100%);
}
.m-help { border-top: 1px solid var(--gray-300); padding-top: 20px; margin-top: var(--space-8); }
.m-help__title { display: block; font-size: var(--fs-body-sm); font-weight: var(--fw-semibold); }
.m-help__body { display: block; font-size: var(--fs-body-sm); line-height: 1.55; color: var(--gray-600); margin-top: 6px; max-width: 640px; }
.m-final { text-align: center; }
.m-final__submit { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: var(--space-7); }
.m-final__later { margin-top: var(--space-8); border-top: 1px solid var(--gray-300); padding-top: 22px; font-size: var(--fs-body-sm); color: var(--gray-600); }
.m-final__later strong { color: var(--gray-900); }

/* ---------- Seti alamleht ---------- */
.m-back { display: inline-block; font-size: var(--fs-body-sm); color: var(--gray-600); padding-block: 28px 20px; }
.m-setnav { display: flex; justify-content: space-between; gap: var(--space-6); padding-block: 44px; }
.m-setnav__name { font-size: var(--fs-title-2); font-weight: var(--fw-semibold); letter-spacing: -0.015em; margin-top: 8px; }

/* ---------- CTA riba ---------- */
.m-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-8); }
.m-cta__actions { display: flex; gap: 14px; flex-shrink: 0; }

/* ---------- Mobiil ---------- */
@media (max-width: 1068px) {
  .m-prices { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-9); }
  .m-price:nth-child(odd) { border-left: 0; padding-left: 0; }
}
@media (max-width: 734px) {
  .m-sec { padding-block: 56px; }
  .m-sec--tight { padding-block: 40px; }
  .m-bleed--hero { height: 320px; }
  .m-bleed--mid { height: 260px; }
  .m-bleed--sm { height: 220px; }
  .m-two, .m-cols, .m-gal, .m-gal--3, .m-fields, .m-fields--2, .m-contact, .m-prices { grid-template-columns: 1fr; }
  .m-contact { gap: var(--space-9); }
  .m-price { border-left: 0; padding-left: 0; padding-right: 0; }
  .m-price + .m-price { border-top: 1px solid var(--gray-300); padding-top: var(--space-7); margin-top: var(--space-7); }
  .m-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-7); }
  .m-stat__value { font-size: 44px; }
  .m-row, .pkg-card { grid-template-columns: 1fr; gap: 8px; }
  .m-row--qa { grid-template-columns: 1fr; }
  .m-row__link, .pkg-card__price { text-align: left; }
  .pkg-card { grid-template-columns: 28px 1fr; column-gap: 16px; }
  .pkg-card__box { grid-row: span 3; align-self: start; margin-top: 4px; }
  .m-gal img { height: 240px; }
  .m-gal--3 img { height: 200px; }
  .m-set__img { height: 240px; }
  .m-cta__inner, .m-bar__inner { flex-direction: column; align-items: flex-start; }
  .m-bar__right { width: 100%; justify-content: space-between; }
  .m-setnav { flex-direction: column; gap: var(--space-6); }
  .m-cta__actions { flex-wrap: wrap; }
}

/* ---------- Hilisemad lisandused ---------- */
.m-two--aside { grid-template-columns: 1fr 340px; }
.m-bar { position: sticky; top: var(--nav-h-lg); z-index: 40; }
@media (max-width: 734px) {
  .m-two--aside { grid-template-columns: 1fr; }
  .m-bar { position: static; }
}

/* Pealkirja skaala. 80 px display teeb pikast .dim-fraasist kolm rida kollast,
   mis lämmatab kogu lehe. 64 px hoiab markeri ühel real. */
.m-sec h1 { font-size: 64px; line-height: 1.06; letter-spacing: -0.02em; }
@media (max-width: 1068px) { .m-sec h1 { font-size: 52px; } }
@media (max-width: 734px) { .m-sec h1 { font-size: 38px; line-height: 1.1; } }

/* [hidden] peab võitma klassi display-reegli. Ilma selleta jääb broneeringu
   "Päring on saadetud" plokk nähtavale, sest .m-final__submit seab display:flex. */
[hidden] { display: none !important; }

/* Kaks tulpa peavad püsima ka siis, kui sisu on ÜKS pikk lõik. Grid andis sel juhul
   ühe tulba ja pool lehte jäi tühjaks. CSS-veerud lahendavad mõlemad juhud:
   üksik lõik jaguneb kaheks, kaks lõiku lähevad üks tulba kohta. */
.m-two { display: block; columns: 2; column-gap: var(--space-8); }
.m-two > * { break-inside: avoid; }
.m-two > *:only-child { break-inside: auto; }
.m-two > * + * { break-before: column; }
/* Kõrvalveeruga variant jääb ruudustikuks, seal on tulbad erineva laiusega. */
.m-two--aside { display: grid; columns: auto; grid-template-columns: 1fr 340px; gap: var(--space-8); }
@media (max-width: 734px) {
  .m-two { columns: 1; }
  .m-two > * + * { break-before: auto; margin-top: var(--space-5); }
  .m-two--aside { grid-template-columns: 1fr; }
}

/* ============================================================
   01.09.2026 · Avalehe hinnaveerg, kujunduste riba, faktirida
   ja vormiväljade kastid. Kari otsused ja vormide ülevaatus.
   ============================================================ */

/* Nelja viisi read: hind ja link ühes paremas veerus. */
.m-row--price { grid-template-columns: 64px 200px 1fr 210px; }
.m-row__aside { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.m-row__price {
  font-size: var(--fs-body-sm); font-weight: var(--fw-semibold); color: var(--gray-900);
  text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap;
}
.m-row__link .m-link { white-space: nowrap; }

/* Kolme kujunduse riba allkirjad. */
.m-gal figcaption { font-size: var(--fs-ui); line-height: 1.4; color: var(--gray-500); margin-top: 10px; }

/* Kontakti faktirida: üks joon üleval, kolm veergu, kaste ei ole. */
.m-facts {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-7);
  border-top: 1px solid var(--gray-300); margin-top: var(--space-9); padding-top: 22px; text-align: left;
}
.m-fact__label {
  display: block; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
  font-weight: var(--fw-semibold); color: var(--gray-500);
}
.m-fact__value { display: block; font-size: var(--fs-body); color: var(--gray-900); margin-top: 8px; }

/* ---------- Vormid: kast ümber iga sisestusvälja ----------
   Teadlik erand reeglist "kaste ei ole": reegel käib sisusektsioonide kohta.
   Sisestusväli peab välja nägema nagu väli, muidu ei tea külastaja, kuhu kirjutada. */
.uus-vorm .field__label { display: block; margin-bottom: 8px; color: var(--gray-900); font-size: var(--fs-ui); }
.uus-vorm .field__input {
  width: 100%; border: 1px solid var(--gray-500); border-radius: var(--radius-md);
  background: var(--white); padding: 14px 16px; min-height: 52px;
  font-size: var(--fs-body-sm); color: var(--gray-900); font-family: inherit;
}
.uus-vorm textarea.field__input { min-height: 132px; line-height: 1.5; }
.uus-vorm .field__input::placeholder { color: var(--gray-500); }
.uus-vorm .field__input:focus {
  outline: none; border-color: var(--gray-900); box-shadow: 0 0 0 3px rgba(255, 170, 0, 0.45);
}
.uus-vorm .m-fields { gap: var(--space-6) var(--space-7); }

/* Tunnivalik: nupud, mitte paljas tekst. */
.uus-vorm .tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.uus-vorm .tabs__tab {
  border: 1px solid var(--gray-500); border-radius: var(--radius-pill); background: var(--white);
  padding: 12px 24px; min-height: 48px; color: var(--gray-900);
  font-size: var(--fs-body-sm); font-weight: var(--fw-regular);
}
.uus-vorm .tabs__tab[aria-selected="true"] {
  border-color: var(--gray-900); background: var(--yellow); font-weight: var(--fw-semibold);
}

/* Paketirida jääb joonega nimekirjaks, aga märkeruut on suurem ja valik on näha. */
.pkg-card__box { width: 26px; height: 26px; border-color: var(--gray-500); border-radius: 5px; }
.pkg-card__box svg { width: 17px; height: 17px; }
.pkg-card.is-on { background: var(--gray-050); }

/* Lukus samm jääb loetavaks. 42% hall loeb ekraanil katkise lehena. */
.m-gated.is-locked { opacity: 1; }
.m-gated.is-locked .m-fields,
.m-gated.is-locked .tabs,
.m-gated.is-locked .kal-plokk,
.m-gated.is-locked .m-help { opacity: 0.5; }
.lukk-teade { display: none; }
.m-gated.is-locked .lukk-teade {
  display: inline-flex; align-items: center; gap: 10px; margin-top: var(--space-5);
  border: 1px dashed var(--gray-500); border-radius: var(--radius-pill); padding: 10px 20px;
  font-size: var(--fs-body-sm); color: var(--gray-600); background: var(--white);
}

/* Saatmine: hall nupp ei jää seletuseta. */
.saada-abi { font-size: var(--fs-body-sm); line-height: 1.5; color: var(--gray-600); }


/* ---------- Kalender broneeringu sammus 2 ----------
   Kuupäeva ei kirjutata käsitsi: inimene ei tea peast, mis nädalapäev mingi
   kuupäev on. Nädalad ridadena, esmaspäev ees, käesolev nädal esimesena.
   Valitud päev kannab kollast täidist. See on reegli 2 teadlik erand samamoodi
   nagu tunnivalik: marker tohib tähistada aktiivset valikut. */
.kal__abi { display: block; margin-top: 4px; font-size: var(--fs-body-sm); line-height: 1.45; color: var(--gray-600); }
.kal {
  margin-top: 14px; max-width: 520px; padding: 14px;
  border: 1px solid var(--gray-500); border-radius: var(--radius-md); background: var(--white);
}
.kal__wd, .kal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.kal__wd { margin-bottom: 6px; }
.kal__wd span {
  text-align: center; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
  font-weight: var(--fw-semibold); color: var(--gray-500);
}
.kal__d {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px;
  min-height: 46px; padding: 4px 0;
  border: 1px solid transparent; border-radius: var(--radius-md);
  background: var(--gray-050); color: var(--gray-900);
  font-family: inherit; font-size: 16px; line-height: 1.1; cursor: pointer;
}
.kal__d:hover:not(:disabled) { border-color: var(--gray-500); }
.kal__d:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(255, 170, 0, 0.45); }
.kal__d.is-off { background: transparent; color: var(--gray-400); cursor: default; }
.kal__d.is-tana { border-color: var(--gray-500); border-style: dashed; }
.kal__d.is-on {
  background: var(--yellow); border-color: var(--gray-900); border-style: solid;
  font-weight: var(--fw-semibold);
}
.kal__kuu { font-size: 10px; letter-spacing: 0.04em; color: var(--gray-600); }
.kal__d.is-on .kal__kuu { color: var(--gray-900); }
.kal__foot {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--gray-300);
}
.kal__vahemik { font-size: var(--fs-ui); color: var(--gray-600); }
.kal__more {
  border: 1px solid var(--gray-500); border-radius: var(--radius-pill); background: var(--white);
  padding: 8px 18px; color: var(--gray-900);
  font-family: inherit; font-size: var(--fs-ui); cursor: pointer;
}
.kal__more:hover { border-color: var(--gray-900); }
.kal__valitud { display: block; margin-top: 10px; font-size: var(--fs-body-sm); line-height: 1.45; color: var(--gray-600); }

@media (max-width: 734px) {
  .kal { max-width: none; padding: 10px; }
  .kal__wd, .kal__grid { gap: 4px; }
  .kal__d { min-height: 42px; font-size: 15px; }
  .kal__foot { flex-direction: column; align-items: flex-start; gap: 10px; }
  .m-row--price { grid-template-columns: 1fr; }
  .m-row__price { text-align: left; }
  .m-row__aside { align-items: flex-start; }
  .m-facts { grid-template-columns: 1fr; gap: var(--space-6); }
}
