/* Sito Piscine Biafora — stesso stile del gestionale prenotazioni */
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-Medium.ttf") format("truetype");font-weight:500 600;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-Bold.ttf") format("truetype");font-weight:700;font-display:swap}

:root{
  --blu:#116498; --blu-d:#0b4a73; --blu-dd:#08395a; --blu-l:#e7f2f8; --blu-ll:#f3f9fc;
  --acqua:#2eb5c9; --acqua-l:#e3f6f9; --sole:#f4a93b; --sole-l:#fff4e2; --ok:#1b9467;
  --ink:#1b2a35; --ink-2:#3d4f5c; --muted:#6b7c88; --line:#dfe9ef; --line-2:#edf3f7; --bg:#f3f7fa; --card:#fff;
  --r:16px; --r-sm:10px; --shadow:0 1px 2px rgba(16,55,80,.06),0 6px 22px rgba(16,55,80,.08);
  --font:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --w:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.6;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
a{color:var(--blu);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .5em;font-weight:600;color:var(--ink)}
p{margin:0 0 1em}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ic{width:1.15em;height:1.15em;flex:none}
:focus-visible{outline:3px solid rgba(46,181,201,.5);outline-offset:2px}

/* pulsanti */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:999px;border:1.5px solid transparent;font:inherit;font-weight:500;font-size:.95rem;cursor:pointer;text-decoration:none!important;transition:background .15s,border-color .15s,color .15s,transform .15s;white-space:nowrap;background:var(--blu-l);color:var(--blu)}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--blu);color:#fff}.btn-primary:hover{background:var(--blu-d)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink-2)}.btn-ghost:hover{background:var(--blu-ll)}
.btn-white{background:#fff;color:var(--blu)}.btn-white:hover{background:var(--blu-ll)}
.btn-glass{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.35)}.btn-glass:hover{background:rgba(255,255,255,.24)}
.btn-lg{min-height:54px;padding:14px 30px;font-size:1.05rem}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line-2)}
.top .wrap{display:flex;align-items:center;gap:24px;height:72px}
.logo img{height:46px;width:auto}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{color:var(--ink-2);font-weight:500;font-size:.93rem;padding:8px 12px;border-radius:999px;text-decoration:none}
.nav a:hover,.nav a.on{background:var(--blu-ll);color:var(--blu)}
.top-cta{display:flex;gap:8px}
.burger{display:none;margin-left:auto;width:44px;height:44px;border-radius:50%;border:0;background:transparent;color:var(--ink);cursor:pointer;align-items:center;justify-content:center}
.nav .solo-mob{display:none}.top.aperto .nav .solo-mob{display:block;color:var(--blu)}
.burger svg{width:24px;height:24px}
@media (max-width:980px){
  .burger{display:inline-flex}
  .nav,.top-cta .btn-ghost{display:none}
  .top-cta{margin-left:auto}.burger{margin-left:0}
  .top.aperto .nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:72px;background:#fff;padding:10px 16px 16px;border-bottom:1px solid var(--line);box-shadow:0 12px 30px rgba(8,57,90,.12)}
  .top.aperto .nav a{padding:12px 14px;font-size:1rem}
}
@media (max-width:520px){.top .wrap{gap:10px}.logo img{height:38px}.top-cta .btn{padding:8px 16px;min-height:40px}}

/* hero */
.hero{position:relative;color:#fff;overflow:hidden;background:var(--blu);isolation:isolate}
.hero-bg{position:absolute;inset:-18% 0;background:center/cover no-repeat;z-index:-2;will-change:transform}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(9,99,150,.92) 50%,rgba(0,171,163,.86) 100%)}
.hero .wrap{position:relative;padding:110px 20px 120px;max-width:var(--w)}
.hero-txt{max-width:640px}
.hero h1{color:#fff;font-size:clamp(2.6rem,6vw,4.4rem);font-weight:600;letter-spacing:-.02em;margin-bottom:.3em}
.hero p{font-size:1.15rem;opacity:.94;max-width:520px}
.hero .btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.onde{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:70px;color:#fff}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.badges span{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22)}

/* sezioni */
.sez{padding:84px 0}
.sez-alt{background:var(--bg)}
.sez-h{max-width:640px;margin-bottom:40px}
.sez-h.c{margin-left:auto;margin-right:auto;text-align:center}
.kicker{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--acqua);margin-bottom:10px}
.sez h2{font-size:clamp(1.7rem,3.4vw,2.4rem);letter-spacing:-.01em}
.sez-h p{color:var(--ink-2);font-size:1.05rem}
.griglia{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media (max-width:700px){.griglia{grid-template-columns:1fr}}
@media (min-width:701px) and (max-width:900px){.griglia{gap:14px}.card{padding:22px 18px}.modo{padding:24px 20px}}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:28px;display:flex;flex-direction:column}
.card h3{font-size:1.18rem}
.card p{color:var(--ink-2)}
.card .btn{align-self:flex-start;margin-top:auto}
.card-ico{width:54px;height:54px;border-radius:16px;background:var(--blu-l);color:var(--blu);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:18px}
.card-ico svg{width:28px;height:28px}
.lista{list-style:none;padding:0;margin:0 0 1.2em}
.lista li{position:relative;padding-left:26px;margin:.45em 0;color:var(--ink-2)}
.lista li::before{content:"";position:absolute;left:0;top:.55em;width:14px;height:8px;border-left:2.5px solid var(--acqua);border-bottom:2.5px solid var(--acqua);transform:rotate(-45deg)}

/* due colonne con foto */
.due{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
@media (max-width:900px){.due{grid-template-columns:1fr;gap:30px}}
.foto{border-radius:22px;aspect-ratio:4/3;background:linear-gradient(135deg,var(--blu) 0%,var(--acqua) 100%) center/cover;box-shadow:var(--shadow);position:relative;overflow:hidden}
.foto img{width:100%;height:100%;object-fit:cover}
.numeri{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.numeri div{background:var(--blu-ll);border-radius:14px;padding:16px}
.numeri strong{display:block;font-size:1.6rem;color:var(--blu);line-height:1.1}
.numeri span{font-size:.84rem;color:var(--ink-2)}

/* nuoto libero */
.banda{background:linear-gradient(120deg,var(--blu-d),var(--blu) 55%,#0e8fa3);color:#fff;border-radius:26px;padding:48px;display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center}
.banda h2{color:#fff}
.banda p{opacity:.92}
.banda .lista li{color:#fff}.banda .lista li::before{border-color:#9fe7f1}
@media (max-width:900px){.banda{grid-template-columns:1fr;padding:32px 24px}}
.tessera{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:26px;text-align:center}
.tessera b{display:block;font-size:3.4rem;line-height:1}
.tessera small{display:block;opacity:.85;margin-bottom:16px}

/* passi */
.passi{counter-reset:p;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:700px){.passi{grid-template-columns:1fr}}
.passo{position:relative;padding:28px 24px 24px;border-radius:var(--r);background:#fff;border:1px solid var(--line)}
.passo::before{counter-increment:p;content:counter(p);position:absolute;top:-16px;left:22px;width:34px;height:34px;border-radius:50%;background:var(--acqua);color:#fff;font-weight:600;display:flex;align-items:center;justify-content:center}
.passo h3{font-size:1.05rem;margin-top:6px}
.passo p{color:var(--ink-2);margin:0}

/* orari */
.orari{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:700px){.orari{grid-template-columns:1fr}}
.tab-orari{width:100%;border-collapse:collapse}
.tab-orari td{padding:12px 4px;border-bottom:1px solid var(--line-2)}
.tab-orari td:last-child{text-align:right;font-weight:600;color:var(--blu-d);white-space:nowrap}
.tab-orari tr.oggi td{color:var(--blu)}
.tab-orari tr.oggi td:first-child::after{content:"oggi";margin-left:8px;font-size:.7rem;font-weight:600;background:var(--acqua);color:#fff;padding:2px 8px;border-radius:99px;vertical-align:2px}

/* faq */
.faq{max-width:820px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:18px 54px 18px 22px;font-weight:500;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:24px;top:50%;width:9px;height:9px;border-right:2px solid var(--blu);border-bottom:2px solid var(--blu);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details[open] summary{color:var(--blu)}
.faq .r{padding:0 22px 18px;color:var(--ink-2)}
.faq .r p:last-child{margin:0}

/* contatti */
.contatti{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:700px){.contatti{grid-template-columns:1fr}}
@media (min-width:701px) and (max-width:900px){.contatto{flex-direction:column;gap:12px}}
.contatto{display:flex;gap:16px;align-items:flex-start;background:#fff;border-radius:var(--r);padding:22px;box-shadow:var(--shadow);color:inherit;text-decoration:none!important}
.contatto:hover{box-shadow:0 10px 30px rgba(16,55,80,.14)}
.contatto .card-ico{margin:0;flex:none;width:48px;height:48px;border-radius:14px}
.contatto small{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.contatto strong{display:block;font-weight:500;font-size:1.02rem;color:var(--ink)}
.cta-fin{margin-top:40px;text-align:center}

/* pagine interne */
.pagina-h{background:linear-gradient(120deg,var(--blu-d),var(--blu) 60%,#0e8fa3);color:#fff;padding:64px 0 70px}
.pagina-h h1{color:#fff;font-size:clamp(1.8rem,4vw,2.6rem)}
.pagina-h p{opacity:.9;margin:0}
.testo{max-width:820px}
.testo h2{font-size:1.3rem;margin-top:1.6em}
.aiuti{border-collapse:collapse;width:100%;margin:1em 0}
.aiuti th,.aiuti td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}
.aiuti th{background:var(--blu-ll);font-weight:600}

/* footer (uguale a quello del gestionale) */
.foot{background:var(--blu-dd);color:#cfe0eb;padding:64px 0 28px;font-size:.92rem}
.foot a{color:#fff}
.foot-g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
@media (max-width:900px){.foot-g{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-g{grid-template-columns:1fr}}
.foot h4{color:#fff;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{margin:.45em 0}
.foot-logo{height:54px;width:auto;margin-bottom:16px}
.foot-bot{border-top:1px solid rgba(255,255,255,.12);margin-top:44px;padding-top:22px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;font-size:.82rem;color:#9fb8c8}
.foot-bot a{color:#cfe0eb}
.foot-leg{display:flex;flex-wrap:wrap;gap:6px 16px}

/* tre modi */
.modi{gap:22px}
.modo{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;color:inherit;text-decoration:none!important;transition:border-color .15s,box-shadow .15s,transform .15s}
.modo:hover{border-color:var(--acqua);box-shadow:var(--shadow);transform:translateY(-2px)}
.modo-n{font-size:.85rem;font-weight:600;color:var(--acqua);letter-spacing:.06em;margin-bottom:14px}
.modo h3{font-size:1.25rem}
.modo p{color:var(--ink-2);flex:1}
.modo-l{color:var(--blu);font-weight:500}
/* tessere nuoto libero */
.tessere{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.tessere{grid-template-columns:1fr}}
.tessere .tessera{position:relative;padding:26px 18px 22px}
.tessera-top{background:#fff;color:var(--blu-dd);border-color:#fff}
.tessera-top small{opacity:1;color:var(--ink-2)}
.tessera-p{display:block;font-size:.82rem;font-weight:500}
.tessera-top .tessera-p{color:var(--blu)}
.tessera-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--sole);color:#fff;font-size:.72rem;font-weight:600;padding:3px 12px;border-radius:99px;text-transform:uppercase;letter-spacing:.05em}
.nl-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:22px}
@media (max-width:1000px){.nl-info{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.nl-info{grid-template-columns:1fr}}
.nl-info div{background:#fff;border-radius:var(--r);padding:20px 22px;box-shadow:var(--shadow)}
.nl-info strong{display:block;margin-bottom:4px}
.nl-info span{color:var(--ink-2);font-size:.95rem}
.card .btn{white-space:normal;text-align:center}
@media (max-width:900px){.foto{aspect-ratio:16/9}}

/* prezzi nuoto libero */
.tessera-prezzo{display:block;font-size:1.5rem;font-weight:600;margin:4px 0 8px}
.tessera-top .tessera-prezzo{color:var(--blu)}
.nl-extra{margin-top:14px;font-size:.92rem;opacity:.92}
/* regala */
.regala{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;background:var(--sole-l);border:1px solid #f7dcae;border-radius:26px;padding:40px 44px}
.regala h2{margin-bottom:.35em}
.regala p{color:var(--ink-2);margin:0;max-width:620px}
.regala-ico{font-size:2.6rem;line-height:1;margin-bottom:10px}
.regala .btns{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:760px){.regala{grid-template-columns:1fr;padding:30px 22px}}
.btn-sole{background:var(--sole);color:#fff}.btn-sole:hover{background:#e0952a}
.social{display:flex;gap:10px;margin-top:14px}
.social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:inline-flex;align-items:center;justify-content:center}
.social a:hover{background:rgba(255,255,255,.2);text-decoration:none}
.social svg{width:18px;height:18px}
.modo-n{font-size:1.7rem;line-height:1;margin-bottom:12px;letter-spacing:0}
.tessera-tag{white-space:nowrap}
.orari{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.orari>*{min-width:0}
@media (max-width:700px){.orari{grid-template-columns:minmax(0,1fr)}.tab-orari td:last-child{white-space:normal}}

html{scroll-padding-top:84px}
/* striscia con foto in parallasse */
.striscia{position:relative;overflow:hidden;isolation:isolate;min-height:340px;display:flex;align-items:center;color:#fff;background:var(--blu-d)}
.striscia-bg{position:absolute;inset:-25% 0;background:center/cover no-repeat;z-index:-2;will-change:transform}
.striscia::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,57,90,.72),rgba(8,57,90,.25))}
.striscia p{margin:0;font-size:clamp(1.6rem,4vw,2.8rem);font-weight:600;letter-spacing:-.01em;max-width:720px;line-height:1.2}
.foto img{will-change:transform;transform:scale(1.18)}
/* comparsa delle sezioni */
.appare{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.appare.visto{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.appare{opacity:1;transform:none;transition:none}.hero-bg,.striscia-bg,.foto img{transform:none!important}}
.striscia .wrap{width:100%}

/* con la foto il velo blu è più leggero, a destra si vede la foto */

.hero.con-foto::before{background:linear-gradient(100deg,rgba(9,74,118,.9) 0%,rgba(9,99,150,.78) 42%,rgba(9,99,150,.35) 75%,rgba(0,171,163,.25) 100%)}
@media (max-width:700px){.hero.con-foto::before{background:linear-gradient(180deg,rgba(9,74,118,.85),rgba(9,99,150,.7))}}
.striscia::before{background:linear-gradient(90deg,rgba(8,57,90,.82) 0%,rgba(8,57,90,.55) 45%,rgba(8,57,90,.1) 100%)}
.striscia-bg{background-position:center}
@media (max-width:700px){.striscia-bg{background-position:72% center}}
@media (max-width:700px){.striscia{align-items:flex-end;min-height:300px}.striscia .wrap{padding-bottom:26px}.striscia::before{background:linear-gradient(180deg,rgba(8,57,90,.1) 0%,rgba(8,57,90,.35) 50%,rgba(8,57,90,.85) 100%)}}

/* pulsante gift card in alto */
.btn-gift{background:var(--sole-l);color:#b06a0c;border-color:#f7dcae}
.btn-gift:hover{background:#ffe9c7}
.btn-gift svg{width:18px;height:18px}
@media (max-width:1180px){.top .wrap{gap:16px}.nav a{padding:8px 9px}}
@media (max-width:1100px){.btn-gift span{display:none}.btn-gift{padding:10px 12px}}
@media (max-width:980px){.top-cta .btn-gift{display:none}}

/* menu a tutto schermo (telefono e tablet) */
.mmenu{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;color:#fff;overflow-y:auto;
  padding:env(safe-area-inset-top,0px) 0 calc(24px + env(safe-area-inset-bottom,0px));
  background:radial-gradient(120% 60% at 100% 0%,rgba(46,181,201,.55) 0%,rgba(46,181,201,0) 60%),linear-gradient(160deg,#0b4a73 0%,#116498 55%,#0e8fa3 100%);
  clip-path:circle(0% at calc(100% - 42px) 36px);transition:clip-path .55s cubic-bezier(.7,0,.2,1)}
.mmenu.aperto{clip-path:circle(150% at calc(100% - 42px) 36px)}
.mmenu[hidden]{display:none}
.mm-top{display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 20px;flex:none}
.mm-top .logo img{height:40px;width:auto}
.mm-x{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transform:rotate(-90deg);opacity:0;transition:transform .5s .15s,opacity .3s .15s}
.mmenu.aperto .mm-x{transform:none;opacity:1}
.mm-x svg{width:22px;height:22px}
.mm-nav{display:flex;flex-direction:column;padding:18px 24px 8px;flex:1;justify-content:center}
.mm-nav a{color:#fff;text-decoration:none!important;font-size:clamp(1.55rem,6.4vw,2.2rem);font-weight:600;letter-spacing:-.01em;line-height:1.15;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.12);display:flex;align-items:baseline;gap:14px;
  opacity:0;transform:translateY(18px);transition:opacity .45s,transform .45s cubic-bezier(.2,.7,.2,1)}
.mm-nav a small{font-size:.8rem;font-weight:500;color:#9fe7f1;letter-spacing:.06em;min-width:22px}
.mm-nav a:active{color:#9fe7f1}
.mm-cta{display:grid;gap:10px;padding:18px 24px 6px;opacity:0;transform:translateY(18px);transition:opacity .45s .5s,transform .45s .5s}
.mm-cta .btn{width:100%}
.mm-foot{display:flex;flex-wrap:wrap;gap:6px 18px;padding:14px 24px 0;font-size:.9rem;opacity:0;transition:opacity .45s .6s}
.mm-foot a{color:#cfe9f3}
.mmenu.aperto .mm-nav a,.mmenu.aperto .mm-cta{opacity:1;transform:none}
.mmenu.aperto .mm-foot{opacity:1}
.mmenu.aperto .mm-nav a:nth-child(1){transition-delay:.18s}
.mmenu.aperto .mm-nav a:nth-child(2){transition-delay:.23s}
.mmenu.aperto .mm-nav a:nth-child(3){transition-delay:.28s}
.mmenu.aperto .mm-nav a:nth-child(4){transition-delay:.33s}
.mmenu.aperto .mm-nav a:nth-child(5){transition-delay:.38s}
.mmenu.aperto .mm-nav a:nth-child(6){transition-delay:.43s}
html.mm-lock,html.mm-lock body{overflow:hidden}
@media (max-height:640px){.mm-nav{justify-content:flex-start}.mm-nav a{font-size:1.35rem;padding:8px 0}}
@media (prefers-reduced-motion:reduce){.mmenu,.mm-nav a,.mm-cta,.mm-foot,.mm-x{transition:none!important}}
.top.aperto .nav{display:none!important}
html.mm-lock .pbc{opacity:0;pointer-events:none;transition:opacity .2s}
/* niente scorrimento orizzontale sul telefono */
html,body{overflow-x:clip;max-width:100%}
@supports not (overflow:clip){body{overflow-x:hidden}}
.due>*,.griglia>*,.contatti>*,.orari>*,.passi>*,.nl-info>*,.tessere>*,.banda>*,.foot-g>*,.regala>*{min-width:0}
@media (max-width:900px){.due{grid-template-columns:minmax(0,1fr)}.banda{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.griglia,.contatti,.passi,.nl-info{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.foot-g{grid-template-columns:minmax(0,1fr)}}
.contatto strong,.foot a,.mm-foot a,.nl-info span{overflow-wrap:anywhere}
@media (max-width:380px){.numeri{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.numeri div{padding:12px 10px}.numeri strong{font-size:1.25rem}.wrap{padding:0 16px}.hero h1{font-size:2.3rem}.tessere{grid-template-columns:minmax(0,1fr)}}
.foto{transform:translateZ(0)}
@media (max-width:900px){.tab-orari td:last-child{white-space:normal}.tab-orari{table-layout:fixed}.tab-orari td:first-child{width:40%}}
@media (max-width:900px){.regala{grid-template-columns:minmax(0,1fr);padding:32px 28px}.regala p{max-width:none}}
@media (min-width:701px) and (max-width:900px){.contatti{grid-template-columns:repeat(2,minmax(0,1fr))}.contatti>.contatto:last-child{grid-column:1/-1}.contatto{flex-direction:row}}
.contatto strong{overflow-wrap:normal;word-break:normal}
@media (max-width:380px){.contatto strong{overflow-wrap:anywhere}}
.tessera-btn{margin-top:12px;width:100%}
.tessera-o{display:block;font-size:.78rem;margin-top:6px;opacity:.8}
.tessera-top .tessera-o{color:var(--ink-2)}
