/* =========================================================================
   SPORT EXTREME — versione per telefono. Si carica solo sotto i 900 px (media="(max-width: 899px)"):
   sul computer non esiste. Stesso HTML, regia diversa:
   una schermata un'idea, il testo intero dietro un tocco, schede da sfogliare col pollice,
   animazioni rifatte per lo schermo verticale (lo sci del laboratorio, la mappa come un'app, la pagina successiva).
   ========================================================================= */

/* ---------------------------------------------------------------- comune */
.blk { padding: 60px var(--pad); }
.h3 { font-size: clamp(2rem, 9vw, 2.8rem); overflow-wrap: break-word; }
.h2, .chooser__q { overflow-wrap: break-word; }
/* in tedesco le parole composte lunghe (es. "Wachsempfehlung") vanno a capo con il trattino; in italiano e inglese no */
html[lang="de"] .h3, html[lang="de"] .h2, html[lang="de"] .chooser__q { hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 10 4 4; }
.blk__head { gap: 14px; margin-bottom: 26px; }
.label { margin-bottom: 16px; }

/* la linea sulla barra in basso: quanto manca alla fine della pagina */
.tab::after { content: ""; position: absolute; left: 26px; right: 26px; top: 0; height: 2px; border-radius: 2px; background: var(--x); transform: scaleX(var(--sp, 0)); transform-origin: left; pointer-events: none; }

/* testi lunghi: tre righe e "Continua" (il testo è tutto nella pagina) */
.clamp { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.clamp.is-open { display: block; -webkit-line-clamp: unset; line-clamp: unset; overflow: visible; }
.clamp__btn, .faq__more, .srcs__btn, .story__more { justify-self: start; display: inline-flex; align-items: center; gap: 10px; height: 44px; margin-top: 12px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--line); background: rgba(255, 255, 255, .55); font-weight: 650; font-size: .9rem; }
.clamp__btn::after, .faq__more::after, .srcs__btn::after { content: "↓"; transition: transform .35s var(--ease-out); }
.clamp__btn[aria-expanded="true"]::after, .srcs__btn[aria-expanded="true"]::after { transform: rotate(180deg); }
.story__more::after { content: "↗"; }
.blk--dark .clamp__btn, .phero--dark .clamp__btn, .blk--dark .faq__more { border-color: var(--line-l); background: rgba(255, 255, 255, .06); color: #eef3f9; }

/* schede da sfogliare: la successiva si intravede, sotto segmenti e contatore */
.sw { display: flex !important; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch;
  margin: 0 calc(-1 * var(--pad)) !important; padding: 6px var(--pad) 12px !important; scroll-padding-inline: var(--pad); border: 0 !important; align-items: stretch; }
.sw::-webkit-scrollbar { display: none; }
.sw[hidden] { display: none !important; }
.sw > li { position: relative; flex: 0 0 calc(100% - 34px); min-width: 0; scroll-snap-align: center; scroll-snap-stop: always; transform-origin: center; }
.sw > li::after { content: ""; position: absolute; inset: 0; z-index: 3; border-radius: inherit; background: var(--sw-veil, rgba(244, 247, 250, .6)); opacity: calc(var(--k, 0) * .6); pointer-events: none; }
.sw:focus-visible { outline: 2px solid var(--x); outline-offset: -4px; border-radius: 20px; }
.sw__bar { display: flex; align-items: center; gap: 14px; margin-top: 8px; }
.sw__segs { flex: 1; display: flex; gap: 6px; }
.sw__segs i { flex: 1; display: grid; align-items: center; height: 22px; cursor: pointer; }
.sw__segs i::before, .sw__segs b { grid-area: 1 / 1; height: 3px; border-radius: 3px; }
.sw__segs i::before { content: ""; background: var(--line); }
.sw__segs b { background: var(--ink); transform-origin: left; transform: scaleX(0); }
.sw__n { color: var(--ink-3); white-space: nowrap; } .sw__n b { color: var(--ink); font-weight: 500; }
.blk--dark .sw__segs i::before, .lab .sw__segs i::before { background: var(--line-l); }
.blk--dark .sw__segs b { background: var(--x); } .blk--dark .sw__n { color: #8ea7bf; } .blk--dark .sw__n b { color: #eef3f9; }
@keyframes swIn { from { opacity: 0; transform: translateY(18px); } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(12px); } }

/* pannello "Leggi tutto" */
.sh-read p { margin: 0 0 1em; font-size: 1.04rem; line-height: 1.6; color: var(--ink-2); }
.sh-read .sh-read__v { margin: 0 0 14px; font-weight: 800; font-stretch: 125%; font-size: 2.6rem; line-height: .92; letter-spacing: -.045em; color: var(--ink); }
.sh-read .sh-read__via { margin: -4px 0 12px; color: var(--ink-3); }
#sh-read .sheet__h { font-size: 1.9rem; }

/* domande frequenti */
.faq { gap: 20px; }
.faq__list summary { padding: 18px 50px 18px 0; font-size: 1.05rem; }
.faq__list summary::after { top: 13px; }
.faq__list .a { padding: 0 0 20px; }
.faq__list details[hidden] { display: none; }

/* fine pagina: "Vieni a trovarci" compatta, footer corto (le pagine sono già nella barra in basso) */
.visitband { gap: 18px; padding: 44px var(--pad) 40px; }
.visitband .h3 { font-size: 2.2rem; }
.visitband > div > .mono { display: none; }
.visitband .open { margin-top: 12px; }
.visitband__ctas { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.visitband__ctas .btn { justify-content: center; padding: 0 14px; }
.pfoot { padding: 36px var(--pad) calc(var(--tabh) + 22px); }
.pfoot .pfoot__cols { display: none; }
.pfoot .foot__big { margin: 0 0 18px -.04em; }
.foot__row { gap: 10px; padding-top: 16px; }
.foot:has(+ .nextpull) { padding-bottom: 34px; }

/* ---------------------------------------------------------------- la pagina successiva: continuando a scorrere ci si arriva */
.nextpull { position: relative; height: 165svh; background: radial-gradient(130% 80% at 85% 0%, #17324f 0%, var(--ink) 62%); color: #eef3f9; }
.nextpull.is-static { height: auto; }
.nextpull__in { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; display: grid; align-content: end; padding: 0 var(--pad) calc(var(--tabh) + 26px); }
.nextpull.is-static .nextpull__in { position: relative; height: 70svh; }
.nextpull .nextp { position: absolute; inset: 0; display: grid; grid-template-columns: 1fr; align-content: end; gap: 12px; padding: 0 var(--pad) calc(var(--tabh) + 176px); border: 0; color: #fff; text-decoration: none; overflow: hidden; }
.nextpull .nextp .mono { position: relative; z-index: 1; color: rgba(255, 255, 255, .72); }
.nextpull .nextp__t { position: relative; z-index: 1; font-size: clamp(2.6rem, 12.5vw, 4rem); transform: translateY(calc((1 - var(--np, 0)) * 46px)); opacity: calc(.45 + var(--np, 0) * .55); transition: none; }
.nextpull .nextp:hover .nextp__t { transform: translateY(calc((1 - var(--np, 0)) * 46px)); }
.nextpull .nextp__arr { display: none; }
.nextpull .nextp__img { display: block; position: absolute; inset: 0; right: 0; bottom: 0; width: auto; aspect-ratio: auto; border-radius: 0; translate: none; rotate: none; pointer-events: none;
  opacity: calc(.3 + var(--np, 0) * .7); transform: scale(calc(1.22 - var(--np, 0) * .22)); transition: none; }
.nextpull .nextp__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7, 17, 29, .5) 0%, rgba(7, 17, 29, .15) 35%, rgba(7, 17, 29, .9) 100%); }
.nextpull__go { position: relative; z-index: 2; justify-self: center; display: grid; justify-items: center; gap: 10px; pointer-events: none; }
.nextpull__ring { width: 64px; height: 64px; transform: rotate(-90deg); overflow: visible; }
.nextpull__ring circle { fill: none; stroke: rgba(255, 255, 255, .2); stroke-width: 3; }
.nextpull__ring .p { stroke: var(--x); stroke-linecap: round; }
.nextpull.is-full .nextpull__ring .p { stroke: #fff; }
.nextpull__hint { color: rgba(255, 255, 255, .78); }
.nextpull.is-static .nextpull__go { display: none; }
.nextpull.is-go .nextpull__in { animation: npGo .5s var(--ease) forwards; }
@keyframes npGo { to { filter: brightness(2.2) blur(8px); opacity: .2; } }

/* ---------------------------------------------------------------- categorie: copertina a tutta pagina con il titolo sulla foto */
.pg-cat main { display: flex; flex-direction: column; }
.pg-cat main > .phero { order: -3; } .pg-cat main > .strip { order: -2; } .pg-cat main > #consiglio { order: -1; }
.phero--split { display: block; padding: 0 0 30px; }
.phero--split .phero__fig { position: absolute; left: 0; right: 0; top: 0; height: 76vh; height: 76svh; min-height: 0; max-height: none; aspect-ratio: auto; margin: 0; border-radius: 0 0 30px 30px; box-shadow: none; }
.phero--split .phero__fig::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7, 17, 29, .55) 0%, rgba(7, 17, 29, 0) 20%, rgba(7, 17, 29, 0) 42%, rgba(7, 17, 29, .86) 100%); pointer-events: none; }
.phero--split .phero__fig img { inset: -6% 0; height: 112%; }
.phero--split .phero__fig figcaption { top: 82px; bottom: auto; color: rgba(255, 255, 255, .85); }
.phero--split > .phero__txt { position: relative; z-index: 1; gap: 18px; padding: 0 var(--pad); }
.phero--split .phero__top { display: flex; flex-direction: column; justify-content: flex-end; min-height: 76vh; min-height: 76svh; padding-bottom: 24px; color: #fff; }
.phero--split .phero__top .crumbs { margin: 0 0 12px; color: rgba(255, 255, 255, .78); }
.phero--split .phero__top .crumbs [aria-current] { color: #fff; }
.phero--split .phero__top .label { margin: 0 0 14px; color: rgba(255, 255, 255, .86); }
.phero--split .phero__top .label span:first-child { background: var(--x); color: #fff; }
.phero--split .phero__h { color: #fff; text-shadow: 0 2px 28px rgba(0, 0, 0, .28); }
.phero--split .phero__lead { font-size: 1.04rem; }
.phero--split .chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 calc(-1 * var(--pad)); padding: 0 var(--pad); -webkit-mask: linear-gradient(90deg, transparent, #000 var(--pad), #000 calc(100% - 30px), transparent); mask: linear-gradient(90deg, transparent, #000 var(--pad), #000 calc(100% - 30px), transparent); }
.phero--split .chips::-webkit-scrollbar { display: none; }
.phero--split .chips li { flex: none; }
.phero--split .phero__ctas { margin-top: 4px; }

/* "In breve": chiuso su tre righe */
.strip { gap: 10px; padding: 30px var(--pad) 34px; }
.strip p { font-size: 1.42rem; line-height: 1.18; max-width: none; }
.strip .label { margin: 0; }

/* consiglio rapido: domanda grande, tre risposte sotto il pollice, la scheda si gira */
.chooser { gap: 16px; perspective: 900px; }
.chooser__q { font-size: 2.25rem; margin: 0 0 18px; }
.chooser__opts { display: grid; gap: 8px; }
.chooser__opts button { display: flex; align-items: center; width: 100%; height: 60px; padding: 0 20px; border-radius: 18px; border: 1.5px solid var(--line); background: #fff; text-align: left; font-size: 1.06rem; }
.chooser__opts button::after { content: "→"; margin-left: auto; opacity: .45; transition: transform .4s var(--ease-out), opacity .3s; }
.chooser__opts button[aria-pressed="true"] { background: var(--ink); color: var(--snow); border-color: var(--ink); }
.chooser__opts button[aria-pressed="true"]::after { opacity: 1; transform: rotate(90deg); }
.chooser__tip { min-height: 0; padding: 22px 22px 24px; border-radius: 22px; }
.chooser__tip.is-empty { display: none; }
.chooser__tip p { font-size: 1.06rem; }

/* come scegliere: quattro schede scure, il dato chiave in grande */
.guide { gap: 0; }
.guide__head { margin-bottom: 20px; }
.guide__list.sw > li { display: flex; flex-direction: column; min-height: min(430px, 60svh); padding: 22px 22px 20px; border: 0; border-radius: 26px; color: #eef3f9; overflow: hidden; isolation: isolate;
  background: radial-gradient(120% 70% at 100% 0%, color-mix(in srgb, var(--x) 30%, transparent), transparent 62%), var(--ink); --sw-veil: rgba(244, 247, 250, .55); }
.guide__list.sw > li::before { grid-row: auto; color: var(--x-l); filter: none; font-size: .78rem; }
.guide__list.sw b { margin-top: 4px; color: #fff; font-size: 1.45rem; }
.guide__list .g__f { display: block; margin: auto 0 14px; padding-top: 26px; font-weight: 800; font-stretch: 125%; font-size: clamp(2.2rem, 11.2vw, 3.3rem); line-height: .9; letter-spacing: -.045em; color: var(--x-l); overflow-wrap: anywhere; }
.guide__list .g__t { display: block; font-size: 1.02rem; line-height: 1.45; color: #c9d6e3; }
.guide__list.sw > li > p { display: none; }
.g__more { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; height: 42px; margin-top: 18px; padding: 0 16px; border-radius: 999px; background: rgba(255, 255, 255, .1); color: #fff; font-weight: 650; font-size: .88rem; }
.g__more::after { content: "↗"; }
.sw > li.is-cur .g__f, .sw > li.is-cur .g__t { animation: swIn .7s var(--ease-out) both; }
.sw > li.is-cur .g__t { animation-delay: .06s; }

/* in negozio */
.instore { gap: 20px; }
.instore p:not(.label) { font-size: 1rem; }
.mq { padding: 18px 0; }

/* ---------------------------------------------------------------- negozio */
.pg-shop .phero { padding-bottom: 34px; }
.pg-shop .blk__head { margin-bottom: 20px; }

/* ---------------------------------------------------------------- SKI SERVICE: lo sci in verticale scorre sotto la macchina */
.lab__pin { gap: 12px; padding-bottom: calc(var(--tabh) + 10px); }
.lab .svc__ski, .svc__face--w .svc__ski { position: relative; align-self: stretch; height: 100%; min-height: 0; margin: 0 calc(-1 * var(--pad)); overflow: hidden;
  -webkit-mask: linear-gradient(180deg, transparent 0%, #000 16%, #000 84%, transparent 100%); mask: linear-gradient(180deg, transparent 0%, #000 16%, #000 84%, transparent 100%); }
.ski.ski--v { position: absolute; left: 0; top: 0; max-width: none; transform-origin: 0 0; will-change: transform; filter: drop-shadow(-16px 0 24px rgba(0, 0, 0, .5)); }
.lab .svc__steps li.is-cur { animation: fadeUp .45s var(--ease-out); }
.lab__count { font-size: 2.6rem; white-space: nowrap; }
/* sciolina di oggi: un widget */
.wax { gap: 16px; }
.wax__t { font-size: clamp(4.6rem, 24vw, 6.4rem); }
.wax__out { margin-top: 18px; padding: 20px; }
.wax__range { height: 34px; }
.wax__bands { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.wax__bands li { grid-template-columns: 1fr; justify-items: center; gap: 6px; padding: 12px 4px; text-align: center; border-radius: 14px; }
.wax__bands li::before { grid-row: auto; align-self: auto; }
.wax__bands b { font-size: .74rem; line-height: 1.15; }
.wax__bands small { display: none; }
/* listino: righe come biglietti */
.price-wrap .price, .pg-ski .price { display: grid; grid-template-columns: 1fr; gap: 8px; }
.pg-ski .price li { grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; column-gap: 14px; row-gap: 2px; padding: 16px 18px; border-radius: 18px; }
.pg-ski .price li.is-pro { grid-column: auto; }
.pg-ski .price__n { grid-column: 1; font-size: 1.2rem; }
.pg-ski .price__d { grid-column: 1; min-height: 0; font-size: .82rem; }
.pg-ski .price__v { grid-column: 2; grid-row: 1 / span 2; margin: 0; font-size: 2.1rem; }
.when { gap: 18px; }
.when li { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 14px; padding: 0; }
.when li span { grid-row: span 2; margin: 0; }
.when b { font-size: 1.25rem; } .when p { margin-top: 4px; font-size: .95rem; }

/* ---------------------------------------------------------------- NOLEGGIO */
.phero--rent { gap: 10px; padding-bottom: 20px; }
.phero--rent .rent__stage, .rent__stage { min-height: 430px; touch-action: pan-y; }
.cable__pin { padding-bottom: calc(var(--tabh) + 10px); }
.cable__card { padding: 18px 20px; }
.ticks li { padding: 14px 0 14px 34px; font-size: 1rem; }
.ticks li::before { top: 19px; }

/* ---------------------------------------------------------------- TAX FREE */
.phero--short { padding-bottom: 34px; }
.tl.sw > li { display: flex; flex-direction: column; gap: 14px; padding: 22px; border-radius: 24px; background: #fff; border: 1px solid var(--line); }
.tl .tl__rail, .tl.sw > .tl__rail { display: none; }
.tl.sw .tl__dot { background: var(--ink); color: var(--snow); border-color: var(--ink); }
.tl.sw .tl__step b { font-size: 1.6rem; }
.tl.sw .tl__step p { font-size: .98rem; }
.rtabs { display: grid; gap: 12px; margin: 0 0 18px; }
.rtabs__q { margin: 0; font-weight: 750; font-stretch: 108%; font-size: 1.22rem; letter-spacing: -.01em; }
.rtabs .seg { justify-self: stretch; }
.rtabs .seg button { flex: 1; justify-content: center; padding: 0 12px; }
.rpanel { display: block; }
.rpanel[hidden] { display: none; }
.rpanel__h { display: none; }
.rpanel .rpanel__p { margin: 0 0 4px !important; font-size: .95rem; }
.rpanel .clamp__btn { margin: 4px 0 16px; }
.rules { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.rules li { position: relative; align-content: space-between; gap: 10px; min-height: 124px; padding: 16px 14px 14px; border-radius: 18px; }
.rules li::before { content: "↗"; position: absolute; right: 12px; top: 10px; font-size: .78rem; color: var(--ink-3); }
.rules .v { padding-right: 14px; font-size: 1.5rem; }
.rules b { font-size: .86rem; font-weight: 650; color: var(--ink-2); }
.rules p { display: none; }
.rules .rule__more { display: block; position: absolute; inset: 0; z-index: 2; border-radius: inherit; }
.rules .rule__more:active { background: rgba(11, 26, 43, .05); }
.srcs__h { display: none; }
.srcs { display: none; }
.srcs.is-open { display: flex; animation: fadeUp .4s var(--ease-out); }
.srcs__btn { display: inline-flex; margin-top: 18px; }

/* ---------------------------------------------------------------- CHI SIAMO */
.quote { font-size: 1.85rem; line-height: 1.08; }
.story { display: block; }
.story__year { position: sticky; top: 64px; z-index: 2; margin: 0 calc(-1 * var(--pad)) 6px; padding: 6px var(--pad) 10px; background: var(--snow-2); font-size: 27vw; line-height: .82; }
.story__txt { display: none; }
.beats { position: relative; z-index: 1; display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.beats li { padding: 20px 20px 22px; border-radius: 22px; background: #fff; border: 1px solid var(--line); }
.beats__y { display: block; margin-bottom: 8px; font: 500 .72rem/1 var(--f-m); letter-spacing: .1em; text-transform: uppercase; color: var(--x-ink); }
.beats p { margin: 0; font-size: 1.14rem; line-height: 1.42; color: var(--ink-2); }
.story__more { margin-top: 16px; }
.band-img { height: 42svh; }
.nums { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.nums > div { padding: 20px 0 6px; }
.nums b { font-size: 2.5rem; }
.vals.sw > li { min-height: 240px; --sw-veil: rgba(230, 237, 244, .6); }
.vals li:hover { transform: none; box-shadow: none; }

/* ---------------------------------------------------------------- DOVE SIAMO: la mappa a tutto schermo, la scheda in basso come in un'app di mappe */
.vmap { display: block; height: 100vh; height: 100svh; min-height: 0; }
.vmap__fig { position: absolute; left: 0; right: 0; top: 0; height: 78%; min-height: 0; }
.vmap__card { position: absolute; z-index: 3; left: 10px; right: 10px; bottom: calc(var(--tabh) + 10px); margin: 0; padding: 10px 18px 14px; border-radius: 24px; max-height: calc(100svh - var(--tabh) - 84px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; }
.vmap__grip { position: relative; display: block; width: 44px; height: 5px; margin: 0 auto 12px; border-radius: 4px; background: rgba(255, 255, 255, .32); touch-action: none; cursor: grab; }
.vmap__grip::before { content: ""; position: absolute; inset: -14px -60px; }
.vmap__card .crumbs { display: none; }
.vmap__card .label { margin-bottom: 10px; }
.vmap__card .h3 { font-size: 1.85rem; }
.vmap__card .open { margin-top: 10px; }
.vmap__more { display: none; }
.vmap__card.is-open .vmap__more { display: block; animation: fadeUp .45s var(--ease-out); }
.vmap__card dl { margin: 18px 0 6px; gap: 12px; }
.vmap__card .phero__ctas { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.vmap__card .phero__ctas .btn { justify-content: center; height: 50px; padding: 0 12px; }
.vmap__tog { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: 12px; padding: 12px 2px 0; border-top: 1px solid var(--line-l); color: #c9d6e3; font-weight: 650; font-size: .92rem; }
.vmap__tog i::before { content: "↑"; font-style: normal; } .vmap__tog[aria-expanded="true"] i::before { content: "↓"; }
.routes.sw > li { min-height: 300px; }
.routes svg { height: 84px; }
.routes .r__t { display: block; color: var(--ink-2); font-size: 1rem; line-height: 1.45; }
.routes.sw > li > p { display: none; }
.routes .g__more { margin-top: auto; background: var(--snow-2); color: var(--ink); }
.routes.sw > li { display: flex; flex-direction: column; }

/* ---------------------------------------------------------------- testi (privacy, note legali) */
.prose { padding-bottom: 56px; font-size: 1rem; }

/* ================================================================= HOME */
/* la discesa: un po' più corta sul telefono (6 capitoli, circa una schermata ciascuno) */
.stage { height: 640vh; }
/* stagioni: schede con le foto delle categorie, sfalsate come porte di slalom */
.coll { padding: 64px var(--pad) 40px; }
.coll__head { gap: 18px; margin-bottom: 22px; }
.coll__list.sw > li { flex-basis: 70%; border: 0; scroll-snap-align: start; }
.coll__list.sw > li:nth-child(even) { margin-top: 30px; }
.coll__list.sw { align-items: flex-start; padding-bottom: 6px !important; }
.coll__list a { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; aspect-ratio: 4 / 5; padding: 18px; border-radius: 24px; overflow: hidden; color: #fff; isolation: isolate; background: var(--ink); }
.coll__list a::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(7, 17, 29, .1) 30%, rgba(7, 17, 29, .84)); }
.coll__list .ph { position: absolute; inset: 0; z-index: -2; }
.coll__list .ph img { width: 100%; height: 100%; object-fit: cover; }
.coll__list .n { color: rgba(255, 255, 255, .82); }
.coll__list .t { font-size: 1.55rem; color: #fff; }
.coll__list .b { color: rgba(255, 255, 255, .82); font-size: .76rem; }
.coll__list .arr { position: absolute; right: 14px; top: 14px; width: 40px; height: 40px; border-color: rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .16); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.coll__list:hover a { opacity: 1; }
.coll__list a:hover .t { transform: none; }
.coll__list[hidden] + .sw__bar { display: none; }
/* sezione B: Ski Service con lo sci verticale, il listino è nella pagina Ski Service */
/* (anche con l'estate scelta: la scheda della salita resta sopra la barra in basso) */
.svc__pin, html[data-pick="summer"] .svc__pin { padding-bottom: calc(var(--tabh) + 10px); }
.svc__face--w .svc__p { display: none; }
.svc__face--w .svc__steps { display: block; border-top: 0; }
.svc__face--w .svc__steps li { display: none; }
.svc__face--w .svc__steps li.is-cur { display: grid; opacity: 1; gap: 4px; padding: 16px 18px 18px; border-radius: 18px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(var(--x-rgb), .4); animation: fadeUp .45s var(--ease-out); }
.svc__face--w .svc__steps li.is-cur span { color: var(--x-l); }
.svc__face--w .svc__steps li.is-cur strong { font-size: 1.35rem; }
.svc__face--w .svc__steps li.is-cur small { font-size: .92rem; color: #c2d1e0; }
.svc__prices { display: none; }
/* noleggio */
.rent { gap: 6px; padding: 64px var(--pad) 20px; }
.rent__list { margin: 22px 0 14px; } .rent__list li { padding: 11px 0; font-size: .95rem; }
.rent__copy .btn { margin-top: 6px; }
.pass { width: min(300px, 76vw); }
/* tax free: il numero che scende e una riga (la storia e le franchigie sono nella pagina Tax free) */
.tax { height: 200vh; }
.tax__pin { padding-bottom: calc(var(--tabh) + 14px); }
.tax__facts { display: none; }
/* chi siamo */
.about { padding: 64px var(--pad) 44px; }
.about__q { font-size: 2.2rem; margin-bottom: 34px; }
.about__nums { margin-bottom: 28px; }
.values { display: none; }
.about__more { margin-top: 0; }
/* dove siamo */
.visit__map { min-height: 62svh; }
.terrain__hint { top: 84px; }
.visit__info { gap: 22px; padding: 40px var(--pad) 46px; }
.info { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 14px; }
.info dd { font-size: .92rem; overflow-wrap: anywhere; }
.info > div:nth-child(3) { grid-column: 1 / -1; } /* l'e-mail su una riga intera */
.brands { padding: 30px 0 26px; }
.visit__ctas { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.visit__ctas .btn { justify-content: center; padding: 0 12px; }
.visit__ctas .btn:first-child { grid-column: 1 / -1; }
/* footer della home */
.foot { padding-top: 44px; }
.foot .foot__big { margin: 0 0 18px -.04em; }

@media (prefers-reduced-motion: reduce) {
  .sw > li.is-cur .g__f, .sw > li.is-cur .g__t, .lab .svc__steps li.is-cur, .svc__face--w .svc__steps li.is-cur, .vmap__card.is-open .vmap__more, .srcs.is-open { animation: none; }
}

/* Android stretto: i numeri di Chi siamo restano nella loro colonna */
.nums b { font-size: min(2.5rem, 8.2vw); }

/* ---------------------------------------------------------------- telefono in orizzontale (schermo basso): lo sci torna orizzontale,
   la scheda della mappa va di lato, i titoli delle scene agganciate si stringono */
@media (orientation: landscape) and (max-height: 520px) {
  .lab .svc__ski, .svc__face--w .svc__ski { height: auto; margin: 0 -2vw; overflow: visible; -webkit-mask: none; mask: none; align-self: center; }
  .lab .svc__ski { margin: 0 12vw; }
  .svc__face--w .svc__ski { margin: 0 14vw; }
  .svc__face--w .h2 { font-size: 2rem; }
  .svc__face--w .svc__steps { display: none; }
  .svc__pin { padding-top: 64px; gap: 8px; }
  .lab__pin, .cable__pin { padding-top: 70px; gap: 8px; }
  .lab__top .h3, .cable .h3 { font-size: 1.7rem; }
  .lab__top .label { display: none; }
  .lab .svc__steps li.is-cur { padding: 10px 16px; }
  .lab .svc__steps li.is-cur small, .svc__face--w .svc__steps li.is-cur small { display: none; }
  .vmap__fig { height: 100%; }
  .vmap__card { left: auto; right: 12px; top: 64px; bottom: calc(var(--tabh) + 8px); width: min(380px, 48%); }
  .phero--split .phero__fig { height: 100svh; }
  .phero--split .phero__top { min-height: 100svh; }
  .phero--split .phero__h { font-size: min(3.4rem, calc(100cqi / (var(--lw, 8) * .64))); }
}
