/* WINTER SKI: intact localized poster and a single content switcher. */
.ski-page{--ski-ice:#ecf6fb;--ski-ink:#102a4c;--ski-line:#102a4c26;--ski-pad:clamp(22px,4.2vw,76px);background:var(--ski-ice)}
.ski-page .header{background:var(--ski-ice)}
.ski-page .header.header-hidden{transform:none;pointer-events:auto}
.ski-page [data-reveal]{opacity:1!important;transform:none!important}
.ski-page svg{display:block;width:24px;height:24px;flex-shrink:0}
.ski-container{padding-inline:var(--ski-pad);max-width:1440px;margin-inline:auto}
.ski-hero{background:var(--ski-ink)}
.ski-page .ski-hero-poster{display:block;width:100%;height:auto;max-height:calc(100svh - 195px);object-fit:contain;margin:auto}
.ski-hero-bottom{padding:18px var(--ski-pad);display:flex;justify-content:flex-end;max-width:1440px;margin:auto}
.ski-hero-action{width:300px}
.ski-register{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:16px 21px;background:#274dc7;color:#e5edff;border:1px solid #6080db;font-size:14px;font-weight:800;line-height:1.35;border-radius:0}
.ski-register:disabled{cursor:default}.ski-register svg{opacity:.75}
.ski-jump{display:flex;align-items:center;gap:clamp(25px,3vw,48px);padding:0 var(--ski-pad);min-height:66px;border-bottom:1px solid var(--ski-line);background:var(--ski-ice);position:sticky;top:96px;z-index:12}
.ski-jump a{font-size:13px;font-weight:750;white-space:nowrap;min-height:66px;display:flex;align-items:center;position:relative}
.ski-jump a:hover,.ski-jump a.is-active{color:var(--blue)}
.ski-jump a:after{content:'';height:3px;background:var(--blue);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0);transition:transform .2s}
.ski-jump a:hover:after,.ski-jump a.is-active:after{transform:scaleX(1)}
.ski-page .ski-panels{padding-top:38px;padding-bottom:38px;scroll-margin-top:162px}
.ski-page .ski-panel{min-height:320px;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;scroll-margin-top:180px;background:#fff;border:1px solid var(--ski-line)}
.ski-panel+.ski-panel{margin-top:24px}.ski-page.ski-tabs-ready .ski-panel{margin-top:0}
.ski-page .ski-panel-copy{padding:35px 38px;display:flex;flex-direction:column;align-items:start;justify-content:center;min-width:0}
.ski-page .ski-panel h2{font:800 clamp(25px,2.4vw,37px)/1.17 Manrope,sans-serif;letter-spacing:-.045em}
.ski-panel-copy p{font-size:14px;line-height:1.75;color:var(--muted);margin-top:16px;max-width:38ch}
.ski-outline-button{display:inline-flex;gap:20px;align-items:center;justify-content:space-between;min-height:48px;padding:12px 16px;border:1px solid #7c91aa;font-size:12px;font-weight:750;margin-top:27px;line-height:1.4}
.ski-outline-button svg{width:18px;height:18px}
.ski-outline-button:disabled{color:#65768b;border-color:#bdc8d5;cursor:default}
.ski-outline-button:not(:disabled):hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.ski-page .ski-distances-panel{display:block;background:transparent;border:0;min-height:180px}
.ski-distance-summary{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;padding:26px 0}
.ski-distance-summary p{min-width:0;border-right:1px solid var(--ski-line);padding:0 28px;display:flex;flex-direction:column;gap:10px}
.ski-distance-summary p:first-child{padding-left:0}.ski-distance-summary p:last-child{border:0}
.ski-distance-summary strong{font:400 clamp(40px,6vw,80px)/1.15 Anton,sans-serif}
.ski-distance-summary strong span{font:700 20px Manrope,sans-serif}
.ski-distance-summary p>span{font-size:12px;color:var(--muted)}
.ski-route-photo{width:100%;height:100%;min-height:320px;object-fit:cover;object-position:center 48%}
.ski-page .ski-programme-panel,.ski-page .ski-rules-panel{grid-template-columns:260px minmax(0,1fr);align-items:center}
.ski-calendar-tile{margin:28px 0 28px 38px;padding:26px 15px;background:var(--blue);color:#fff;text-align:center;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%);display:flex;flex-direction:column;gap:12px}
.ski-calendar-tile>span{font-size:11px;letter-spacing:.05em;font-weight:700}.ski-calendar-tile strong{font:400 100px/1 Anton,sans-serif}
.ski-page .ski-prices-panel{display:block;padding:32px 38px 24px}.ski-page .ski-prices-panel .ski-panel-copy{padding:0;display:block}
.ski-price-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:24px;text-align:left}
.ski-price-table th,.ski-price-table td{padding:11px 8px;border-top:1px solid var(--ski-line)}
.ski-price-table thead th{font-size:11px;font-weight:600;color:var(--muted);border:0}
.ski-price-table th:last-child,.ski-price-table td{text-align:right;font-weight:500;color:var(--muted)}
.ski-price-table tbody th{font-size:19px;line-height:1.4}.ski-price-table th small{display:block;font-size:11px;font-weight:500}
.ski-document-art{margin:35px 0 35px 38px;min-height:220px;background:#edf3fb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transform:rotate(-3deg);color:var(--blue)}
.ski-document-art svg{width:88px;height:110px}.ski-document-art>span{font:400 21px/1 Anton,sans-serif}
.ski-contact{padding-top:15px;padding-bottom:48px;display:flex;align-items:end;justify-content:space-between;gap:30px}
.ski-contact p{font-size:13px;color:var(--muted);margin-bottom:7px}.ski-contact a{display:flex;align-items:center;gap:22px}
.ski-contact>div>a{font-size:clamp(19px,2.3vw,30px);font-weight:800;letter-spacing:-.045em;color:var(--blue)}.ski-contact .ski-festival-link{font-size:13px;font-weight:700}
.ski-mobile-register{display:none}
.ski-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ski-panel:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
@media(min-width:1440px){.ski-jump{padding-inline:max(var(--ski-pad),calc((100vw - 1288px)/2))}}
@media(max-width:960px){.ski-jump{top:82px}.ski-page .ski-panel-copy{padding:30px}.ski-page .ski-panel h2{font-size:28px}}
@media(max-width:760px){
 .ski-page{--ski-pad:22px;padding-bottom:80px}.ski-page .header{position:relative;will-change:auto}
 .ski-page .ski-hero-poster{max-height:none;width:100%;height:auto;object-fit:contain}
 .ski-hero-bottom{padding:16px 22px}.ski-hero-action{width:100%}.ski-register{min-height:52px;font-size:13px}
 .ski-jump{top:0;min-height:54px;gap:23px;padding-inline:22px;overflow-x:auto;scrollbar-width:none}.ski-jump::-webkit-scrollbar{display:none}.ski-jump a{min-height:54px;font-size:12px;flex-shrink:0}
 .ski-page .ski-panels{padding-top:24px;padding-bottom:24px;scroll-margin-top:54px}
 .ski-page .ski-panel{grid-template-columns:1fr;min-height:0;scroll-margin-top:75px}
 .ski-page .ski-distances-panel{min-height:150px}.ski-distance-summary{padding:18px 0;grid-template-columns:1fr 1fr 1.25fr}
 .ski-distance-summary p{padding:0 14px;gap:8px}.ski-distance-summary strong{font-size:43px;white-space:nowrap}.ski-distance-summary strong span{font-size:13px}.ski-distance-summary p:last-child{padding-right:0}.ski-distance-summary p>span{font-size:10px}
 .ski-page .ski-panel-copy{padding:27px 22px;min-height:225px;justify-content:start}.ski-page .ski-panel h2{font-size:25px}
 .ski-panel-copy p{font-size:13px;margin-top:12px;max-width:42ch}.ski-outline-button{margin-top:22px;min-height:46px;font-size:11px}
 .ski-route-photo{height:auto;aspect-ratio:1.8;min-height:0;object-fit:cover}
 .ski-page .ski-programme-panel,.ski-page .ski-rules-panel{grid-template-columns:96px minmax(0,1fr);padding:0 20px;gap:18px;min-height:300px}
 .ski-page .ski-programme-panel .ski-panel-copy,.ski-page .ski-rules-panel .ski-panel-copy{padding:27px 0;min-height:0;justify-content:center}
 .ski-page .ski-programme-panel h2,.ski-page .ski-rules-panel h2{font-size:22px}
 .ski-calendar-tile{margin:0;padding:22px 7px;gap:13px;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}.ski-calendar-tile strong{font-size:62px}.ski-calendar-tile>span{font-size:8px;letter-spacing:0}
 .ski-programme-panel .ski-outline-button,.ski-rules-panel .ski-outline-button{gap:8px;padding:10px;font-size:10px}
 .ski-document-art{margin:0;min-height:170px;gap:12px}.ski-document-art svg{width:61px;height:79px}.ski-document-art>span{font-size:16px}
 .ski-page .ski-prices-panel{padding:27px 22px 23px;min-height:355px}.ski-page .ski-prices-panel .ski-panel-copy{min-height:0;padding:0}.ski-price-table{font-size:12px}.ski-price-table tbody th{font-size:21px}
 .ski-contact{padding-top:12px;padding-bottom:35px;display:block}.ski-contact p{font-size:12px}.ski-contact>div>a{font-size:23px;gap:14px}.ski-contact .ski-festival-link{margin-top:24px;font-size:12px;gap:12px}
 .ski-mobile-register{position:fixed;bottom:0;left:0;right:0;z-index:18;display:flex;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#f6fafff5;backdrop-filter:blur(14px);border-top:1px solid #c7d7e7;box-shadow:0 -5px 24px #102a4c07}
 .ski-mobile-register .ski-register{min-height:49px;padding:13px 16px;font-size:12px}.ski-mobile-register svg{width:20px;height:20px}
 .ski-page:has(#site-menu[open]) .ski-mobile-register{visibility:hidden}
}
@media(max-width:370px){.ski-page{--ski-pad:18px}.ski-hero-bottom{padding-inline:18px}.ski-distance-summary p{padding-inline:10px}.ski-distance-summary strong{font-size:36px}.ski-page .ski-programme-panel,.ski-page .ski-rules-panel{grid-template-columns:78px minmax(0,1fr);gap:14px;padding-inline:14px}.ski-page .ski-panel h2{font-size:22px}.ski-document-art>span{font-size:14px}.ski-jump{gap:20px;padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.ski-page *{scroll-behavior:auto!important;transition:none!important}}
@media print{.ski-jump,.ski-mobile-register,.ski-register{display:none!important}.ski-page{padding:0}.ski-page .ski-panel[hidden]{display:grid!important}.ski-page .ski-hero-poster{max-height:none}.ski-panel{break-inside:avoid}}

.ski-register.fienta-embed{background:var(--blue);color:#fff;border-color:var(--blue);cursor:pointer;text-decoration:none}.ski-register.fienta-embed:hover{background:#1235bf}.ski-register.fienta-embed:focus-visible{outline:3px solid #fff;outline-offset:3px}
/* Desktop opening screen: visible site navigation, intact poster and full-width tabs. */
@media(min-width:761px){
 .ski-page{--ski-header-height:96px;--ski-tabs-height:76px}
 .ski-page .header,.ski-page .header.header-hidden{position:sticky;top:0;transform:none;pointer-events:auto;z-index:30;height:var(--ski-header-height)}
 .ski-page .ski-hero{background:#8b9fb5;display:flex;justify-content:center;overflow:hidden}
 .ski-hero-frame{position:relative;width:min(100%,calc((100svh - var(--ski-header-height) - var(--ski-tabs-height))*2.09));aspect-ratio:2.09;height:auto}
 .ski-hero-frame picture{display:block;width:100%;height:100%}
 .ski-page .ski-hero-poster{width:100%;height:100%;max-height:none;object-fit:contain}
 .ski-hero-bottom{position:absolute;right:5.6%;bottom:2.5%;padding:0;width:22.5%;min-width:230px;max-width:none;margin:0}
 .ski-hero-action{width:100%}
 .ski-hero-action .ski-register{min-height:46px;padding:12px 18px;font-size:clamp(12px,1vw,17px);box-shadow:0 6px 24px #102a4c24;border:0}
 .ski-jump{top:var(--ski-header-height);display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0;min-height:var(--ski-tabs-height)}
 .ski-jump a{justify-content:center;min-height:var(--ski-tabs-height);font-size:clamp(15px,1.25vw,20px);font-weight:800;border-right:1px solid var(--ski-line);transition:background .2s,color .2s}
 .ski-jump a:last-child{border-right:0}.ski-jump a.is-active{background:#dfeaf7;color:var(--blue)}
 .ski-jump a:hover{background:#e2edf8}.ski-jump a:after{height:4px}
 .ski-page .ski-panels{scroll-margin-top:calc(var(--ski-header-height) + var(--ski-tabs-height))}
 .ski-page .ski-panel{scroll-margin-top:calc(var(--ski-header-height) + var(--ski-tabs-height) + 18px)}
 .ski-hero-frame-en{aspect-ratio:1672/941;width:min(100%,calc((100svh - var(--ski-header-height) - var(--ski-tabs-height))*1.777))}
 .ski-hero-frame-en .ski-hero-bottom{bottom:1%;right:50%;transform:translateX(50%)}
}
@media(min-width:761px) and (max-width:960px){.ski-page{--ski-header-height:82px;--ski-tabs-height:68px}}
@media(max-width:760px){
 .ski-hero,.ski-hero-frame{background:var(--ski-ice)}
 .ski-hero-frame picture{display:block}
 .ski-hero-bottom{padding:18px 22px 20px;background:var(--ski-ice)}
 .ski-hero-action .ski-register{min-height:56px;padding:16px 20px;border:0;box-shadow:0 5px 15px #233fc71a}
 .ski-mobile-register{left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none}
 .ski-mobile-register .ski-register{min-height:52px;border:1px solid #ffffff55;box-shadow:0 5px 22px #102a4c35}
}



/* Plain entry-fee table, shared by all three languages. */
.ski-page .ski-prices-panel{display:block;background:transparent;border:0;padding:0;min-height:0}
.ski-fees-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left;margin-top:24px}
.ski-fees-table th:first-child{width:54%}
.ski-fees-table thead th{font-size:13px;font-weight:600;color:var(--muted);padding:0 0 17px}
.ski-fees-table th:not(:first-child),.ski-fees-table td{text-align:right}
.ski-fees-table tbody th,.ski-fees-table td{border-top:1px solid var(--ski-line);padding:23px 0}
.ski-fees-table tbody tr:last-child{border-bottom:1px solid var(--ski-line)}
.ski-fees-table tbody th{font-size:16px;font-weight:700;line-height:1.5;padding-right:20px}
.ski-fees-table td{font:400 32px/1.3 Anton,sans-serif;white-space:nowrap}
.ski-fees-table small{display:block;font:500 12px/1.5 Manrope,sans-serif;margin-top:4px}
.ski-fees-table .is-sold{color:#718091}.ski-fees-table .is-sold small{color:#5369a5}
@media(max-width:760px){
 .ski-fees-table{margin-top:22px}.ski-fees-table th:first-child{width:47%}
 .ski-fees-table thead th{font-size:11px;line-height:1.45;padding-bottom:13px;vertical-align:bottom}
 .ski-fees-table thead th:last-child{padding-left:10px}
 .ski-fees-table tbody th{font-size:12px;padding-right:12px}
 .ski-fees-table tbody th,.ski-fees-table td{padding-top:19px;padding-bottom:19px}
 .ski-fees-table td{font-size:26px}.ski-fees-table small{font-size:10px}
}

.ski-fees-table .is-sold td:nth-child(2){text-decoration:line-through;text-decoration-thickness:2px}

.ski-page .ski-route-panel{display:block;min-height:0;background:transparent;border:0;padding:10px 0 32px}.ski-route-panel>p{font-size:16px;line-height:1.65;color:var(--ski-ink)}

.ski-contact>.ski-bottom-register{width:300px;max-width:100%;flex-shrink:0}
@media(max-width:760px){.ski-contact>.ski-bottom-register{margin-top:24px;width:100%}}

@media(max-width:760px){
 .ski-jump{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding-inline:0;overflow:visible;min-height:58px}
 .ski-jump a{justify-content:center;min-width:0;min-height:58px;font-size:clamp(10px,3vw,13px);font-weight:800;border-right:1px solid var(--ski-line)}
 .ski-jump a:last-child{border-right:0}
 .ski-jump a.is-active{background:#dfeaf7;color:var(--blue)}
 .ski-jump a:after{height:3px}
 .ski-page .ski-panels{scroll-margin-top:58px}
}

/* Programme: simple time and event rows. */
.ski-page .ski-programme-panel{display:block;min-height:0;padding:0;background:transparent;border:0}
.ski-schedule{list-style:none;margin:0;padding:0}
.ski-schedule li{display:grid;grid-template-columns:210px minmax(0,1fr);gap:35px;padding:30px 0;border-top:1px solid var(--ski-line)}
.ski-schedule li:last-child{border-bottom:1px solid var(--ski-line)}
.ski-schedule-time{font-family:Anton,sans-serif;font-size:32px;line-height:1.3;color:var(--blue);white-space:nowrap}
.ski-page .ski-schedule h2{font-family:inherit;font-size:23px;line-height:1.35;font-weight:750;margin:0;letter-spacing:-.025em}
.ski-schedule p{font-size:17px;line-height:1.6;color:var(--muted);margin:10px 0 0}
@media(max-width:760px){
 .ski-schedule li{grid-template-columns:100px minmax(0,1fr);gap:16px;padding:23px 0}
 .ski-schedule-time{font-size:20px}
 .ski-page .ski-schedule h2{font-size:16px}
 .ski-schedule p{font-size:13px;margin-top:7px}
}

/* Full rules, readable in the same content tab on all screens. */
.ski-page .ski-rules-panel{display:block;padding:0;border:0;background:transparent;min-height:0}
.ski-rule-list{list-style:none;counter-reset:ski-rule;margin:24px 0 0;padding:0}
.ski-rule-list li{counter-increment:ski-rule;position:relative;border-top:1px solid var(--ski-line);padding:26px 0 26px 58px}
.ski-rule-list li:before{content:counter(ski-rule,decimal-leading-zero);position:absolute;left:0;top:27px;font-family:Anton,sans-serif;font-size:24px;color:var(--blue)}
.ski-rule-list h3{font-size:21px;line-height:1.4;margin:0 0 12px;color:var(--ski-ink)}
.ski-rule-list p{max-width:85ch;font-size:16px;line-height:1.75;margin:0;color:var(--ski-ink)}
.ski-rule-list p+p{margin-top:12px}
@media(max-width:760px){.ski-rule-list{margin-top:20px}.ski-rule-list li{padding:22px 0 22px 36px}.ski-rule-list li:before{top:23px;font-size:20px}.ski-rule-list h3{font-size:17px;margin-bottom:10px}.ski-rule-list p{font-size:14px;line-height:1.7}}
