/* Practical info — sdilene sekce skupiny G (src/components/practical.mjs), prefix pv-.
   Pouziva /mountain/, /conditions/, /contacts/. Hodnoty calc(N * var(--u)) = design px pri 1920. */

.pv-in { max-width: var(--maxw); margin-inline: auto; padding-inline: calc(95 * var(--u)); }
.pv-sec-h { font-weight: 700; font-size: max(26px, calc(45 * var(--u))); line-height: calc(55 / 45); letter-spacing: 0; text-transform: uppercase; color: var(--c-navy-2); }
.pv-sec-h--nc { text-transform: none; }

/* ---------------------------------------------------------------- OPERATING HOURS */
.pv-hours { background: #fff; }
.pv-hours__in { max-width: var(--maxw); margin-inline: auto; }
.pv-hours--a .pv-hours__in { padding: calc(102 * var(--u)) calc(94 * var(--u)) calc(136 * var(--u)) calc(214 * var(--u)); }
.pv-hours--b .pv-hours__in { padding: calc(213 * var(--u)) calc(94 * var(--u)) calc(201 * var(--u)) calc(130 * var(--u)); }
.pv-hours__eyebrow { font-weight: 700; font-size: max(11px, calc(12 * var(--u))); line-height: 1.5; color: #cc994a; }
.pv-hours--b .pv-hours__eyebrow { color: var(--c-navy); }
.pv-hours__h { margin-top: 8px; font-weight: 800; font-size: max(30px, calc(48 * var(--u))); line-height: calc(56 / 48); letter-spacing: 0; color: var(--c-navy); }
.pv-hours__grid { display: grid; grid-template-columns: repeat(2, calc(640 * var(--u))); gap: calc(32 * var(--u)); margin-top: 40px; align-items: stretch; }
.pv-hours--a .pv-hours__grid { margin-top: calc(40 * var(--u)); }

.pv-hours--a .pv-season { min-height: calc(1063 * var(--u)); }
.pv-hours--b .pv-season { min-height: calc(1055 * var(--u)); }
.pv-season { display: flex; flex-direction: column; border-radius: 7px; overflow: hidden; letter-spacing: 0; }
.pv-season p, .pv-season dt, .pv-season dd { letter-spacing: 0; }
.pv-season__top { display: flex; flex-direction: column; gap: 8px; padding: 32px; }
.pv-season__t { font-weight: 800; font-size: max(22px, calc(28 * var(--u))); line-height: calc(36 / 28); }
.pv-season__lbl { padding-top: 16px; font-weight: 700; font-size: 14px; line-height: 1.5; text-transform: uppercase; }
.pv-season__hrs { margin-top: -4px; font-weight: 600; font-size: max(24px, calc(32 * var(--u))); line-height: calc(40 / 32); }
.pv-season__sup { font-weight: 500; font-size: 14px; line-height: 1.5; }
.pv-season__body { flex: 1; display: flex; flex-direction: column; gap: 24px; padding: 32px; }
.pv-season__grp { display: flex; flex-direction: column; gap: 8px; }
.pv-season__grp--12 { gap: 12px; }
.pv-season__strong { font-weight: 600; font-size: 16px; line-height: calc(25 / 16); }
.pv-season__txt { font-weight: 400; font-size: 16px; line-height: calc(25 / 16); }
.pv-season__h4 { font-weight: 700; font-size: 18px; line-height: calc(26 / 18); }
.pv-season__date { font-weight: 700; font-size: 18px; line-height: calc(26 / 18); }
.pv-season__end { font-weight: 500; font-size: 14px; line-height: 1.5; }
.pv-box { display: flex; flex-direction: column; padding: 20px; border-radius: 7px; }
.pv-box__h { font-weight: 700; font-size: 18px; line-height: calc(26 / 18); }
.pv-box__sub { margin-top: 4px; font-weight: 500; font-size: 14px; line-height: 1.5; }
.pv-rides { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 16px 0 0; }
.pv-rides dt { font-weight: 500; font-size: 14px; line-height: 1.5; }
.pv-rides dd { margin: 4px 0 0; font-weight: 600; font-size: max(24px, calc(32 * var(--u))); line-height: calc(40 / 32); }
.pv-div { width: 100%; height: 1px; margin: 0; border: 0; background: #d6deef; }
.pv-welcome { padding: 20px; border-radius: 7px; font-weight: 400; font-size: 16px; line-height: calc(25 / 16); }
.pv-week { display: flex; gap: 8px; }
.pv-week__d { flex: 0 1 75px; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 0; border-radius: 6px; font-size: 12px; line-height: 1.5; font-weight: 700; text-align: center; }
.pv-week__d b, .pv-week__d span { font-weight: 700; }
.pv-exc { margin: 0; display: flex; flex-direction: column; }
.pv-exc > div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid #d6deef; font-weight: 500; font-size: 14px; line-height: 1.5; }
.pv-exc dd { margin: 0; text-align: right; }
.pv-note { display: flex; flex-direction: column; gap: 4px; padding: 20px; border-radius: 7px; }
.pv-note__l { font-weight: 700; font-size: 12px; line-height: 1.5; }
.pv-note__t { font-weight: 600; font-size: 16px; line-height: calc(25 / 16); }
.pv-incl { display: flex; flex-direction: column; gap: 12px; }
.pv-incl__list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.pv-incl__list li { padding: 12px 16px; border-radius: 6px; background: #f3f6fc; font-weight: 500; font-size: 14px; line-height: 1.5; letter-spacing: 0; }
.pv-incl__more { font-weight: 600; font-size: 16px; line-height: calc(25 / 16); letter-spacing: 0; width: max-content; }
.pv-incl__more:hover { text-decoration: underline; }

/* variant a (mountain): bila hlavicka s modrym obrysem, modre telo, bily text */
.pv-hours--a .pv-season { background: var(--c-navy); color: #fff; }
.pv-hours--a .pv-season--summer { border: 1px solid #fff; }
.pv-hours--a .pv-season--winter { border: 3px solid var(--c-navy); }
.pv-hours--a .pv-season__top { background: #fff; color: var(--c-navy); }
.pv-hours--a .pv-season--summer .pv-season__top { border: 3px solid var(--c-navy); border-radius: 7px 7px 0 0; padding-top: 32px; }
.pv-hours--a .pv-season--winter .pv-season__hrs { text-transform: uppercase; }
.pv-hours--a .pv-box--light { background: #fff; color: var(--c-navy); }
.pv-hours--a .pv-season__h4--info { color: var(--c-gold-3); text-transform: uppercase; }
.pv-hours--a .pv-welcome { border: 1px solid #fff; text-transform: uppercase; }
.pv-hours--a .pv-week__d { background: rgba(255, 255, 255, .10); border: 1px solid rgba(255, 255, 255, .30); }
.pv-hours--a .pv-week__d.is-open { background: #fff; border-color: #fff; color: var(--c-navy); }
.pv-hours--a .pv-note { background: var(--c-navy); }
.pv-hours--a .pv-note__l { color: var(--c-gold-3); }

/* variant b (conditions): modra hlavicka, bile telo */
.pv-hours--b .pv-season { background: #fff; color: var(--c-navy); border: 1px solid #d6deef; border-radius: 12px; }
.pv-hours--b .pv-season__top { background: var(--c-navy); color: #fff; }
.pv-hours--b .pv-season__t { font-weight: 700; }
.pv-hours--b .pv-season__lbl { font-weight: 500; text-transform: none; }
.pv-hours--b .pv-season__txt, .pv-hours--b .pv-box__sub, .pv-hours--b .pv-rides dt, .pv-hours--b .pv-exc dd, .pv-hours--b .pv-season__end { color: #424e6e; }
.pv-hours--b .pv-box--light { background: #f3f6fc; border-radius: 6px; }
.pv-hours--b .pv-welcome { background: #f3f6fc; border-radius: 6px; }
.pv-hours--b .pv-week__d { background: #f3f6fc; color: #424e6e; }
.pv-hours--b .pv-week__d.is-open { background: var(--c-navy); color: #fff; }
.pv-hours--b .pv-note { background: var(--c-navy); color: #fff; border-radius: 6px; }

/* ---------------------------------------------------------------- CURRENT CONDITIONS */
.pv-now { background: #fff; padding: calc(71 * var(--u)) 0 0; }
.pv-now__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.pv-now__more { margin-top: calc(8 * var(--u)); min-width: calc(196 * var(--u)); border-width: 2px; }
.pv-now__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(26.67 * var(--u)); margin-top: calc(35 * var(--u)); }
.pv-cond { position: relative; min-height: calc(209 * var(--u)); padding: calc(32 * var(--u)); border-radius: 7px; background: var(--c-navy); border: 1.33px solid rgba(255, 255, 255, .10); box-shadow: 0 8px 24px rgba(12, 25, 90, .08); color: #fff; letter-spacing: 0; }
.pv-cond__top { display: flex; justify-content: space-between; align-items: center; height: 48px; }
.pv-cond__l { font-weight: 700; font-size: max(12px, calc(15 * var(--u))); line-height: 1.22; letter-spacing: 1.33px; }
.pv-cond__ico { width: 36px; height: 36px; opacity: .95; }
.pv-cond__v { margin-top: calc(21 * var(--u)); font-weight: 700; font-size: max(24px, calc(32 * var(--u))); line-height: calc(39 / 32); }
.pv-cond__n { margin-top: 5px; font-weight: 400; font-size: max(14px, calc(18 * var(--u))); line-height: calc(22 / 18); }
.pv-road { display: flex; align-items: center; gap: calc(33 * var(--u)); min-height: calc(100 * var(--u)); margin-top: calc(35 * var(--u)); padding: calc(26 * var(--u)) calc(32 * var(--u)); background: var(--c-navy); border: 1.33px solid rgba(255, 255, 255, .10); box-shadow: 0 8px 24px rgba(12, 25, 90, .08); color: #fff; letter-spacing: 0; }
.pv-mt .pv-road, .pv-road { border-radius: 7px; }
.pv-road__l { flex: none; font-weight: 700; font-size: max(14px, calc(18 * var(--u))); line-height: calc(22 / 18); }
.pv-road__badge { flex: none; margin-left: calc(-1 * var(--u)); padding: 8px 16px; background: rgba(16, 185, 129, .20); color: #10b981; font-weight: 700; font-size: max(13px, calc(16 * var(--u))); line-height: calc(19.5 / 16); text-transform: uppercase; }
.pv-road__sep { flex: none; width: 1.33px; height: 32px; background: rgba(255, 255, 255, .10); }
.pv-road__t { font-weight: 400; font-size: max(14px, calc(18 * var(--u))); line-height: calc(22 / 18); color: rgba(255, 255, 255, .80); }

/* ---------------------------------------------------------------- 5-DAY FORECAST */
.pv-fc { background: #fff; padding-top: calc(93 * var(--u)); }
.pv-fc__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: calc(16 * var(--u)); margin-top: calc(37 * var(--u)); }
.pv-fc__c { min-height: calc(267 * var(--u)); padding: calc(32 * var(--u)); border: 1px solid var(--c-navy-2); color: var(--c-navy-2); letter-spacing: 0; background: linear-gradient(180deg, #e0e7ff 0%, #eef2ff 100%); }
.pv-fc__c--heavy { background: linear-gradient(180deg, #c7d2fe 0%, #e0e7ff 100%); }
.pv-fc__c--sun { background: linear-gradient(180deg, rgba(204, 153, 74, .40) 0%, #fff 100%); }
.pv-fc__d { font-weight: 700; font-size: max(18px, calc(24 * var(--u))); line-height: calc(29 / 24); }
.pv-fc__w { display: flex; align-items: center; gap: calc(13 * var(--u)); margin-top: calc(28 * var(--u)); min-height: 36px; font-weight: 500; font-size: max(14px, calc(18 * var(--u))); line-height: calc(22 / 18); color: #5f6d94; }
.pv-fc__w > span:first-child { display: inline-flex; color: var(--c-navy-2); }
.pv-fc__ico { width: 36px; height: 36px; }
.pv-fc__dl { margin: calc(23 * var(--u)) 0 0; display: flex; flex-direction: column; gap: calc(11 * var(--u)); }
.pv-fc__dl > div { display: flex; justify-content: space-between; gap: 8px; font-size: max(14px, calc(18 * var(--u))); line-height: calc(22 / 18); }
.pv-fc__dl dt { font-weight: 400; color: #5f6d94; }
.pv-fc__dl dd { margin: 0; font-weight: 700; }

/* ---------------------------------------------------------------- SNOW REPORT */
.pv-snow { background: #fff; padding: calc(54 * var(--u)) 0 calc(96 * var(--u)); }
.pv-snow__grid { display: grid; grid-template-columns: 405fr 413fr 413fr 413fr; gap: calc(29 * var(--u)); margin-top: calc(46 * var(--u)); }
.pv-snow__c { position: relative; min-height: calc(165 * var(--u)); padding: calc(21 * var(--u)) calc(37 * var(--u)) calc(21 * var(--u)) calc(27 * var(--u)); background: var(--c-navy-2); border: 1.33px solid rgba(255, 255, 255, .10); box-shadow: 0 8px 24px rgba(12, 25, 90, .08); color: #fff; letter-spacing: 0; }
.pv-snow__l { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: max(13px, calc(18 * var(--u))); line-height: calc(22 / 18); letter-spacing: 1.33px; text-transform: uppercase; }
.pv-snow__mini { width: calc(27 * var(--u)); min-width: 18px; height: auto; padding: 4px; }
.pv-snow__n { margin-top: calc(12 * var(--u)); padding-left: calc(4 * var(--u)); font-weight: 400; font-size: max(13px, calc(18 * var(--u))); line-height: calc(22 / 18); }
.pv-snow__v { margin-top: calc(13 * var(--u)); padding-left: calc(4 * var(--u)); font-weight: 800; font-size: max(30px, calc(42 * var(--u))); line-height: calc(51 / 42); }
.pv-snow__deco { position: absolute; top: calc(15 * var(--u)); right: calc(22 * var(--u)); width: calc(30 * var(--u)); min-width: 20px; height: auto; opacity: .9; }

/* ---------------------------------------------------------------- SAFETY HIGHLIGHTS */
.pv-safe { background: var(--c-navy-2); color: #fff; padding: calc(96 * var(--u)) 0; }
.pv-safe__h { font-weight: 700; font-size: max(26px, calc(45 * var(--u))); line-height: calc(58.8 / 45); letter-spacing: -.67px; text-transform: uppercase; }
.pv-safe__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(26.7 * var(--u)); margin-top: calc(64 * var(--u)); max-width: calc(1723 * var(--u)); }
.pv-safe__grid li { display: flex; align-items: center; gap: calc(21.4 * var(--u)); min-height: calc(89 * var(--u)); padding: calc(14 * var(--u)) calc(32 * var(--u)); background: #fff; color: var(--c-navy-2); box-shadow: 0 0 26.7px rgba(0, 0, 0, .03); font-weight: 600; font-size: max(16px, calc(24 * var(--u))); line-height: calc(28 / 24); letter-spacing: 0; }
.pv-safe__ck { flex: none; display: inline-grid; place-items: center; width: calc(37 * var(--u)); min-width: 28px; aspect-ratio: 1; border-radius: 50%; background: #cc994a; color: var(--c-navy-2); }
.pv-safe__ck .cs-ico { width: 60%; height: 60%; }

/* ---------------------------------------------------------------- WEBCAMS */
.pv-cams { position: relative; z-index: 1; background: var(--c-navy-2); color: #fff; padding: calc(96 * var(--u)) 0; box-shadow: 0 4px 4px rgba(0, 0, 0, .25); }
.pv-cams__eyebrow { font-weight: 700; font-size: max(12px, calc(18 * var(--u))); line-height: calc(22 / 18); letter-spacing: 2px; text-transform: uppercase; color: #cc994a; }
.pv-cams__h { margin-top: calc(10.67 * var(--u)); font-weight: 700; font-size: max(28px, calc(48 * var(--u))); line-height: calc(58.5 / 48); letter-spacing: 0; }
.pv-cams__frame { position: relative; display: block; margin-top: calc(35 * var(--u)); aspect-ratio: 1730 / 962; overflow: hidden; background: #0c1f73; }
.pv-cams__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pv-cams__if { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pv-cams__cta { position: absolute; left: 50%; bottom: calc(24 * var(--u) + 12px); transform: translateX(-50%); display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border: 3px solid #fff; border-radius: var(--r); background: rgba(0, 23, 122, .55); font-weight: 700; font-size: 13px; letter-spacing: .3px; text-transform: uppercase; opacity: 0; transition: opacity .25s var(--ease); }
.pv-cams__arr { width: 16px; height: 16px; }
.pv-cams__link:hover .pv-cams__cta, .pv-cams__link:focus-visible .pv-cams__cta { opacity: 1; }

/* ---------------------------------------------------------------- DIRECTIONS */
.pv-dir { background: #fff; }
.pv-dir .pv-in { padding-inline: calc(102 * var(--u)) calc(94 * var(--u)); }
.pv-dir__h { font-weight: 700; font-size: max(26px, calc(45 * var(--u))); line-height: calc(119 / 45); letter-spacing: 0; text-transform: uppercase; color: var(--c-navy-2); }
.pv-dir__grid { display: grid; grid-template-columns: calc(1070 * var(--u)) calc(596 * var(--u)); column-gap: calc(59 * var(--u)); row-gap: calc(41 * var(--u)); margin-top: calc(26 * var(--u)); align-items: start; }
.pv-dir__img { display: block; border-radius: 7px; overflow: hidden; aspect-ratio: 1070 / 695; }
.pv-dir__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.pv-dir__img:hover img { transform: scale(1.02); }
.pv-dir__side { display: flex; flex-direction: column; gap: calc(31.2 * var(--u)); }
.pv-dcard { display: flex; flex-direction: column; gap: calc(20.8 * var(--u)); padding: calc(31.2 * var(--u)); background: var(--c-navy-2); border-radius: 7px; color: #fff; letter-spacing: 0; }
.pv-dcard__h { display: flex; align-items: center; gap: calc(15.6 * var(--u)); font-weight: 700; font-size: max(19px, calc(24 * var(--u))); line-height: calc(29.3 / 24); }
.pv-dcard__ico { width: calc(31 * var(--u)); min-width: 24px; height: auto; }
.pv-dcard__p { font-weight: 500; font-size: max(15px, calc(18 * var(--u))); line-height: calc(26 / 18); }
.pv-dcard__dl { margin: 0; display: flex; flex-direction: column; gap: calc(15.6 * var(--u)); }
.pv-dcard__dl > div { display: flex; justify-content: space-between; gap: 16px; font-weight: 500; font-size: max(15px, calc(18 * var(--u))); line-height: calc(21.9 / 18); }
.pv-dcard__dl dd { margin: 0; font-weight: 700; }
.pv-dcard__ul { display: flex; flex-direction: column; gap: calc(15.6 * var(--u)); }
.pv-dcard__ul li { display: flex; align-items: center; gap: calc(10.4 * var(--u)); font-weight: 500; font-size: max(15px, calc(18 * var(--u))); line-height: calc(21.9 / 18); }
.pv-dcard__ul .cs-ico { width: calc(21 * var(--u)); min-width: 18px; height: auto; }
.pv-dir__btns { display: flex; gap: calc(31 * var(--u)); }
.pv-dir__btn { display: inline-flex; align-items: center; justify-content: center; min-height: max(48px, calc(73 * var(--u))); padding: 0 calc(41.6 * var(--u)); border-radius: 7px; font-weight: 700; font-size: max(14px, calc(20 * var(--u))); line-height: 1.22; letter-spacing: 0; text-transform: uppercase; transition: background-color .2s, color .2s; }
.pv-dir__btn--navy { width: 100%; background: var(--c-navy-2); color: #fff; }
.pv-dir__btn--navy:hover { background: var(--c-navy); }
.pv-dir__btn--line { width: calc(218 * var(--u)); min-width: max-content; border: 2.6px solid var(--c-navy-2); color: var(--c-navy-2); }
.pv-dir__btn--line:hover { background: var(--c-navy-2); color: #fff; }
.pv-dir__btn--gold { flex: 1; background: #cc994a; color: #fff; }
.pv-dir__btn--gold:hover { background: #b7873f; }

/* ---------------------------------------------------------------- CONTACT FORM */
.pv-contact { position: relative; z-index: 1; background: var(--c-navy); color: #fff; }
.pv-contact__in { max-width: var(--maxw); margin-inline: auto; padding: calc(72 * var(--u)) calc(108 * var(--u)); letter-spacing: 0; }
.pv-contact__eyebrow { font-weight: 700; font-size: max(13px, calc(16 * var(--u))); line-height: calc(23.2 / 16); color: #cc994a; letter-spacing: 0; }
.pv-contact__row { display: grid; grid-template-columns: calc(528 * var(--u)) 1fr; column-gap: calc(80 * var(--u)); margin-top: calc(32 * var(--u)); }
.pv-contact__info { display: flex; flex-direction: column; gap: calc(28 * var(--u)); }
.pv-contact__info p, .pv-contact__info address { letter-spacing: 0; }
.pv-contact__h { font-weight: 700; font-size: max(30px, calc(44 * var(--u))); line-height: calc(63.8 / 44); letter-spacing: 0; }
.pv-contact__lead { font-weight: 400; font-size: max(17px, calc(22 * var(--u))); line-height: calc(31.9 / 22); }
.pv-contact__addr { font-weight: 400; font-size: max(16px, calc(20 * var(--u))); line-height: calc(29 / 20); }
.pv-contact__mail { font-weight: 600; font-size: max(15px, calc(18 * var(--u))); line-height: calc(26.1 / 18); overflow-wrap: anywhere; }
.pv-contact__tel { font-weight: 600; font-size: max(18px, calc(22 * var(--u))); line-height: calc(31.9 / 22); }
.pv-contact__mail:hover, .pv-contact__tel:hover { color: var(--c-gold-2); }
.pv-contact__small { font-weight: 400; font-size: max(15px, calc(18 * var(--u))); line-height: calc(26.1 / 18); }
.pv-form { display: flex; flex-direction: column; gap: calc(24 * var(--u)); min-width: 0; }
.pv-form__h { font-weight: 700; font-size: max(22px, calc(28 * var(--u))); line-height: calc(40.6 / 28); letter-spacing: 0; }
.pv-form__req { font-weight: 400; font-size: max(13px, calc(15 * var(--u))); line-height: calc(21.8 / 15); }
.pv-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: calc(24 * var(--u)); }
.pv-f { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.pv-f label { font-weight: 600; font-size: max(14px, calc(16 * var(--u))); line-height: calc(23.2 / 16); letter-spacing: 0; }
.pv-f input, .pv-f select, .pv-f textarea { width: 100%; min-height: max(48px, calc(62 * var(--u))); padding: calc(17 * var(--u)) calc(20 * var(--u)); border: 2px solid #fff; border-radius: 7px; background: #fff; color: var(--c-navy); font: inherit; font-weight: 400; font-size: max(16px, calc(18 * var(--u))); line-height: calc(26.1 / 18); letter-spacing: 0; }
.pv-f textarea { min-height: max(140px, calc(180 * var(--u))); resize: vertical; }
.pv-f select { appearance: none; -webkit-appearance: none; padding-right: 48px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2300177a'%3E%3Cpath d='M12 15.4 6.6 10l1.4-1.4 4 4 4-4 1.4 1.4z'/%3E%3C/svg%3E") no-repeat right 16px center / 24px; }
.pv-f select:invalid { color: #6b758a; }
.pv-f ::placeholder { color: #6b758a; opacity: 1; }
.pv-f input:focus-visible, .pv-f select:focus-visible, .pv-f textarea:focus-visible { outline: 3px solid var(--c-gold-2); outline-offset: 2px; }
.pv-f input:user-invalid, .pv-f select:user-invalid, .pv-f textarea:user-invalid { border-color: #ff8a80; }
.pv-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pv-form__note { font-weight: 400; font-size: max(14px, calc(16 * var(--u))); line-height: calc(23.2 / 16); }
.pv-form__btn { width: calc(320 * var(--u)); min-width: 220px; min-height: max(48px, calc(59 * var(--u))); padding: 0 24px; border-radius: 7px; background: #cc994a; color: #fff; font-weight: 700; font-size: max(14px, calc(16 * var(--u))); line-height: 1.45; letter-spacing: 0; transition: background-color .2s; }
.pv-form__btn:hover { background: #b7873f; }

/* ---------------------------------------------------------------- RESPONZIVITA */
@media (max-width: 1279px) {
  .pv-hours--a .pv-hours__in, .pv-hours--b .pv-hours__in { padding-inline: var(--gut); }
  .pv-hours__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pv-now__grid { grid-template-columns: repeat(2, 1fr); }
  .pv-fc__grid { grid-template-columns: repeat(5, minmax(200px, 1fr)); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding-bottom: 8px; }
  .pv-fc__c { scroll-snap-align: start; }
  .pv-snow__grid { grid-template-columns: repeat(2, 1fr); }
  .pv-safe__grid { grid-template-columns: repeat(2, 1fr); }
  .pv-dir__grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
  .pv-contact__row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr); }
}
@media (max-width: 1023px) {
  .pv-in, .pv-dir .pv-in { padding-inline: var(--gut); }
  .pv-hours__in { padding-block: 64px !important; }
  .pv-hours__grid { grid-template-columns: 1fr; gap: 24px; }
  .pv-now { padding-top: 56px; }
  .pv-fc { padding-top: 56px; }
  .pv-snow { padding: 56px 0; }
  .pv-safe, .pv-cams { padding: 56px 0; }
  .pv-dir { padding-bottom: 8px; }
  .pv-dir__grid { grid-template-columns: 1fr; row-gap: 24px; }
  .pv-contact__in { padding: 56px var(--gut); }
  .pv-contact__row { grid-template-columns: 1fr; row-gap: 40px; }
  .pv-road { flex-wrap: wrap; gap: 12px 20px; padding: 20px; }
  .pv-road__sep { display: none; }
  .pv-road__t { flex-basis: 100%; }
}
@media (max-width: 767px) {
  .pv-now__head { flex-direction: column; gap: 16px; }
  .pv-now__grid { grid-template-columns: 1fr; gap: 12px; }
  .pv-cond { min-height: 0; padding: 20px; }
  .pv-cond__top { height: 36px; }
  .pv-snow__grid { grid-template-columns: 1fr; gap: 12px; }
  .pv-snow__c { padding: 18px 20px; }
  .pv-safe__grid { grid-template-columns: 1fr; gap: 12px; }
  .pv-safe__grid li { padding: 14px 18px; gap: 14px; }
  .pv-season__top, .pv-season__body { padding: 22px 18px; }
  .pv-week { gap: 4px; }
  .pv-exc > div { flex-direction: column; gap: 2px; }
  .pv-exc dd { text-align: left; }
  .pv-rides { gap: 12px; }
  .pv-incl__list { grid-template-columns: 1fr; }
  .pv-form__row { grid-template-columns: 1fr; gap: 16px; }
  .pv-form { gap: 18px; }
  .pv-form__btn { width: 100%; }
  .pv-dir__btns { flex-direction: column; gap: 12px; }
  .pv-dir__btn--line { width: 100%; }
  .pv-dcard { padding: 20px; gap: 14px; }
  .pv-cams__frame { aspect-ratio: 4 / 3; }
}
@media (max-width: 1023px) {
  .pv-hours--a .pv-season, .pv-hours--b .pv-season { min-height: 0; }
}
@media (max-width: 767px) {
  .pv-week__d { font-size: 10px; padding: 10px 0; }
}
