/* ==========================================================================
   Cape Smokey — design system (zdroj: Figma "Cape Smokey Webiste", desktop 1920)

   MERITKO: navrh je kresleny na 1920 px. Rozmery se zapisuji v "design px"
   pres var(--u): calc(42 * var(--u)) = presne 42 px pri sirce 1920 a umerne
   mene na mensich obrazovkach (do 1280 px). Pod 1280 px nastupuji tabletove
   a mobilni layouty v konci souboru. Pisma maji spodni mez (clamp), aby
   zustala citelna.
   ========================================================================== */

:root {
  /* barvy — presne hodnoty z Figmy */
  --c-navy: #00177a;        /* hlavni modra (nadpisy, plochy) */
  --c-navy-2: #021675;      /* pozadi sekci, mega menu */
  --c-navy-3: #000e78;      /* lista menu, paticka */
  --c-navy-4: #0e296e;      /* text tlacitka Buy tickets */
  --c-brand: #1d2f80;       /* brand/primary (mapa) */
  --c-gold: #cc994b;        /* nadpisy skupin, akcent */
  --c-gold-2: #d8983d;      /* aktivni polozka menu */
  --c-gold-3: #c59c58;      /* dlazdice, tlacitka */
  --c-gold-4: #d8ac68;      /* socialni ikony */
  --c-red: #ca272c;
  --c-green: #008c43;       /* stav OPEN */
  --c-green-bg: #d7ecde;
  --c-mint: #d9e4db;
  --c-bg: #f0f2f6;          /* podklad stranky */
  --c-sand: #f7f4ec;
  --c-ink: #1d1d1b;
  --c-muted: #5c6475;
  --c-line-navy: #263373;   /* delici cara v mega menu */
  --c-menu-link: #d9e0eb;
  --c-white: #ffffff;

  --font: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;

  /* meritko */
  --u: min(1px, calc(100vw / 1920));
  --gut: calc(94 * var(--u));         /* okraj obsahu (Figma x=91–107 podle sekce) */
  --maxw: 1920px;
  --r: 10px;                            /* zakladni zaobleni karet a tlacitek */

  --ease: cubic-bezier(.2, .7, .2, 1);
  --shadow-bar: 0 4px 4px rgba(0, 0, 0, .30), 0 8px 12px 6px rgba(0, 0, 0, .15);   /* Figma 1:991 */
  --shadow-buy: 0 1px 3px rgba(0, 0, 0, .30), 0 4px 8px 3px rgba(0, 0, 0, .15);    /* Figma 1:1009 */
}

/* ------------------------------------------------------------------ reset */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
body { margin: 0; background: var(--c-bg); color: var(--c-navy); font-family: var(--font); font-size: 16px; line-height: 1.5; letter-spacing: .3px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
@supports (overflow: clip) { html, body { overflow-x: clip; } } /* zadny vodorovny posun stranky, sticky dal funguje */
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd { margin: 0; }
address { font-style: normal; }
table { border-collapse: collapse; }
:focus-visible { outline: 3px solid var(--c-gold-2); outline-offset: 3px; border-radius: 4px; }
[hidden] { display: none !important; }

.cs-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.cs-skip { position: absolute; left: 16px; top: -60px; z-index: 1000; background: #fff; color: var(--c-navy); padding: 10px 16px; border-radius: 6px; font-weight: 700; }
.cs-skip:focus { top: 16px; }
.cs-ico { width: 1.25em; height: 1.25em; flex: none; fill: currentColor; }

.cs-wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gut); }

/* ------------------------------------------------------------------ typografie
   Nadpis sekce = tucna cast (900, 52) + kurzivni dovetek (500, 42), vse verzalkami.
   <h2 class="cs-h">Same mountain <em>different seasons</em></h2>                    */
.cs-h {
  font-weight: 900; font-size: max(30px, calc(52 * var(--u))); line-height: calc(55 / 52);
  letter-spacing: .3px; text-transform: uppercase; color: inherit;
}
.cs-h em { font-style: italic; font-weight: 500; font-size: calc(42 / 52 * 1em); }
.cs-h--sm { font-size: max(26px, calc(42 * var(--u))); }
.cs-h--sm em { font-size: calc(35 / 42 * 1em); }
.cs-h--block em { display: block; }
.cs-eyebrow { font-weight: 700; font-size: max(11px, calc(14 * var(--u))); line-height: 1.2; letter-spacing: 2.5px; text-transform: uppercase; }
.cs-lead { font-weight: 500; font-size: max(16px, calc(20 * var(--u))); line-height: 1.3; letter-spacing: .3px; }
.cs-body { font-weight: 500; font-size: max(15px, calc(18 * var(--u))); line-height: calc(26 / 18); }
.cs-gold { color: var(--c-gold); }
.cs-white { color: #fff; }

/* ------------------------------------------------------------------ tlacitka
   Figma: obrys 3 px, zaobleni 10, text 13/700 verzalky, ls .3, vyska 51.         */
.cs-btn {
  --bc: currentColor;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: max(44px, calc(51 * var(--u))); padding: 0 max(16px, calc(15 * var(--u)));
  border: 3px solid var(--bc); border-radius: var(--r);
  font-weight: 700; font-size: max(12px, calc(13 * var(--u))); line-height: 1; letter-spacing: .3px; text-transform: uppercase;
  transition: background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
  white-space: nowrap;
}
.cs-btn .cs-ico, .cs-btn svg { width: 16px; height: 16px; }
.cs-btn--white { background: #fff; color: var(--c-navy-4); border-color: #fff; }
.cs-btn--gold { background: var(--c-gold-3); color: #fff; border-color: var(--c-gold-3); }
.cs-btn--navy { background: var(--c-navy); color: #fff; border-color: var(--c-navy); }
.cs-btn--sm { min-height: max(38px, calc(43 * var(--u))); }
.cs-on-dark .cs-btn:not(.cs-btn--white):not(.cs-btn--gold):hover { background: #fff; color: var(--c-navy); border-color: #fff; }
.cs-on-light .cs-btn:not(.cs-btn--gold):not(.cs-btn--navy):hover { background: var(--c-navy); color: #fff; border-color: var(--c-navy); }
.cs-btn--gold:hover { background: #b7873f; border-color: #b7873f; }
.cs-btn--white:hover { background: var(--c-bg); }

/* ------------------------------------------------------------------ hlavicka
   Figma 795:2108 "Header Base": lista 1635x45 (#000e78, r6) na x=57, y=96;
   logo 480x91 na x=107; Buy tickets 152x41 na x=1716; utility radek y≈66.      */
.cs-hd { position: absolute; inset: 0 0 auto 0; z-index: 50; color: #fff; }
.cs-hd::before { /* prechod pres hero (Figma "menu" fill #021675 -> transparent) */
  content: ""; position: absolute; inset: 0 0 auto 0; height: calc(688 * var(--u)); min-height: 220px;
  background: linear-gradient(180deg, #00177a 0%, rgba(14, 41, 110, 0) 100%); pointer-events: none; z-index: -1;
}
.cs-hd__bar { position: relative; max-width: var(--maxw); margin-inline: auto; height: calc(201 * var(--u)); min-height: 120px; }
.cs-hd__brand { position: absolute; left: calc(112 * var(--u)); top: calc(58 * var(--u)); z-index: 3; display: block; color: #fff; }
.cs-hd__logo { width: calc(480 * var(--u)); min-width: 220px; height: auto; filter: drop-shadow(0 4px 2px rgba(0, 0, 0, .30)) drop-shadow(0 8px 6px rgba(0, 0, 0, .15)); }
.cs-hd__tagline { position: absolute; left: calc(32 * var(--u)); top: calc(87.5 * var(--u)); white-space: nowrap; font-weight: 700; font-size: max(10px, calc(17 * var(--u))); line-height: 1.6; letter-spacing: .3px; text-transform: uppercase; }

.cs-hd__util { position: absolute; left: calc(62 * var(--u)); top: calc(57 * var(--u)); width: calc(1635 * var(--u)); height: calc(18 * var(--u)); font-weight: 600; font-size: max(10px, calc(11.5 * var(--u))); line-height: 1; letter-spacing: .3px; z-index: 2; }
.cs-hd__util > li { position: absolute; top: 0; height: 100%; display: flex; align-items: center; gap: var(--g); white-space: nowrap; }
.cs-hd__util a { display: inline-flex; align-items: center; gap: var(--g); color: #fff; }
.cs-hd__util a:hover { color: var(--c-gold-4); }
/* x offsety a mezery ikona–text presne z Figmy (relativne k liste x=62) */
.cs-hd__util > li:nth-child(1) { left: calc(882 * var(--u)); --g: calc(5 * var(--u)); }  /* Trail map: ramecek 19, text +24 */
.cs-hd__util > li:nth-child(2) { left: calc(1013 * var(--u)); --g: calc(6 * var(--u)); } /* 30°C */
.cs-hd__util > li:nth-child(3) { left: calc(1126 * var(--u)); --g: calc(8 * var(--u)); } /* Webcam */
.cs-hd__util > li:nth-child(4) { left: calc(1262 * var(--u)); --g: calc(6 * var(--u)); } /* 0” / 48Hrs */
.cs-hd__util > li:nth-child(5) { left: calc(1394 * var(--u)); --g: 0px; }                 /* SAFETY */
.cs-hd__util > li:nth-child(6) { left: calc(1480 * var(--u)); --g: calc(13 * var(--u)); } /* tecka + OPEN */
.cs-hd__util .cs-ico { width: calc(19 * var(--u)); height: calc(19 * var(--u)); min-width: 13px; min-height: 13px; }
.cs-hd__util .cs-ico[data-i="cloud"] { width: calc(20 * var(--u)); height: calc(20 * var(--u)); margin: 0 calc(-1.5 * var(--u)); }
.cs-hd__util .cs-ico[data-i="videocam"] { width: calc(21 * var(--u)); height: calc(21 * var(--u)); margin: 0 calc(-2.5 * var(--u)); }
.cs-hd__util .cs-ico[data-i="ac_unit"] { width: calc(14.4 * var(--u)); height: calc(14.4 * var(--u)); margin: 0 calc(-1.2 * var(--u)); }
.cs-hd__util li:nth-child(5) a { text-transform: uppercase; }
.cs-hd__util li.mk-hd__status { gap: var(--g); color: #5fe08f; text-transform: uppercase; font-weight: 700; } /* Figma #008c43 ma na modre kontrast 2.6:1 — svetlejsi odstin te zelene (WCAG AA) */
.mk-hd__status strong { font-weight: 700; }
.mk-hd__dot { position: relative; width: 18px; height: 18px; border-radius: 50%; background: var(--c-green-bg); }
.mk-hd__dot::after { content: ""; position: absolute; inset: 4.5px; border-radius: 50%; background: var(--c-green); }
.cs-hd__util li.mk-hd__status--closed { color: #ffb4b4; }
.mk-hd__status--closed .mk-hd__dot { background: #ffd9d9; }
.mk-hd__status--closed .mk-hd__dot::after { background: var(--c-red); }

.cs-hd__nav { position: absolute; left: calc(62 * var(--u)); top: calc(87 * var(--u)); width: calc(1635 * var(--u)); height: max(40px, calc(45 * var(--u))); background: var(--c-navy-3); border-radius: 6px; box-shadow: var(--shadow-bar); z-index: 1; }
.cs-hd__nav > ul { display: flex; justify-content: flex-end; align-items: center; height: 100%; gap: calc(49 * var(--u)); padding-right: calc(30 * var(--u)); } /* Figma: texty 1114/1227/1334/1504, konec 1667 */
.cs-hd__item { display: flex; align-items: center; height: 100%; }
.cs-hd__link { display: flex; align-items: center; height: 100%; font-weight: 700; font-size: max(11px, calc(12.975 * var(--u))); letter-spacing: .32px; text-transform: uppercase; color: #fff; transition: color .15s; }
.cs-hd__link:hover, .cs-hd__item.is-open .cs-hd__link { color: var(--c-gold-2); }
body[data-nav="summer"] .cs-hd__item[data-key="summer"] .cs-hd__link,
body[data-nav="winter"] .cs-hd__item[data-key="winter"] .cs-hd__link,
body[data-nav="plan"] .cs-hd__item[data-key="plan"] .cs-hd__link,
body[data-nav="welcome"] .cs-hd__item[data-key="welcome"] .cs-hd__link { color: var(--c-gold-2); }
.cs-hd__more { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin-right: -22px; color: #fff; opacity: 0; border-radius: 4px; } /* nezabira misto v rozvrzeni (Figma rozestupy 50 px) */
.cs-hd__more:focus-visible, .cs-hd__item.is-open .cs-hd__more { opacity: 1; }
.cs-hd__caret { width: 18px; height: 18px; transition: transform .2s; }
.cs-hd__item.is-open .cs-hd__caret { transform: rotate(180deg); }

.cs-hd__buy { position: absolute; left: calc(1721 * var(--u)); top: calc(87 * var(--u)); box-shadow: var(--shadow-buy); width: max(120px, calc(152 * var(--u))); height: max(36px, calc(41 * var(--u))); display: flex; align-items: center; justify-content: center; background: #fff; color: var(--c-navy-4); border: 1px solid #fff; border-radius: 7px; font-weight: 700; font-size: max(11px, calc(13 * var(--u))); letter-spacing: .3px; text-transform: uppercase; z-index: 1; transition: background-color .2s; }
.cs-hd__buy:hover { background: var(--c-gold-3); color: #fff; border-color: var(--c-gold-3); }
.cs-hd__burger { display: none; }

/* mega menu — Figma 310:4500: panel 1860 sirky, #021675, sloupce vpravo, gap 90 */
.cs-mega { position: absolute; left: calc(-32 * var(--u)); top: 100%; width: calc(1860 * var(--u)); background: var(--c-navy-2); box-shadow: 0 24px 40px rgba(0, 10, 60, .35); z-index: -1; }
/* Figma: Summer 310:4500 a Plan 310:4441 = 1860 od x=30; Winter 310:4389 a Welcome 310:4469 = sirka listy 1635 */
#mega-winter, #mega-welcome { left: 0; width: calc(1635 * var(--u)); }
#mega-summer .cs-mega__inner { padding-top: calc(61 * var(--u)); }
#mega-winter .cs-mega__inner { padding-top: calc(66 * var(--u)); }
.cs-mega__inner { display: flex; justify-content: flex-end; gap: calc(90 * var(--u)); padding: calc(65 * var(--u)) calc(120 * var(--u)) calc(28 * var(--u)) calc(40 * var(--u)); }
.cs-mega__col { display: flex; flex-direction: column; gap: 28px; min-width: 100px; } /* Figma: spacer 8 + 2x gap 10 */
.cs-mega__title { display: block; font-weight: 700; font-size: max(10px, calc(10 * var(--u))); line-height: 1.22; letter-spacing: 1.5px; text-transform: uppercase; color: var(--c-gold); padding-bottom: 10px; margin-bottom: 10px; position: relative; }
.cs-mega__title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100px; height: 1px; background: var(--c-line-navy); }
a.cs-mega__title:hover { color: #fff; }
.cs-mega ul { display: flex; flex-direction: column; gap: 10px; line-height: 14px; }
.cs-mega li { line-height: 14px; }
.cs-mega li a { display: block; }
/* pevne vysky panelu z Figmy */
#mega-summer .cs-mega__inner { min-height: calc(368 * var(--u)); }
#mega-winter .cs-mega__inner { min-height: calc(427 * var(--u)); }
#mega-plan .cs-mega__inner { min-height: calc(236 * var(--u)); }
#mega-welcome .cs-mega__inner { min-height: calc(451 * var(--u)); }
.cs-mega li a { font-weight: 500; font-size: max(11px, calc(11.5 * var(--u))); line-height: 14px; text-transform: uppercase; color: var(--c-menu-link); letter-spacing: 0; }
.cs-mega li a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* mobilni menu (<= 1279 px): panel zprava + drill-down sekci, viz initDrawer v cs.js */
.cs-drawer { position: fixed; inset: 0; z-index: 100; color: #fff; }
.cs-drawer__scrim { position: absolute; inset: 0; background: rgba(0, 8, 48, .55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: opacity .32s var(--ease); }
.cs-drawer__panel { position: absolute; inset: 0 0 0 auto; width: min(100%, 440px); display: flex; flex-direction: column; overflow: hidden;
  background: radial-gradient(120% 60% at 100% 0%, #0a2a9e 0%, rgba(10, 42, 158, 0) 60%), var(--c-navy-2);
  box-shadow: -24px 0 48px rgba(0, 8, 48, .35); transform: translateX(100%); transition: transform .32s var(--ease); }
.cs-drawer.is-open .cs-drawer__scrim { opacity: 1; }
.cs-drawer.is-open .cs-drawer__panel { transform: none; }
.cs-drawer__head { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: max(14px, env(safe-area-inset-top)) 20px 14px; }
.cs-drawer__logo { display: block; width: 150px; height: auto; }
.cs-drawer__close { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; transition: background-color .2s; }
.cs-drawer__close:hover { background: rgba(255, 255, 255, .2); }
.cs-drawer__close .cs-ico { width: 22px; height: 22px; }
.cs-drawer__body { position: relative; flex: 1; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.cs-drawer__view { padding: 4px 20px 28px; transition: transform .32s var(--ease), opacity .24s; }
.cs-drawer__view:not(.cs-drawer__view--root) { position: absolute; inset: 0 0 auto 0; min-height: 100%; transform: translateX(100%); opacity: 0; }
.cs-drawer__view.is-active { transform: none; opacity: 1; }
.cs-drawer.is-sub .cs-drawer__view--root { transform: translateX(-30%); opacity: 0; visibility: hidden; transition: transform .32s var(--ease), opacity .24s, visibility 0s .32s; }

.cs-drawer__status { display: flex; gap: 8px; margin: 0 -20px 20px; padding: 0 20px; overflow-x: auto; scrollbar-width: none; white-space: nowrap; font-size: 12px; font-weight: 700; letter-spacing: .3px; text-transform: uppercase; }
.cs-drawer__status > * { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 12px; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); }
.cs-drawer__status .cs-ico { width: 16px; height: 16px; }
.cs-drawer__open { color: #5fe08f; }
.cs-drawer__open .mk-hd__dot { width: 14px; height: 14px; }
.cs-drawer__open .mk-hd__dot::after { inset: 3.5px; }
.cs-drawer__open.mk-hd__status--closed { color: #ffb4b4; }
.cs-drawer__wx { color: #fff; }

.cs-drawer__main { display: grid; gap: 10px; }
.cs-drawer__item { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 12px; width: 100%; min-height: 76px; padding: 14px 16px 14px 18px; text-align: left; color: #fff;
  border-radius: 14px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); transition: background-color .2s, border-color .2s; }
.cs-drawer__item:hover, .cs-drawer__item:focus-visible { background: rgba(255, 255, 255, .12); }
.cs-drawer__label { font-weight: 800; font-size: 20px; line-height: 1.15; letter-spacing: .3px; text-transform: uppercase; }
.cs-drawer__hint { grid-column: 1; margin-top: 4px; font-weight: 500; font-size: 12px; line-height: 1.35; color: var(--c-menu-link); opacity: .8; }
.cs-drawer__go { grid-row: 1 / span 2; grid-column: 2; width: 36px; height: 36px; padding: 7px; border-radius: 50%; background: rgba(255, 255, 255, .1); transition: transform .2s var(--ease), background-color .2s; }
.cs-drawer__item:hover .cs-drawer__go { transform: translateX(3px); background: var(--c-gold-2); }
.cs-drawer__main li.is-current .cs-drawer__item { border-color: rgba(216, 152, 61, .7); }
.cs-drawer__main li.is-current .cs-drawer__label { color: var(--c-gold-2); }

.cs-drawer__title { font-weight: 700; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--c-gold); margin-bottom: 6px; }
.cs-drawer__title a { color: inherit; }
.cs-drawer__title--quick { margin: 28px 0 10px; }
.cs-drawer__quick { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.cs-drawer__quick a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 76px; padding: 10px 6px; border-radius: 12px; background: rgba(255, 255, 255, .06); color: #fff; font-weight: 600; font-size: 12px; text-align: center; transition: background-color .2s; }
.cs-drawer__quick a:hover { background: rgba(255, 255, 255, .14); }
.cs-drawer__quick .cs-ico { width: 24px; height: 24px; color: var(--c-gold-4); }
.cs-drawer__contact { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--c-line-navy); font-size: 14px; font-weight: 600; }
.cs-drawer__contact a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--c-menu-link); }
.cs-drawer__contact a:hover { color: #fff; }
.cs-drawer__contact .cs-ico { width: 18px; height: 18px; color: var(--c-gold-4); }
.cs-drawer__social { display: flex; gap: 6px; margin-left: auto; }
.cs-drawer__social a { justify-content: center; width: 44px; }
.cs-drawer__social svg { width: 22px; height: 22px; }

.cs-drawer__back { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px 0 8px; margin-bottom: 14px; border-radius: 999px; background: rgba(255, 255, 255, .08); color: #fff; font-weight: 700; font-size: 12px; letter-spacing: .5px; text-transform: uppercase; }
.cs-drawer__back .cs-ico { width: 18px; height: 18px; }
.cs-drawer__vh { font-weight: 900; font-size: 30px; line-height: 1.1; text-transform: uppercase; margin-bottom: 14px; }
.cs-drawer__overview { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 0 18px; margin-bottom: 22px; border-radius: 12px; background: var(--c-gold-3); color: #fff; font-weight: 700; font-size: 13px; letter-spacing: .3px; text-transform: uppercase; }
.cs-drawer__overview .cs-ico { width: 20px; height: 20px; }
.cs-drawer__group { margin-bottom: 18px; padding: 14px 16px 6px; border-radius: 14px; background: rgba(255, 255, 255, .05); }
.cs-drawer__group li + li a { border-top: 1px solid rgba(255, 255, 255, .07); }
.cs-drawer__group li a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; font-weight: 500; font-size: 15px; color: var(--c-menu-link); }
.cs-drawer__group li a:hover { color: #fff; }
.cs-drawer__chev { width: 18px; height: 18px; opacity: .5; flex: none; }

.cs-drawer__foot { flex: none; padding: 12px 20px max(14px, env(safe-area-inset-bottom)); background: linear-gradient(180deg, rgba(2, 22, 117, 0), var(--c-navy-2) 30%); }
.cs-drawer__buy { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 54px; border-radius: 12px; background: #fff; color: var(--c-navy-4); font-weight: 800; font-size: 14px; letter-spacing: .5px; text-transform: uppercase; box-shadow: var(--shadow-buy); transition: background-color .2s, color .2s; }
.cs-drawer__buy:hover { background: var(--c-gold-3); color: #fff; }
.cs-drawer__buy .cs-ico { width: 22px; height: 22px; }
.cs-drawer a:focus-visible, .cs-drawer button:focus-visible { outline: 2px solid var(--c-gold-2); outline-offset: 2px; }
html.cs-drawer-open { overflow: hidden; }

/* ------------------------------------------------------------------ paticka
   Figma 322:242: 1920x536, #000e78; logo 421x210 na x=66,y=173; 4 sloupce od x=542 po 300 px. */
.cs-ft { background: var(--c-navy-3); color: #fff; }
.cs-ft__inner { position: relative; max-width: var(--maxw); margin-inline: auto; min-height: calc(536 * var(--u)); padding: calc(173 * var(--u)) calc(66 * var(--u)) calc(60 * var(--u)); display: grid; grid-template-columns: calc(421 * var(--u)) 1fr; column-gap: calc(55 * var(--u)); align-items: start; }
.cs-ft__logo { display: block; color: #fff; }
.cs-ft__logo svg { width: 100%; height: auto; }
.cs-ft__cols { display: grid; grid-template-columns: minmax(0, calc(300 * var(--u))) minmax(0, calc(301 * var(--u))) minmax(0, calc(301 * var(--u))) minmax(0, 1fr); /* Figma: 542 / 842 / 1143 / 1444 */ min-width: 0; font-size: max(14px, calc(16 * var(--u))); line-height: max(26px, calc(30 * var(--u))); letter-spacing: .3px; }
.cs-ft__col { padding-right: 12px; min-width: 0; overflow-wrap: anywhere; }
.cs-ft__addr strong { font-weight: 700; }
.cs-ft__h { font-weight: 400; font-size: max(16px, calc(20 * var(--u))); line-height: 1.2; text-transform: uppercase; letter-spacing: .3px; margin-bottom: max(14px, calc(20 * var(--u))); }
.cs-ft__h--social { margin: max(10px, calc(16 * var(--u))) 0 max(14px, calc(20 * var(--u))); }
.cs-ft a:hover { color: var(--c-gold-4); }
.cs-ft__social { display: flex; gap: 4px; }
.cs-ft__social a { display: inline-flex; color: var(--c-gold-4); width: 47px; height: 47px; align-items: center; justify-content: center; } /* Figma: ramecky 47 na x 1444 / 1495, ikona 36 */
.cs-ft__social svg { width: 47px; height: 47px; } /* SVG = ramecek 47 z Figmy, ikona v nem 36 */
.cs-ft__social a:hover { color: #fff; }
.cs-ft address br { display: block; }

/* ------------------------------------------------------------------ hero (spolecny zaklad) */
.cs-hero { position: relative; isolation: isolate; color: #fff; overflow: hidden; }
.cs-hero__media { position: absolute; inset: 0; z-index: -2; }
.cs-hero__media img, .cs-hero__media video { width: 100%; height: 100%; object-fit: cover; }
.cs-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ------------------------------------------------------------------ karty / slider */
.cs-rail { display: flex; gap: var(--gap, calc(28 * var(--u))); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.cs-rail::-webkit-scrollbar { display: none; }
.cs-rail > * { scroll-snap-align: start; flex: none; }
.cs-dots { display: flex; justify-content: center; align-items: center; gap: 8px; }
.cs-dots button { width: 11px; height: 11px; border-radius: 50%; border: 1px solid currentColor; padding: 0; transition: width .25s var(--ease), background-color .2s; }
.cs-dots button[aria-current="true"] { background: currentColor; }

/* ------------------------------------------------------------------ FAQ (details/summary) */
.cs-faq__item { border-bottom: 1px solid rgba(255, 255, 255, .15); }
.cs-faq__item summary { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: max(16px, calc(20 * var(--u))) 0; cursor: pointer; list-style: none; font-weight: 700; font-size: max(17px, calc(26 * var(--u))); line-height: 1.2; text-transform: uppercase; color: var(--c-gold-3); }
.cs-faq__item summary::-webkit-details-marker { display: none; }
.cs-faq__pm { flex: none; width: 26px; height: 26px; border-radius: 50%; background: rgba(255, 255, 255, .25); display: grid; place-items: center; color: #fff; }
.cs-faq__pm .cs-ico { width: 18px; height: 18px; }
.cs-faq__pm .cs-ico--minus { display: none; }
.cs-faq__item[open] .cs-faq__pm .cs-ico--plus { display: none; }
.cs-faq__item[open] .cs-faq__pm .cs-ico--minus { display: block; }
.cs-faq__a { padding: 0 0 max(18px, calc(24 * var(--u))); max-width: 820px; font-weight: 500; font-size: max(15px, calc(16 * var(--u))); line-height: 1.45; color: var(--c-gold-3); }

/* ------------------------------------------------------------------ cenove tabulky */
.cs-table { width: 100%; color: #fff; background: var(--c-navy); border-radius: 6px; overflow: hidden; }
.cs-table th, .cs-table td { padding: max(10px, calc(14 * var(--u))) max(10px, calc(16 * var(--u))); text-align: center; font-size: max(13px, calc(16 * var(--u))); }
.cs-table th { font-weight: 600; }
.cs-table td { font-weight: 700; border-top: 1px solid rgba(255, 255, 255, .25); }
.cs-table td:first-child, .cs-table th:first-child { text-align: left; font-weight: 500; }
.cs-paycards { display: none; }

/* ------------------------------------------------------------------ utility */
.cs-center { text-align: center; }
.cs-upper { text-transform: uppercase; }

/* ==========================================================================
   RESPONZIVITA
   ========================================================================== */
@media (max-width: 1279px) { /* hlavicka: burger az do 1279 (mezi 1024–1279 se logo a menu prekryvaly) */
  html { scroll-padding-top: 76px; }
  .cs-hd { position: fixed; transition: transform .3s var(--ease); }
  .cs-hd::before { transition: opacity .3s; }
  .cs-hd::after { /* pozadi po odscrollovani */
    content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .3s;
    background: rgba(2, 22, 117, .86); -webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px);
    box-shadow: 0 6px 24px rgba(0, 8, 48, .25); pointer-events: none;
  }
  .cs-hd.is-scrolled::before { opacity: 0; }
  .cs-hd.is-scrolled::after { opacity: 1; }
  .cs-hd.is-hidden { transform: translateY(-100%); }
  html.cs-drawer-open .cs-hd { transform: none; }
  .cs-hd__bar { height: 88px; min-height: 0; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; padding-top: env(safe-area-inset-top); transition: height .3s var(--ease); }
  .cs-hd.is-scrolled .cs-hd__bar { height: 64px; }
  .cs-hd__brand { position: static; }
  .cs-hd__logo { width: 190px; min-width: 0; transition: width .3s var(--ease); }
  .cs-hd.is-scrolled .cs-hd__logo { width: 150px; filter: none; }
  .cs-hd__tagline { display: none; }
  .cs-hd__nav { display: none; }
  .cs-hd__buy { position: static; width: auto; height: 40px; padding: 0 16px; margin-left: auto; margin-right: 12px; font-size: 12px; border-radius: 999px; }
  .cs-hd__burger { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; position: relative; border-radius: 50%; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .22); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: background-color .2s; }
  .cs-hd__burger:hover { background: rgba(255, 255, 255, .24); }
  .cs-hd__burger-lines, .cs-hd__burger-lines::before, .cs-hd__burger-lines::after { display: block; width: 18px; height: 2px; background: #fff; border-radius: 2px; }
  .cs-hd__burger-lines { position: relative; }
  .cs-hd__burger-lines::before, .cs-hd__burger-lines::after { content: ""; position: absolute; left: 0; }
  .cs-hd__burger-lines::before { top: -6px; }
  .cs-hd__burger-lines::after { top: 6px; width: 12px; }
}
@media (min-width: 1280px) { .cs-drawer { display: none !important; } }
/* ==========================================================================
   (dalsi)
   ========================================================================== */
@media (max-width: 1279px) {
  :root { --u: calc(1280px / 1920); --gut: 40px; }
  .cs-hd__util { display: none; }
  .cs-ft__inner { grid-template-columns: 1fr; row-gap: 48px; padding: 72px 40px; }
  .cs-ft__logo { width: 300px; }
  .cs-ft__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; }
}
@media (max-width: 767px) {
  :root { --u: calc(1080px / 1920); --gut: 20px; }
  body { font-size: 15px; }
  .cs-hd__bar { padding: 0 16px; }
  .cs-hd__logo { width: 150px; }
  .cs-hd.is-scrolled .cs-hd__logo { width: 132px; }
  .cs-hd__buy { height: 38px; padding: 0 14px; font-size: 11px; margin-right: 8px; }
  .cs-ft__inner { padding: 56px 20px 40px; }
  .cs-ft__logo { width: 220px; }
  .cs-ft__cols { grid-template-columns: 1fr; }
  /* rozbalovaci bloky (cs.js footerCollapse) */
  .cs-ft__inner { row-gap: 36px; }
  .cs-ft__addr { margin-bottom: 20px; }
  .cs-ft__cols { row-gap: 0; }
  .cs-ft__col { padding-right: 0; }
  .cs-ft__h.is-tog { margin: 0; border-bottom: 1px solid rgba(255, 255, 255, .16); }
  .cs-ft__addr + .cs-ft__col .cs-ft__h.is-tog { border-top: 1px solid rgba(255, 255, 255, .16); }
  .cs-ft__tog { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 58px; color: #fff; font: inherit; text-transform: inherit; letter-spacing: inherit; text-align: left; }
  .cs-ft__tog:focus-visible { outline: 2px solid var(--c-gold-2); outline-offset: 2px; }
  .cs-ft__chev { position: relative; flex: none; width: 32px; height: 32px; border-radius: 50%; background: rgba(255, 255, 255, .1); transition: transform .25s var(--ease), background-color .2s; }
  .cs-ft__chev::before { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -6px 0 0 -4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
  .cs-ft__tog[aria-expanded="true"] { color: var(--c-gold-4); }
  .cs-ft__tog[aria-expanded="true"] .cs-ft__chev { transform: rotate(180deg); background: var(--c-gold-4); color: var(--c-navy-3); }
  .cs-ft__h.is-tog + ul { padding: 10px 0 14px; line-height: 1.5; border-bottom: 1px solid rgba(255, 255, 255, .16); }
  .cs-ft__h.is-tog + ul a { display: inline-block; padding: 5px 0; }
  .cs-ft__h.is-tog + ul:not([hidden]) { animation: cs-ft-in .25s var(--ease); }
  @keyframes cs-ft-in { from { opacity: 0; transform: translateY(-4px); } }
  .cs-ft__h--social { display: none; } /* ikony zustavaji videt pod bloky, nadpis navic */
  .cs-ft__social { padding: 24px 0 0; }
  .cs-faq__item summary { font-size: 16px; }
  .cs-table--cards { display: none; }
  .cs-paycards { display: grid; gap: 12px; }
}

/* ==========================================================================
   KOMPONENTY (sdilene sekce — src/components.mjs)
   ========================================================================== */

/* pilulka se sipkou — Figma Group 123: obrys 3 px, 231x43, text 15/600 verzalky, sipka 16 px */
.cs-pill { display: inline-flex; align-items: center; justify-content: flex-end; gap: calc(14 * var(--u)); min-width: calc(231 * var(--u)); height: max(38px, calc(43 * var(--u))); padding: 0 max(12px, calc(14 * var(--u))) 0 max(14px, calc(20 * var(--u))); border: 3px solid currentColor; border-radius: var(--r); font-weight: 600; font-size: max(12px, calc(15 * var(--u))); letter-spacing: 0; text-transform: uppercase; white-space: nowrap; color: #fff; transition: background-color .2s, color .2s; }
.cs-pill svg { width: max(13px, calc(16 * var(--u))); height: auto; flex: none; }
.cs-pill:hover { background: #fff; color: var(--c-navy); }
.cs-pill--navy { color: var(--c-navy); min-width: calc(188 * var(--u)); }
.cs-pill--navy:hover { background: var(--c-navy); color: #fff; }
.cs-pill--plain { min-width: calc(205 * var(--u)); }
.cs-btn__arr { width: 16px; height: 16px; }
.cs-h__plain { font-style: normal !important; }

/* DISCOVER ACTIVITIES — Figma 811:29065: #00177a, 1128 vysoka, karty uprostred vetsi */
.cs-discover { position: relative; z-index: 1; background: var(--c-navy); color: #fff; padding: calc(114 * var(--u)) 0 calc(150 * var(--u)); box-shadow: 0 4px 28px rgba(0, 0, 0, .25); }
.cs-discover__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 32px; padding-left: calc(96 * var(--u)); padding-right: calc(102 * var(--u)); }
.cs-discover__h { font-size: max(28px, calc(52 * var(--u))); line-height: calc(56 / 52); }
.cs-discover__h em { font-size: calc(42 / 52 * 1em); font-weight: 500; }
.cs-discover__btns { display: flex; flex-direction: column; gap: calc(19 * var(--u)); padding-top: calc(8 * var(--u)); }
.cs-discover__rail { --gap: calc(29 * var(--u)); justify-content: center; align-items: center; padding: calc(60 * var(--u)) var(--gut) 0; }
.cs-acard { position: relative; display: block; border-radius: 8px; overflow: hidden; isolation: isolate; color: #fff; transition: transform .35s var(--ease); }
.cs-acard img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.cs-acard::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 56.5px rgba(0, 0, 0, .40); pointer-events: none; }
.cs-acard:hover img { transform: scale(1.04); }
.cs-acard__label { position: absolute; left: 0; right: 0; bottom: calc(24 * var(--u)); z-index: 1; text-align: center; font-weight: 700; font-size: max(13px, calc(16 * var(--u))); line-height: 1.22; text-transform: uppercase; text-shadow: 0 1px 6px rgba(0, 0, 0, .35); }
.cs-acard--1 { width: calc(284 * var(--u)); height: calc(601 * var(--u)); }
.cs-acard--2 { width: calc(292 * var(--u)); height: calc(617 * var(--u)); }
.cs-acard--3 { width: calc(323 * var(--u)); height: calc(681 * var(--u)); }
.cs-acard--4 { width: calc(293 * var(--u)); height: calc(618 * var(--u)); }
.cs-acard--5, .cs-acard--more { width: calc(286 * var(--u)); height: calc(601 * var(--u)); }
.cs-acard--3 .cs-acard__label { bottom: calc(26 * var(--u)); }
.cs-discover__eyebrow { color: #fff; margin-bottom: 8px; }
.cs-discover__sep { font-weight: 500; font-style: italic; }
/* gold = nadpis + tlacitka #cc994a (Summer 351:9908); eyebrow-gold = zlaty eyebrow (Winter 811:23574) */
.cs-discover--gold .cs-discover__h, .cs-discover--gold .cs-pill { color: var(--c-gold); }
.cs-discover--gold .cs-pill:hover { background: var(--c-gold); color: #fff; }
.cs-discover--eyebrow-gold .cs-discover__eyebrow { color: var(--c-gold); }
.cs-discover__nav { display: flex; justify-content: center; gap: calc(40 * var(--u)); margin-top: calc(41 * var(--u)); padding-left: calc(72 * var(--u)); }
.cs-discover__arr { display: inline-grid; place-items: center; width: max(32px, calc(32 * var(--u))); height: max(32px, calc(32 * var(--u))); color: #fff; border-radius: 6px; }
.cs-discover__arr .cs-ico { width: 100%; height: 100%; }
.cs-discover__arr:disabled { cursor: default; }
.cs-discover__arr:not(:disabled):hover { color: var(--c-gold); }

/* variant "season" — Figma Summer 322:237 / Winter 376:1294 / passes 811:34310: sekce 1002 px, #000e78,
   hlavicka 198 px (eyebrow 16/700 ls 3.62, nadpis 42), karty na x pozicich z Figmy (--w/--h/--ml/--lb v design px). */
.cs-discover--season { --d-pt: 32; --d-bt: 47; --d-br: 77; background: var(--c-navy-3); padding: 0 0 calc(50 * var(--u)); }
.cs-discover--season .cs-discover__head { position: relative; display: block; max-width: none; height: calc(198 * var(--u)); padding: calc(var(--d-pt) * var(--u)) 0 0 calc(158 * var(--u)); }
.cs-discover--season .cs-discover__eyebrow { margin: 0; font-weight: 700; font-size: max(11px, calc(16 * var(--u))); line-height: calc(19.5 / 16); letter-spacing: max(2px, calc(3.62 * var(--u))); }
.cs-discover--season .cs-discover__h { font-size: max(24px, calc(42 * var(--u))); line-height: calc(56 / 42); }
.cs-discover--season .cs-discover__h em { font-size: 1em; }
.cs-discover--season .cs-discover__btns { position: absolute; top: calc(var(--d-bt) * var(--u)); right: calc(var(--d-br) * var(--u)); padding: 0; gap: calc(17 * var(--u)); }
.cs-discover--season .cs-discover__rail { --gap: 0px; justify-content: flex-start; align-items: center; padding: 0; }
.cs-discover--season .cs-acard { width: calc(var(--w) * var(--u)); height: calc(var(--h) * var(--u)); margin-left: calc(var(--ml) * var(--u)); transform: translateY(calc(var(--dy, 0) * var(--u))); }
.cs-discover--season .cs-acard--1 { --w: 288; --h: 618; --ml: 158; --lb: 18; }
.cs-discover--season .cs-acard--2 { --w: 306; --h: 648; --ml: 35; --lb: 19; }
.cs-discover--season .cs-acard--3 { --w: 323; --h: 681; --ml: 46; --lb: 21; }
.cs-discover--season .cs-acard--4 { --w: 313; --h: 660; --ml: 48; --lb: 20; }
.cs-discover--season .cs-acard--5 { --w: 284; --h: 599; --ml: 42; --lb: 11; }
.cs-discover--season .cs-acard--more { --w: 284; --h: 599; --ml: 42; --lb: 11; }
.cs-discover--season .cs-acard__label { bottom: calc(var(--lb, 19) * var(--u)); }
@media (max-width: 1279px) {
  .cs-discover--season .cs-discover__head { height: auto; padding: 48px var(--gut) 0; }
  .cs-discover--season .cs-discover__btns { position: static; flex-direction: row; flex-wrap: wrap; margin-top: 20px; }
  .cs-discover--season .cs-discover__rail { --gap: 16px; padding: 32px var(--gut) 0; scroll-padding-inline: var(--gut); }
  .cs-discover--season .cs-acard { margin-left: 0; transform: none; }
  .cs-discover--season .cs-acard__label { bottom: 22px; }
  .cs-discover__nav { padding-left: 0; margin-top: 24px; }
  .cs-discover--season { padding-bottom: 48px; }
}

/* FAQ sekce — Figma faq-section 900:20308 (Summer, zlata), 900:20348 / 811:28642 (bila):
   #00177a, pad 120/160, nadpis 48/900 + 36/400 kurziva, label 12/800, seznam 1600 px,
   radek 80 px (24 + ikona 32 + 24), otazka 26/700, odpoved 18/400 lh 24 max 804, oddelovac bila 8 %. */
.cs-faq { position: relative; background: var(--c-navy); color: var(--c-gold-3); letter-spacing: 0; padding: calc(120 * var(--u)) 0 calc(110 * var(--u)); box-shadow: 0 4px 4px rgba(0, 0, 0, .25); }
.cs-faq--white { color: #fff; }
.cs-faq__wrap { max-width: calc(1600 * var(--u) + 2 * var(--gut)); }
.cs-faq__h { text-align: center; color: inherit; font-weight: 900; font-size: max(32px, calc(48 * var(--u))); line-height: calc(55.2 / 48); }
.cs-faq__h em { display: block; margin-top: calc(8 * var(--u)); font-weight: 400; font-size: calc(36 / 48 * 1em); line-height: calc(43.9 / 36); }
.cs-faq__eyebrow { text-align: center; margin-top: calc(24 * var(--u)); font-weight: 800; font-size: max(10px, calc(12 * var(--u))); line-height: 1.22; letter-spacing: 0; text-transform: uppercase; }
.cs-faq__list { margin: calc(64 * var(--u)) auto 0; max-width: calc(1600 * var(--u)); }
.cs-faq .cs-faq__item { border-bottom: 1px solid rgba(255, 255, 255, .08); }
.cs-faq .cs-faq__item summary { min-height: calc(80 * var(--u)); padding: calc(24 * var(--u)) 0; color: inherit; font-size: max(17px, calc(26 * var(--u))); line-height: 1; }
.cs-faq .cs-faq__pm { width: max(26px, calc(32 * var(--u))); height: max(26px, calc(32 * var(--u))); background: rgba(255, 255, 255, .3); color: inherit; }
.cs-faq .cs-faq__pm .cs-ico { width: max(16px, calc(20 * var(--u))); height: max(16px, calc(20 * var(--u))); }
.cs-faq .cs-faq__item summary:hover .cs-faq__pm { background: rgba(255, 255, 255, .45); }
.cs-faq .cs-faq__a { max-width: max(320px, calc(804 * var(--u))); padding: calc(12 * var(--u)) 0 calc(24 * var(--u)); color: inherit; font-weight: 400; font-size: max(15px, calc(18 * var(--u))); line-height: calc(24 / 18); }
.cs-faq .cs-faq__a a { text-decoration: underline; text-underline-offset: 2px; }
.cs-faq__more { display: flex; flex-direction: column; align-items: center; gap: calc(28 * var(--u)); width: max-content; margin: calc(20 * var(--u)) auto 0; color: #fff; }
.cs-faq__more--icon { margin-top: calc(73 * var(--u)); }
.cs-faq__more-t { font-weight: 500; font-size: max(13px, calc(16 * var(--u))); line-height: calc(19.5 / 16); text-transform: uppercase; color: var(--c-sand); }
.cs-faq__more-ico { display: grid; place-items: center; width: max(40px, calc(48 * var(--u))); height: max(40px, calc(48 * var(--u))); border-radius: 16px; background: rgba(255, 255, 255, .3); color: #fff; transition: background-color .2s; }
.cs-faq__more-ico .cs-ico { width: max(22px, calc(30 * var(--u))); height: max(22px, calc(30 * var(--u))); }
.cs-faq__more:hover .cs-faq__more-ico { background: rgba(255, 255, 255, .45); }
.cs-faq__q { text-align: center; color: var(--c-sand); font-weight: 500; font-size: max(14px, calc(16 * var(--u))); line-height: calc(19.5 / 16); margin-top: calc(64 * var(--u)); }
.cs-faq__q--more { margin-top: calc(40 * var(--u)); }
.cs-faq__cta { display: flex; justify-content: center; width: calc(396 * var(--u)); min-width: max-content; min-height: max(52px, calc(76 * var(--u))); margin: calc(24 * var(--u)) auto 0; border: 0; border-radius: 7px; font-weight: 800; font-size: max(13px, calc(16 * var(--u))); letter-spacing: 0; }

@media (max-width: 1023px) {
  .cs-discover__head { flex-direction: column; padding-inline: var(--gut); }
  .cs-discover__btns { flex-direction: row; flex-wrap: wrap; }
  .cs-discover__rail { justify-content: flex-start; padding-inline: var(--gut); scroll-padding-inline: var(--gut); }
  .cs-acard { width: 240px !important; height: 500px !important; }
}
@media (max-width: 767px) {
  .cs-acard { width: 68vw !important; height: 120vw !important; max-height: 520px; }
  .cs-pill { min-width: 0; }
}

/* SAME MOUNTAIN DIFFERENT SEASONS — sdilena sekce (components.mjs: sameMountain), Figma HP 958 px */
.hp-seasons { position: relative; z-index: 2; background: var(--c-navy-2); color: #fff; padding: calc(78 * var(--u)) 0 calc(76 * var(--u)); box-shadow: 0 4px 39px rgba(0, 0, 0, .25); }
.hp-seasons .cs-wrap { padding-inline: calc(91 * var(--u)); }
.hp-seasons__h em { font-size: calc(42 / 52 * 1em); }
.hp-seasons__rail { --gap: calc(32 * var(--u)); margin-top: calc(20 * var(--u)); padding-inline: calc(94 * var(--u)); }
.hp-season { position: relative; display: block; width: calc(380 * var(--u)); min-width: 240px; height: calc(663 * var(--u)); min-height: 420px; border-radius: var(--r); overflow: hidden; background: #303030; isolation: isolate; color: #fff; }
.hp-season--wide { width: calc(947 * var(--u)); }
.hp-season img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; transition: transform .6s var(--ease); }
.hp-season:hover img { transform: scale(1.03); }
.hp-season__t { position: absolute; left: calc(22 * var(--u)); right: calc(16 * var(--u)); bottom: calc(119 * var(--u)); font-size: max(22px, calc(42 * var(--u))); line-height: calc(67 / 42); text-transform: uppercase; letter-spacing: .3px; }
.hp-season--wide .hp-season__t { left: calc(31 * var(--u)); bottom: calc(136 * var(--u)); }
.hp-season__t b { font-weight: 800; }
.hp-season__t i { font-weight: 500; font-size: calc(35 / 42 * 1em); }
.hp-season__btn { position: absolute; left: calc(22 * var(--u)); bottom: calc(72 * var(--u)); display: inline-flex; align-items: center; height: calc(51 * var(--u)); min-height: 38px; padding: 0 calc(15 * var(--u)); border: 3px solid #fff; border-radius: var(--r); font-weight: 700; font-size: max(11px, calc(13 * var(--u))); letter-spacing: .3px; text-transform: uppercase; }
.hp-season--wide .hp-season__btn { left: calc(29 * var(--u)); bottom: calc(76 * var(--u)); }
.hp-season:hover .hp-season__btn { background: #fff; color: var(--c-navy); }
.hp-seasons__dots { margin-top: calc(25 * var(--u)); justify-content: flex-start; padding-left: calc(465 * var(--u)); color: #fff; }

@media (max-width: 1023px) {
  .hp-seasons__rail, .hp-news__rail { padding-inline: var(--gut); }
  .hp-season, .hp-season--wide { width: 300px; height: 460px; }
  .hp-seasons__dots { padding-left: 0; justify-content: center; }
  /* nadpis karty nad tlacitkem (na mobilu se kurziva zalamovala do tlacitka) */
  .hp-season__t, .hp-season--wide .hp-season__t { left: 18px; right: 18px; bottom: 82px; line-height: 1.15; }
  .hp-season__t i { display: block; margin-top: 4px; }
  .hp-season__btn, .hp-season--wide .hp-season__btn { left: 18px; bottom: 22px; }
}
@media (max-width: 767px) { .hp-seasons .cs-wrap { padding-inline: var(--gut); } }

/* HERO PODSTRANKY — components.mjs: pageHero (Figma safety 670:5905 a dalsi) */
.cs-phero { position: relative; isolation: isolate; color: #fff; background: var(--c-navy); }
.cs-phero__media { position: relative; height: calc(746 * var(--u)); min-height: 380px; overflow: hidden; z-index: -1; }
.cs-phero__media img { width: 100%; height: 100%; object-fit: cover; }
.cs-phero--tint .cs-phero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 23, 122, .95) 0%, rgba(14, 41, 110, 0) 100%); }
.cs-phero__band { background: var(--c-navy); min-height: calc(365 * var(--u)); }
.cs-phero__inner { max-width: var(--maxw); margin-inline: auto; padding: calc(48 * var(--u)) calc(48 * var(--u)) calc(56 * var(--u)) calc(102 * var(--u)); display: flex; flex-direction: column; gap: max(12px, calc(20 * var(--u))); }
.cs-phero__eyebrow { font-weight: 700; font-size: max(12px, calc(15 * var(--u))); line-height: 1.22; color: var(--c-gold); text-transform: uppercase; }
.cs-phero__h { font-weight: 800; font-size: max(34px, calc(62 * var(--u))); line-height: 1.22; text-transform: uppercase; max-width: calc(1010 * var(--u) + 200px); }
.cs-phero__sub { letter-spacing: 0; font-weight: 400; font-size: max(15px, calc(20 * var(--u))); line-height: 1.22; max-width: calc(1010 * var(--u)); }
@media (max-width: 1023px) {
  .cs-phero__inner { padding: 32px var(--gut) 40px; }
  .cs-phero__band { min-height: 0; }
}

/* cenove karty na mobilu (staví cs.js priceCards z tabulky data-cards) */
.cs-paycard { background: var(--c-navy); color: #fff; border-radius: var(--r); padding: 18px 18px 16px; display: grid; gap: 12px; }
.cs-paycard__t { font-weight: 800; font-size: 16px; text-transform: uppercase; }
.cs-paycard dl { display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; margin: 0; font-size: 14px; }
.cs-paycard dt { font-weight: 500; opacity: .85; }
.cs-paycard dd { margin: 0; font-weight: 700; text-align: right; }
.cs-paycard > a { display: flex; justify-content: center; align-items: center; min-height: 44px; border-radius: 8px; background: var(--c-gold-3); color: #fff; font-weight: 700; font-size: 13px; text-transform: uppercase; }
.hp-seasons__rail { scroll-padding-inline: calc(94 * var(--u)); }

/* Figma 432:2243 / HP: nadpis a titulky karet ve dvou radcich */
.hp-seasons__h em { display: block; }
.hp-season__t i { display: block; }

/* ==========================================================================
   SLIDERY — SwiperJS (cs.js prevadi pasy karet na Swiper; bez JS nativni posun)
   ========================================================================== */
.cs-swiper { position: relative; width: 100%; overflow: hidden; }
.is-swiper { gap: 0 !important; padding-left: 0 !important; padding-right: 0 !important; overflow: visible !important; scroll-snap-type: none !important; justify-content: flex-start !important; }
.is-swiper > .swiper-slide { flex-shrink: 0; scroll-snap-align: none; }
.cs-dots .cs-dot { width: 11px; height: 11px; padding: 0; border-radius: 50%; border: 1px solid currentColor; background: transparent; opacity: 1; cursor: pointer; transition: width .25s var(--ease), background-color .2s; }
.cs-dots .cs-dot.is-active { background: currentColor; }
.cs-dots.swiper-pagination-lock, [data-prev].swiper-button-lock, [data-next].swiper-button-lock { display: none !important; }
[data-prev].is-disabled, [data-next].is-disabled { opacity: .35; pointer-events: none; }
/* Discover activities: prostredni karta nejvetsi (Figma 323x681, sousedni ~292x617, krajni ~284x601) */
.cs-swiper--center .cs-acard { margin-left: 0 !important; width: calc(323 * var(--u)) !important; height: calc(681 * var(--u)) !important; min-width: 220px; min-height: 460px; transform: scale(.88); transform-origin: 50% 50%; transition: transform .45s var(--ease); }
.cs-swiper--center .swiper-slide-prev.cs-acard, .cs-swiper--center .swiper-slide-next.cs-acard { transform: scale(.906); }
.cs-swiper--center .swiper-slide-active.cs-acard { transform: scale(1); }
@media (prefers-reduced-motion: reduce) { .cs-swiper--center .cs-acard { transition: none; } }
@media (max-width: 767px) { .cs-swiper--center .cs-acard { margin-left: 0 !important; width: 68vw !important; height: 120vw !important; max-height: 520px; } }
