/* First time at Smokey — Figma 661:4412 (+ 922:33115). Hodnoty calc(N * var(--u)) = design px pri 1920. */

/* ---------------------------------------------------------------- HERO: volba sezony (922:33081) */
.fv-hero .cs-phero__sub { letter-spacing: 0; }
.fv-season { display: flex; flex-wrap: wrap; gap: calc(16 * var(--u)); margin-top: calc(4 * var(--u)); margin-left: calc(3 * var(--u)); }
.fv-season__opt { display: inline-flex; align-items: center; gap: 12px; width: calc(240 * var(--u)); min-width: 140px; height: calc(56 * var(--u)); min-height: 44px; padding: 0 calc(18 * var(--u)); background: #fff; border: 2px solid var(--c-navy); border-radius: 7px; color: var(--c-navy); font-weight: 400; font-size: max(15px, calc(20 * var(--u))); line-height: 1.22; letter-spacing: 0; transition: background-color .2s; }
.fv-season__opt:hover { background: var(--c-bg); }
.fv-season__dot { position: relative; flex: none; width: 24px; height: 24px; border: 1.5px solid var(--c-navy); border-radius: 50%; }
.fv-season__opt.is-on .fv-season__dot::after { content: ""; position: absolute; inset: 4.5px; border-radius: 50%; background: var(--c-navy); }

/* ---------------------------------------------------------------- spolecne */
.fv-sec, .fv-programs { margin-bottom: -1px; }
.fv-sec { background: #fff; color: var(--c-navy); padding: calc(70 * var(--u)) calc(108 * var(--u)); letter-spacing: 0; }
.fv-sec > * { max-width: calc(1704 * var(--u)); }
.fv-h { font-weight: 700; font-size: max(26px, calc(38 * var(--u))); line-height: calc(55.1 / 38); text-transform: uppercase; }
.fv-h--gold { color: #cc994a; }
.fv-lead { margin-top: calc(32 * var(--u)); max-width: calc(1400 * var(--u)); font-weight: 400; font-size: max(16px, calc(22 * var(--u))); line-height: calc(31.9 / 22); }
.fv-eyebrow { font-weight: 700; font-size: max(13px, calc(16 * var(--u))); line-height: calc(23.2 / 16); color: #cc994a; text-transform: uppercase; }

.fv-btn { display: inline-flex; align-items: center; width: calc(390 * var(--u)); min-width: 200px; max-width: 100%; height: calc(55 * var(--u)); min-height: 44px; padding: 0 calc(22 * var(--u)); border: 1px solid var(--c-navy); border-radius: 7px; color: var(--c-navy); font-weight: 600; font-size: max(13px, calc(16 * var(--u))); line-height: 1.45; letter-spacing: 0; text-transform: uppercase; white-space: nowrap; transition: background-color .2s, color .2s; }
.fv-btn:hover { background: var(--c-navy); color: #fff; }
.fv-btn--bold { border-width: 3px; height: calc(59 * var(--u)); padding-inline: calc(22 * var(--u) - 2px); }
.fv-btn--mid { border-width: 2px; width: calc(322 * var(--u)); height: calc(57 * var(--u)); padding-inline: calc(22 * var(--u) - 1px); }
.fv-btn--wide { width: calc(460 * var(--u)); }
.fv-btn--gold { width: calc(400 * var(--u)); border-color: #cc994a; color: #cc994a; }
.fv-btn--gold:hover { background: #cc994a; color: #fff; }
.fv-actions { display: flex; flex-wrap: wrap; gap: calc(24 * var(--u)); margin-top: calc(32 * var(--u)); }

/* ---------------------------------------------------------------- 01 SEASONAL ENTRY (864) */
.fv-entry__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: calc(32 * var(--u)); }
.fv-entry__col { display: flex; flex-direction: column; align-items: flex-start; gap: calc(18 * var(--u)); }
.fv-entry__img { width: 100%; height: calc(500 * var(--u)); min-height: 220px; object-fit: cover; border-radius: 7px; }
.fv-entry__t { font-weight: 700; font-size: max(20px, calc(28 * var(--u))); line-height: calc(40.6 / 28); text-transform: uppercase; }
.fv-entry__p { font-weight: 400; font-size: max(15px, calc(20 * var(--u))); line-height: calc(29 / 20); }
.fv-entry .fv-btn { width: calc(306 * var(--u)); }
.fv-entry__col + .fv-entry__col .fv-btn { width: calc(301 * var(--u)); }

/* ---------------------------------------------------------------- 02 PLAN YOUR FIRST VISIT (872) */
.fv-prep__row { display: flex; justify-content: space-between; gap: 40px; margin-top: calc(32 * var(--u)); }
.fv-prep__copy { width: calc(600 * var(--u)); min-width: 280px; display: flex; flex-direction: column; align-items: flex-start; gap: calc(22 * var(--u)); }
.fv-prep__t { font-weight: 700; font-size: max(22px, calc(30 * var(--u))); line-height: calc(43.5 / 30); text-transform: uppercase; }
.fv-prep__p { font-weight: 400; font-size: max(15px, calc(20 * var(--u))); line-height: calc(29 / 20); }
.fv-prep__img { width: calc(837 * var(--u)); height: calc(440 * var(--u)); object-fit: cover; border-radius: 7px; flex: none; }
.fv-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(24 * var(--u)); margin-top: calc(32 * var(--u)); }
.fv-tile { display: flex; flex-direction: column; gap: calc(14 * var(--u)); min-height: calc(173 * var(--u)); padding: calc(26 * var(--u)) calc(24 * var(--u)); background: var(--c-navy); border-radius: 7px; color: #fff; }
.fv-tile__t { font-weight: 700; font-size: max(16px, calc(20 * var(--u))); line-height: calc(29 / 20); text-transform: uppercase; }
.fv-tile p { font-weight: 400; font-size: max(14px, calc(18 * var(--u))); line-height: calc(26.1 / 18); }

/* ---------------------------------------------------------------- 922:33115 EXPLORE MORE & PLAN YOUR VISIT ON SNOW */
.fv-programs { background: var(--c-navy-2); color: #fff; padding: calc(80 * var(--u)) calc(120 * var(--u)); }
.fv-programs > * { max-width: calc(1680 * var(--u)); }
.fv-programs__head { display: flex; flex-direction: column; gap: calc(12 * var(--u)); }
.fv-programs__eyebrow { font-weight: 800; font-size: max(10px, calc(11 * var(--u))); line-height: calc(13.4 / 11); letter-spacing: 1.4px; text-transform: uppercase; color: var(--c-gold); }
.fv-programs__h { font-weight: 800; font-size: max(28px, calc(45 * var(--u))); line-height: calc(46 / 45); letter-spacing: .3px; text-transform: uppercase; }
.fv-programs__h em { font-weight: 400; font-size: calc(42 / 45 * 1em); }
.fv-programs__grid { display: grid; grid-template-columns: repeat(4, calc(402 * var(--u))); gap: calc(24 * var(--u)); margin-top: calc(17 * var(--u)); }
.fv-pcard { display: flex; flex-direction: column; gap: calc(20 * var(--u)); height: 100%; min-height: calc(316 * var(--u)); padding: calc(32 * var(--u)); background: var(--c-navy); border: 1px solid rgba(255, 255, 255, .08); border-radius: 7px; transition: border-color .2s, transform .3s var(--ease); }
.fv-pcard:hover { border-color: var(--c-gold); transform: translateY(-3px); }
.fv-pcard__ico { display: grid; place-items: center; width: calc(56 * var(--u)); height: calc(56 * var(--u)); min-width: 44px; min-height: 44px; border-radius: 16px; background: rgba(255, 255, 255, .30); }
.fv-pcard__ico .cs-ico { width: 24px; height: 24px; }
.fv-pcard__t { font-weight: 800; font-size: max(20px, calc(28 * var(--u))); line-height: calc(34 / 28); text-transform: uppercase; }
.fv-pcard__p { margin-top: calc(-8 * var(--u)); font-weight: 500; font-size: max(14px, calc(16 * var(--u))); line-height: 1.5; letter-spacing: .3px; }

/* ---------------------------------------------------------------- 03 SUMMER (940) */
.fv-acts { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(24 * var(--u)); margin-top: calc(32 * var(--u)); }
.fv-act { position: relative; height: calc(500 * var(--u)); min-height: 300px; border-radius: 7px; overflow: hidden; color: #fff; isolation: isolate; }
.fv-act img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.fv-act::before { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(180deg, rgba(0, 14, 120, 0) 0%, rgba(0, 14, 120, .78) 100%); z-index: -1; }
.fv-act__txt { position: absolute; left: calc(24 * var(--u) + 4px); right: calc(24 * var(--u) + 4px); bottom: calc(24 * var(--u) + 4px); display: flex; flex-direction: column; gap: calc(18 * var(--u) - 8px); }
.fv-act__t { font-weight: 700; font-size: max(18px, calc(23 * var(--u))); line-height: calc(33.4 / 23); text-transform: uppercase; }
.fv-act p { font-weight: 400; font-size: max(14px, calc(20 * var(--u))); line-height: calc(29 / 20); }
.fv-check { margin-top: calc(32 * var(--u)); font-weight: 600; font-size: max(13px, calc(18 * var(--u))); line-height: calc(26.1 / 18); color: #cc994a; }

/* ---------------------------------------------------------------- 04 WINTER (1119) */
.fv-winter__row { display: flex; gap: calc(48 * var(--u)); margin-top: calc(32 * var(--u)); }
.fv-winter__img { width: calc(900 * var(--u)); height: calc(640 * var(--u)); object-fit: cover; border-radius: 7px; flex: none; }
.fv-winter__copy { flex: 1; max-width: calc(756 * var(--u)); display: flex; flex-direction: column; align-items: flex-start; gap: calc(24 * var(--u)); font-weight: 400; font-size: max(15px, calc(20 * var(--u))); line-height: calc(29 / 20); }
.fv-winter__t { font-weight: 700; font-size: max(22px, calc(32 * var(--u))); line-height: calc(46.4 / 32); text-transform: uppercase; }
.fv-steps { display: grid; grid-template-columns: repeat(3, calc(552 * var(--u))); gap: calc(24 * var(--u)); margin-top: calc(32 * var(--u)); }
.fv-steps li { display: flex; flex-direction: column; gap: calc(16 * var(--u)); font-weight: 400; font-size: max(15px, calc(20 * var(--u))); line-height: calc(29 / 20); }
.fv-steps__t { font-weight: 700; font-size: max(16px, calc(21 * var(--u))); line-height: calc(30.5 / 21); text-transform: uppercase; }

/* ---------------------------------------------------------------- 05 DRESS (807) */
.fv-dress { background: var(--c-navy); color: #fff; }
.fv-dress__row { display: flex; justify-content: space-between; gap: calc(48 * var(--u)); margin-top: calc(32 * var(--u)); }
.fv-dress__copy { width: calc(828 * var(--u)); display: flex; flex-direction: column; gap: calc(20 * var(--u)); }
.fv-dress__copy ul { display: flex; flex-direction: column; gap: calc(20 * var(--u)); font-weight: 400; font-size: max(15px, calc(20 * var(--u))); line-height: calc(29 / 20); }
.fv-dress__img { width: calc(828 * var(--u)); height: calc(580 * var(--u)); object-fit: cover; border-radius: 7px; flex: none; }

/* ---------------------------------------------------------------- 06 FAQ (957) */
.fv-faq__list { display: flex; flex-direction: column; gap: calc(32 * var(--u)); margin-top: calc(32 * var(--u)); }
.fv-faq__row { display: flex; gap: calc(48 * var(--u)); min-height: calc(95 * var(--u)); padding: calc(18 * var(--u)) 0; }
.fv-faq__row dt { flex: none; width: calc(640 * var(--u)); font-weight: 700; font-size: max(16px, calc(23 * var(--u))); line-height: calc(33.4 / 23); }
.fv-faq__row dd { flex: 1; max-width: calc(1016 * var(--u)); font-weight: 400; font-size: max(15px, calc(20 * var(--u))); line-height: calc(29 / 20); }

/* ---------------------------------------------------------------- 07 CTA (346) */
.fv-cta { background: var(--c-navy); color: #fff; }

/* ---------------------------------------------------------------- RESPONZIVITA */
@media (max-width: 1279px) {
  .fv-programs__grid { grid-template-columns: repeat(2, 1fr); }
  .fv-steps { grid-template-columns: repeat(3, 1fr); }
  .fv-tiles { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1023px) {
  .fv-sec { padding: 56px var(--gut); }
  .fv-programs { padding: 56px var(--gut); }
  .fv-prep__row, .fv-winter__row, .fv-dress__row { flex-direction: column; gap: 28px; }
  .fv-prep__copy, .fv-dress__copy, .fv-winter__copy { width: 100%; max-width: none; }
  .fv-prep__img, .fv-winter__img, .fv-dress__img { width: 100%; height: auto; aspect-ratio: 16 / 10; }
  .fv-acts { grid-template-columns: 1fr; }
  .fv-act { height: 360px; }
  .fv-steps { grid-template-columns: 1fr; gap: 24px; }
  .fv-faq__row { flex-direction: column; gap: 8px; padding: 0; min-height: 0; }
  .fv-faq__row dt { width: auto; }
  .fv-faq__list { gap: 24px; }
}
@media (max-width: 767px) {
  .fv-entry__grid { grid-template-columns: 1fr; gap: 48px; }
  .fv-tiles, .fv-programs__grid { grid-template-columns: 1fr; }
  .fv-pcard { min-height: 0; }
  .fv-season__opt { width: auto; flex: 1; }
  .fv-actions { flex-direction: column; }
  .fv-btn, .fv-btn--wide, .fv-btn--gold, .fv-btn--mid { width: 100%; white-space: normal; }
  .fv-entry .fv-btn { width: 100%; }
}
