/* Plan your visit — Figma 325:392 (+ 811:28567 Winter rentals, 432:2080 The mountain, 811:28775 Snow school).
   Spolecne bloky (Where to stay, programove karty) jsou v season.css. Prefix pv-. */

/* ---------------------------------------------------------------- HERO + modry pas "2 menu" (735–1149) */
.pv-hero { position: relative; background: var(--c-navy); color: #fff; }
.pv-hero__media { position: relative; height: calc(735 * var(--u)); min-height: 320px; overflow: hidden; }
.pv-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.pv-hero__band { position: relative; z-index: 2; min-height: calc(414 * var(--u)); padding: calc(30 * var(--u)) 0 calc(40 * var(--u)) calc(90 * var(--u)); background: var(--c-navy); box-shadow: 0 0 41px rgba(0, 0, 0, .36); }
.pv-hero__eyebrow { margin-left: calc(2 * var(--u)); font-weight: 700; font-size: max(12px, calc(20 * var(--u))); line-height: calc(24.4 / 20); letter-spacing: max(2px, calc(3.62 * var(--u))); text-transform: uppercase; color: var(--c-gold-3); }
.pv-hero__h { margin-top: calc(8 * var(--u)); font-weight: 900; font-size: max(32px, calc(50 * var(--u))); line-height: 1; letter-spacing: 0; text-transform: uppercase; }
.pv-hero__cards { position: absolute; left: calc(1151 * var(--u)); top: calc(55 * var(--u)); display: flex; gap: calc(27 * var(--u)); }
.pv-scard { position: relative; display: block; flex: none; width: calc(310 * var(--u)); height: calc(304 * var(--u)); border-radius: 10px; overflow: hidden; isolation: isolate; background: #303030; color: #fff; }
.pv-scard img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; transition: transform .6s var(--ease); }
.pv-scard:hover img { transform: scale(1.04); }
.pv-scard__btn { position: absolute; left: calc(14 * var(--u)); top: calc(19 * var(--u)); display: inline-flex; align-items: center; height: calc(51 * var(--u)); min-height: 34px; padding: 0 calc(12 * var(--u)); border: 3px solid #fff; border-radius: 10px; background: rgba(255, 255, 255, .33); font-weight: 700; font-size: max(10px, calc(13 * var(--u))); letter-spacing: .3px; text-transform: uppercase; transition: background-color .2s, color .2s; }
.pv-scard:hover .pv-scard__btn { background: #fff; color: var(--c-navy); }
.pv-scard__t { position: absolute; left: calc(14 * var(--u)); right: calc(8 * var(--u)); bottom: calc(17 * var(--u)); font-size: max(20px, calc(42 * var(--u))); line-height: calc(36 / 42); letter-spacing: .3px; text-transform: uppercase; text-shadow: 0 2px 12px rgba(0, 0, 0, .25); }
.pv-scard__t b { font-weight: 800; }
.pv-scard__t i { font-weight: 500; font-size: calc(35 / 42 * 1em); }
.pv-scard:last-child .pv-scard__t { line-height: calc(38 / 42); }

/* ---------------------------------------------------------------- WHERE TO STAY (pozadi) */
.pv-land .ss-land__bg::after { background: rgba(0, 23, 122, .62); }

/* ---------------------------------------------------------------- WHERE TO EAT & DRINK */
.pv-eat { position: relative; background: #f8f8f8; color: var(--c-navy-2); padding: calc(40 * var(--u)) 0 calc(138 * var(--u)); letter-spacing: 0; }
.pv-eat__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding: 0 calc(96 * var(--u)) 0 calc(100 * var(--u)); }
.pv-eat__h { font-weight: 900; font-size: max(28px, calc(45 * var(--u))); line-height: calc(117 / 45); text-transform: uppercase; }
.pv-eat__pill { min-width: calc(196 * var(--u)); margin-top: calc(63 * var(--u)); border-width: 2px; }
.pv-eat__rail { --gap: calc(25 * var(--u)); margin-top: calc(29 * var(--u)); padding: 0 var(--gut) 0 calc(95 * var(--u)); }
.pv-eatcard { position: relative; display: flex; flex-direction: column; width: calc(326 * var(--u)); min-width: 240px; height: calc(432 * var(--u)); min-height: 360px; border: 3px solid var(--c-navy-2); border-radius: 6px; overflow: hidden; background: #fff; box-shadow: 0 0 24px rgba(0, 0, 0, .05); }
.pv-eatcard__img { flex: none; height: calc(270 * var(--u)); min-height: 200px; overflow: hidden; }
.pv-eatcard:nth-child(-n+2) .pv-eatcard__img { height: calc(277 * var(--u)); min-height: 205px; }
.pv-eatcard__img img { width: 100%; height: 100%; object-fit: cover; object-position: 0 50%; }
.pv-eatcard:nth-child(2) .pv-eatcard__img img { object-position: 50% 50%; }
.pv-eatcard__body { flex: 1; padding: calc(20 * var(--u)) calc(17 * var(--u)) calc(40 * var(--u)); }
.pv-eatcard:first-child .pv-eatcard__body { padding-top: calc(38 * var(--u)); }
.pv-eatcard__t { font-weight: 700; font-size: max(15px, calc(20 * var(--u))); line-height: calc(24.4 / 20); text-transform: uppercase; color: var(--c-navy-2); }
.pv-eat--sm .pv-eatcard__t { font-size: max(15px, calc(19 * var(--u))); line-height: calc(23.2 / 19); }
.pv-eatcard__p { margin-top: calc(8 * var(--u)); font-weight: 400; font-size: max(13px, calc(15 * var(--u))); line-height: calc(20 / 15); color: #666; }
.pv-eatcard__d { position: absolute; left: calc(20 * var(--u)); bottom: calc(14 * var(--u)); font-weight: 400; font-size: max(13px, calc(15 * var(--u))); line-height: calc(20 / 15); color: var(--c-navy); }

.pv-eat__badge { position: absolute; z-index: 2; left: calc(207 * var(--u)); top: calc(570 * var(--u)); width: calc(104 * var(--u)); height: auto; } /* Figma 335:1691 at 192,2676 (133x133 box, circle 104) */

/* ---------------------------------------------------------------- WINTER RENTALS (811:28567) */
.pv-rent { background: var(--c-navy-2); color: #fff; padding: calc(89 * var(--u)) 0 calc(111 * var(--u)); letter-spacing: 0; }
.pv-rent__h { padding-left: calc(95 * var(--u)); font-weight: 800; font-size: max(28px, calc(45 * var(--u))); line-height: calc(54.9 / 45); text-transform: uppercase; }
.pv-rent__cols { display: flex; gap: calc(32 * var(--u)); margin-top: calc(65 * var(--u)); padding-left: calc(97 * var(--u)); }
.pv-rent__img { flex: none; width: calc(466 * var(--u)); height: calc(680 * var(--u)); border-radius: 7px; overflow: hidden; }
.pv-rent__img img { width: 100%; height: 100%; object-fit: cover; }
.pv-rent__card { flex: none; width: calc(739 * var(--u)); min-height: calc(680 * var(--u)); padding: calc(32 * var(--u)); border-radius: 7px; background: #fff; color: var(--c-navy-2); box-shadow: 0 0 32px rgba(0, 0, 0, .25); }
.pv-rtable { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0 calc(21 * var(--u)); margin-top: calc(-21 * var(--u)); }
.pv-rtable th, .pv-rtable td { padding: calc(12 * var(--u)) 0; text-align: right; }
.pv-rtable th:first-child { width: 64%; text-align: left; }
.pv-rtable td:nth-child(2), .pv-rtable th:nth-child(2) { padding-right: calc(10 * var(--u)); }
.pv-rtable td:nth-child(3), .pv-rtable th:nth-child(3) { padding-right: calc(16 * var(--u)); }
.pv-rtable thead th { vertical-align: top; padding: 0 0 calc(12 * var(--u)); border-bottom: 1px solid #e2e8f0; font-weight: 700; font-size: max(13px, calc(16 * var(--u))); line-height: calc(19.5 / 16); white-space: nowrap; }
.pv-rtable thead th:first-child { font-size: max(18px, calc(24 * var(--u))); line-height: calc(29.3 / 24); }
.pv-rtable thead th:nth-child(2) span { display: inline-block; transform: translateX(calc(30 * var(--u))); }
.pv-rtable thead th:nth-child(3) span { display: inline-block; transform: translateX(calc(8 * var(--u))); }
.pv-rtable tbody tr { height: calc(46 * var(--u)); }
.pv-rtable tbody th { padding-left: calc(16 * var(--u)); font-weight: 600; font-size: max(13px, calc(16 * var(--u))); line-height: calc(19.5 / 16); }
.pv-rtable tbody td { font-weight: 700; font-size: max(14px, calc(18 * var(--u))); line-height: calc(21.9 / 18); }
.pv-rtable tbody tr:not(.pv-rtable__pkg) > * { background: linear-gradient(#e2e8f0, #e2e8f0) no-repeat 0 100% / 100% 1px; }
.pv-rtable tbody tr:not(.pv-rtable__pkg) > th { background-position: 100% 100%; background-size: calc(100% - 16 * var(--u)) 1px; }
.pv-rtable tbody tr:not(.pv-rtable__pkg) > td:last-child { background-size: calc(100% - 16 * var(--u)) 1px; }
.pv-rtable tbody tr.pv-rtable__pass > th { padding-left: 0; background-size: 100% 1px; }
.pv-rtable tbody tr.pv-rtable__pkg { height: calc(71 * var(--u)); }
.pv-rtable__pkg > * { padding: calc(16 * var(--u)) 0; background: #fdf9f0; border-top: 1px solid #cc994a; border-bottom: 1px solid #cc994a; }
.pv-rtable__pkg > th { padding-left: calc(16 * var(--u)); border-left: 1px solid #cc994a; font-weight: 700; }
.pv-rtable__pkg > td:last-child { border-right: 1px solid #cc994a; }
.pv-rtable__pkg th span { display: block; margin-top: 4px; font-weight: 500; font-size: max(11px, calc(12 * var(--u))); line-height: calc(14.6 / 12); color: #64748b; }
.pv-rtable__pkg td { font-size: max(16px, calc(22 * var(--u))); line-height: calc(26.8 / 22); color: #cc994a; }
.pv-rent__info { display: flex; flex-direction: column; width: calc(455 * var(--u)); }
.pv-rent__ih { font-weight: 700; font-size: max(17px, calc(20 * var(--u))); line-height: calc(24.4 / 20); }
.pv-rent__list { display: grid; gap: calc(16 * var(--u)); margin-top: calc(24 * var(--u)); }
.pv-rent__list li { display: flex; align-items: center; gap: calc(12 * var(--u)); font-weight: 500; font-size: max(13px, calc(14 * var(--u))); line-height: calc(17.1 / 14); }
.pv-rent__chk { flex: none; width: 20px; height: 20px; padding: 4px; border-radius: 50%; background: rgba(204, 153, 74, .13); color: #cc994a; }
.pv-rent__notes { display: grid; gap: calc(8 * var(--u)); margin-top: calc(24 * var(--u)); padding-top: calc(12 * var(--u)); border-top: 1px solid #e2e8f0; font-weight: 500; font-size: max(11px, calc(12 * var(--u))); line-height: calc(14.6 / 12); color: #64748b; }
.pv-rent__cta { display: flex; align-items: center; justify-content: center; margin-top: auto; height: calc(56 * var(--u)); min-height: 48px; border-radius: 7px; background: #cc994a; box-shadow: 0 0 12px rgba(204, 153, 74, .25); color: #fff; font-weight: 700; font-size: max(15px, calc(20 * var(--u))); text-transform: uppercase; transition: background-color .2s; }
.pv-rent__cta:hover { background: var(--c-navy); }

/* ---------------------------------------------------------------- THE MOUNTAIN (432:2080) */
.pv-mtn { padding: calc(80 * var(--u)) calc(120 * var(--u)) calc(134 * var(--u)); background: #f8f8f8; color: var(--c-navy); }
.pv-mtn__h { margin-top: calc(12 * var(--u)); font-weight: 800; font-size: max(26px, calc(42 * var(--u))); line-height: calc(46 / 42); letter-spacing: .3px; text-transform: uppercase; }
.pv-mtn__grid { display: grid; grid-template-columns: repeat(4, calc(402 * var(--u))); gap: calc(24 * var(--u)); margin-top: calc(52 * var(--u)); }
.pv-mtn .ss-prog:nth-child(1) .ss-prog__ico, .pv-mtn .ss-prog:nth-child(4) .ss-prog__ico { background: rgba(255, 255, 255, .07); }

/* ---------------------------------------------------------------- SNOW SCHOOL (811:28775) */
.pv-school { position: relative; z-index: 1; background: var(--c-navy-2); color: #fff; padding: calc(96 * var(--u)) 0 calc(109 * var(--u)); box-shadow: 0 4px 4px rgba(0, 0, 0, .25); letter-spacing: 0; }
.pv-school .pv-mtn__eyebrow, .pv-school__h { padding-left: calc(95 * var(--u)); }
.pv-school__h { margin-top: calc(13 * var(--u)); font-weight: 700; font-size: max(28px, calc(45 * var(--u))); line-height: calc(54.9 / 45); text-transform: uppercase; }
.pv-school__rail { --gap: calc(32 * var(--u)); margin-top: calc(59 * var(--u)); padding: 0 var(--gut) 0 calc(95 * var(--u)); }
.pv-lcard { display: flex; flex-direction: column; width: calc(555 * var(--u)); min-width: 270px; min-height: calc(510 * var(--u)); border: 1px solid var(--c-navy-2); border-radius: 7px; overflow: hidden; background: #fff; color: var(--c-navy-2); }
.pv-lcard__img { display: block; height: calc(280 * var(--u)); min-height: 170px; overflow: hidden; }
.pv-lcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.pv-lcard:hover .pv-lcard__img img { transform: scale(1.04); }
.pv-lcard__body { display: flex; flex-direction: column; flex: 1; padding: calc(32 * var(--u)); }
.pv-lcard__t { font-weight: 700; font-size: max(17px, calc(24 * var(--u))); line-height: calc(29.3 / 24); text-transform: uppercase; }
.pv-lcard__p { margin-top: calc(12 * var(--u)); font-weight: 500; font-size: max(14px, calc(16 * var(--u))); line-height: 1.5; color: #666; }
.pv-lcard__btn { display: flex; align-items: center; justify-content: center; margin-top: calc(24 * var(--u)); height: calc(56 * var(--u)); min-height: 44px; border-radius: 7px; background: #cc994a; color: #fff; font-weight: 700; font-size: max(15px, calc(20 * var(--u))); text-transform: uppercase; transition: background-color .2s; }
.pv-lcard:hover .pv-lcard__btn { background: var(--c-navy); }

/* ---------------------------------------------------------------- SAME MOUNTAIN (sdilena sekce; Figma 432:2243 = nadpis na 2 radky) */
.pv-same .hp-seasons__h { line-height: 1; }
.pv-same .hp-seasons__h em { display: block; }

/* ---------------------------------------------------------------- RESPONZIVITA */
@media (max-width: 1279px) {
  .pv-hero__band { display: flex; flex-direction: column; gap: 32px; padding: 32px var(--gut) 48px; min-height: 0; }
  .pv-hero__cards { position: static; flex-wrap: wrap; }
  .pv-eat__head { padding-inline: var(--gut); }
  .pv-eat__badge { display: none; }
  .pv-eat__rail { padding-left: var(--gut); scroll-padding-inline: var(--gut); }
  .pv-rent__h { padding-inline: var(--gut); }
  .pv-rent__cols { flex-wrap: wrap; padding-inline: var(--gut); gap: 24px; }
  .pv-rent__img { width: 100%; max-width: 466px; height: 360px; }
  .pv-rent__card, .pv-rent__info { width: 100%; max-width: 739px; min-height: 0; padding: 24px; }
  .pv-rent__cta { margin-top: 28px; }
  .pv-mtn { padding: 72px var(--gut); }
  .pv-mtn__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .pv-school { padding: 72px 0; }
  .pv-school .pv-mtn__eyebrow, .pv-school__h { padding-inline: var(--gut); }
  .pv-school__rail { padding-left: var(--gut); scroll-padding-inline: var(--gut); }
}
@media (max-width: 767px) {
  .pv-hero__cards { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: calc(-1 * var(--gut)); padding-right: var(--gut); }
  .pv-scard { width: 240px; height: 240px; }
  .pv-eat__head { flex-direction: column; gap: 12px; }
  .pv-eat__pill { margin-top: 0; }
  .pv-eat__h { line-height: 1.15; }
  .pv-mtn__grid { grid-template-columns: 1fr; }
  .pv-rtable thead th:nth-child(2) span, .pv-rtable thead th:nth-child(3) span { transform: none; }
  .pv-rtable th:first-child { width: 52%; }
  .pv-rtable thead th { white-space: normal; font-size: 12px; }
  .pv-rtable thead th:first-child { font-size: 17px; }
  .pv-lcard { width: 80vw; }
}
