/* ============================================================
   FARMACIA SARTESCHI — tema "Acquerello vivo"
   Santi Romano - Soluzioni per Farmacie
   ------------------------------------------------------------
   Font self-hosted (nessuna chiamata a Google, GDPR):
   Fraunces (titoli), Manrope (testo), Allison (accento corsivo)
   ============================================================ */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 800;font-display:swap;src:url('../fonts/fraunces-var.woff2') format('woff2-variations'),url('../fonts/fraunces-var.woff2') format('woff2');}
@font-face{font-family:'Manrope';font-style:normal;font-weight:300 800;font-display:swap;src:url('../fonts/manrope-var.woff2') format('woff2-variations'),url('../fonts/manrope-var.woff2') format('woff2');}
@font-face{font-family:'Allison';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/allison-400.woff2') format('woff2');}

/* ============================================================
   Token
   Palette campionata sul logo: blu polvere #8AABBF (acquerello)
   e inchiostro #2B2722 (corsivo). Il blu polvere NON regge il
   contrasto come testo: si usa per campiture e grafica. Testo e
   pulsanti usano --blu (8.9:1 su bianco) e --inchiostro.
   ============================================================ */
:root{
  --bianco:#FFFFFF;
  --carta:#F5F2EC;
  --velo:#EAF1F5;
  --velo-2:#F2F6F8;
  --linea:#E3EBF0;
  --linea-2:#C9D9E3;
  --polvere:#8AABBF;
  --polvere-chiaro:#A9C2D1;
  --polvere-scuro:#6F94AC;
  --blu:#1F4E6B;
  --blu-scuro:#123247;
  --notte:#173A52;
  --inchiostro:#2B2722;
  --grigio:#4A5560;
  --wa:#1F7A5A;
  --wa-scuro:#17644A;
  --aperta:#3FB27F;
  --chiusa:#E08A6B;

  /* alias per accessibilita.css (pannello preferenze) */
  --verde-900:#173A52; --verde-700:#1F4E6B; --verde-500:#4F7894; --menta:#EAF1F5; --oro-700:#1F4E6B;

  --f-titoli:'Fraunces',Georgia,'Times New Roman',serif;
  --f-testo:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-corsivo:'Allison','Brush Script MT',cursive;

  --ombra-s:0 1px 2px rgba(31,78,107,.06),0 6px 18px -10px rgba(31,78,107,.25);
  --ombra:0 1px 2px rgba(31,78,107,.06),0 14px 34px -14px rgba(31,78,107,.28);
  --ombra-l:0 2px 6px rgba(23,58,82,.06),0 34px 70px -28px rgba(23,58,82,.45);
  --r:26px;
  --wrap:1240px;
  --gutter:clamp(16px,4vw,32px);
  --ease:cubic-bezier(.2,.8,.2,1);
  --header-h:150px;
}

/* ============================================================
   Base
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;font-family:var(--f-testo);font-size:17px;line-height:1.65;color:var(--inchiostro);background:var(--bianco);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--blu);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--blu-scuro)}
h1,h2,h3,h4{font-family:var(--f-titoli);font-weight:500;line-height:1.12;margin:0 0 .5em;color:var(--inchiostro);font-optical-sizing:auto}
p{margin:0 0 1em}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--blu);outline-offset:3px;border-radius:6px}
.serif{font-family:var(--f-titoli);font-optical-sizing:auto}
.corsivo{font-family:var(--f-corsivo);font-weight:400;color:var(--blu);font-size:1.5em;line-height:.8;letter-spacing:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.salta{position:absolute;left:12px;top:-60px;z-index:999;background:var(--blu);color:#fff;padding:12px 18px;border-radius:12px;font-weight:700}
.salta:focus{top:12px;color:#fff}
.occhiello{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blu);margin:0 0 14px}
.occhiello.chiaro{color:var(--polvere-chiaro)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* Transizione morbida fra le pagine (Chrome, Edge, Safari 18+) */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-esce .22s ease both}
::view-transition-new(root){animation:vt-entra .32s var(--ease) both}
@keyframes vt-esce{to{opacity:0}}
@keyframes vt-entra{from{opacity:0;transform:translateY(8px)}}

/* Comparsa allo scorrimento */
.js .rivela{opacity:0;transform:translateY(24px)}
.js .rivela.visto{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}

/* ============================================================
   Pulsanti
   ============================================================ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:999px;border:1.5px solid transparent;font-weight:700;font-size:15.5px;line-height:1.2;text-decoration:none;transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease),box-shadow .25s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-primario{background:var(--blu);color:#fff}
.btn-primario:hover{background:var(--blu-scuro);color:#fff;box-shadow:0 12px 24px -12px rgba(18,50,71,.6)}
.btn-contorno{border-color:var(--blu);color:var(--blu);background:transparent}
.btn-contorno:hover{background:var(--blu);color:#fff}
.btn-bianco{background:#fff;color:var(--blu)}
.btn-bianco:hover{background:var(--velo);color:var(--blu-scuro)}
.btn-wa-pieno{background:var(--wa);color:#fff}
.btn-wa-pieno:hover{background:var(--wa-scuro);color:#fff}
.btn-grande{min-height:58px;padding:0 30px;font-size:16.5px}
.freccia-tonda{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--linea-2);background:#fff;color:var(--blu);display:inline-flex;align-items:center;justify-content:center;transition:all .25s}
.freccia-tonda.piena{background:var(--blu);border-color:var(--blu);color:#fff}
.freccia-tonda:hover{transform:scale(1.06)}
.freccia-tonda[disabled]{opacity:.35;transform:none;cursor:default}

/* ============================================================
   Stato di apertura (pallino che pulsa)
   ============================================================ */
.punto{position:relative;display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--chiusa);flex:0 0 auto}
.punto.is-aperta{background:var(--aperta)}
.punto.is-aperta::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--aperta);animation:pulsa 2s ease-out infinite}
@keyframes pulsa{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.7);opacity:0}}
.linea-giorno{position:relative;display:inline-block;width:180px;height:7px;border-radius:999px;background:rgba(255,255,255,.15);flex:0 0 auto}
.linea-giorno i{position:absolute;top:0;height:100%;border-radius:999px;background:var(--polvere)}
.linea-giorno b{position:absolute;top:-5px;width:3px;height:17px;border-radius:2px;background:#fff;transform:translateX(-50%);box-shadow:0 0 0 3px rgba(23,58,82,.5)}
.linea-giorno.chiara{background:var(--linea-2);width:100%;height:8px}
.linea-giorno.chiara i{background:var(--blu)}
.linea-giorno.chiara b{background:var(--inchiostro);box-shadow:0 0 0 3px #fff}

/* ============================================================
   Header "Acquerello dipinto"
   Fascia ad acquerello, logo al centro, menu divisi ai lati.
   Allo scorrimento diventa una barra di vetro con filo d'acquerello.
   ============================================================ */
.sito-header{position:fixed;left:0;right:0;top:0;z-index:60;--h-viva:46px;--h-main:150px}
body.admin-bar .sito-header{top:32px}
.header-spazio{height:calc(var(--h-viva,46px) + var(--h-main,150px));--h-viva:46px;--h-main:150px}
.sito-header .wrap{max-width:1400px}

.header-pittura{position:absolute;left:0;right:0;top:0;height:calc(var(--h-viva) + var(--h-main) + 48px);overflow:hidden;pointer-events:none;transition:opacity .45s ease}
.pittura-fondo,.pittura-macchie{position:absolute;left:0;top:0;width:100%;height:100%;display:block}
.pittura-macchie{animation:pittura-deriva 18s ease-in-out infinite;will-change:transform}
@keyframes pittura-deriva{0%,100%{transform:translateX(0)}50%{transform:translateX(-24px)}}

/* Riga viva: stato, avvisi, collegamenti */
.barra-viva{position:relative;color:var(--notte);font-size:13.5px;max-height:var(--h-viva);overflow:hidden;transition:max-height .35s var(--ease),opacity .3s}
.barra-viva-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--h-viva)}
.stato{display:flex;align-items:center;gap:12px;white-space:nowrap;min-height:32px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.72)}
.stato strong{color:var(--notte)}
/* Orari di oggi: Oggi [8:30–13] [15:30–20] */
.oggi-orari{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.oggi-et{font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--grigio);margin-right:2px}
.fascia{display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border-radius:999px;background:var(--velo);color:var(--blu);font-weight:700;font-size:12.5px;font-variant-numeric:tabular-nums}
.fascia.attuale{background:var(--blu);color:#fff}
.fascia.passata{background:none;color:#7A8792;font-weight:600;padding:0 4px}
.fascia.chiuso{background:#F7E6DF;color:#9A4A2E}
.stato .oggi-orari{padding-left:12px;margin-left:2px;border-left:1px solid var(--linea-2)}
.foglio-stato .oggi-orari{gap:8px}
.foglio-stato .oggi-et{font-size:12px}
.foglio-stato .fascia{min-height:30px;padding:0 12px;font-size:14px;background:#fff}
.foglio-stato .fascia.attuale{background:var(--blu)}
.foglio-stato .fascia.passata{background:none}
.avvisi{position:relative;flex:1 1 auto;min-width:0;height:22px;overflow:hidden;color:var(--notte);font-weight:600;text-align:center}
.avvisi ul{list-style:none;margin:0;padding:0}
.avvisi li{position:absolute;left:0;right:0;top:0;line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transform:translateY(100%);transition:opacity .5s,transform .6s var(--ease)}
.avvisi li.attivo,html:not(.js) .avvisi li:first-child{opacity:1;transform:none}
.avvisi li.esce{opacity:0;transform:translateY(-100%)}
.barra-link{display:flex;align-items:center;gap:18px;white-space:nowrap}
.barra-link a{color:var(--notte);font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:36px}
.barra-link a:hover{color:var(--blu-scuro);text-decoration:underline;text-underline-offset:4px}

/* Riga principale: lato sinistro, logo, lato destro */
.barra-main{position:relative;transition:background-color .35s,box-shadow .35s}
.barra-main::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:10px;opacity:0;pointer-events:none;transition:opacity .4s;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 10' preserveAspectRatio='none'%3E%3Cpath d='M0 5.5 C 120 3.5 240 7 380 5 S 640 3 800 5.6 S 1080 7.2 1220 4.6 S 1400 4.4 1440 5' fill='none' stroke='%238AABBF' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.barra-main-in{display:grid;grid-template-columns:minmax(0,1fr) 280px minmax(0,1fr);align-items:center;min-height:var(--h-main);transition:min-height .35s var(--ease)}
.header-lato{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}

.logo{position:relative;justify-self:center;display:flex;flex-direction:column;align-items:center;text-decoration:none}
.logo-alone{position:absolute;left:50%;top:50%;width:250px;height:210px;margin:-112px 0 0 -125px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,.75) 55%,rgba(255,255,255,0));transition:opacity .35s}
.logo img{position:relative;height:138px;width:auto;transition:height .35s var(--ease)}
.logo-firma{position:relative;font-family:var(--f-corsivo);font-size:30px;line-height:.6;max-height:24px;color:var(--blu);transition:opacity .3s,max-height .35s var(--ease)}

.nav-desk ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.nav-desk li{display:flex;align-items:center}
.nav-desk a{position:relative;display:inline-flex;align-items:center;min-height:48px;padding:0 14px;color:var(--notte);font-weight:800;font-size:15.5px;text-decoration:none;border-radius:12px;transition:color .2s}
.nav-desk a::after{content:"";position:absolute;left:11px;right:11px;bottom:3px;height:11px;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath d='M3 8 C 22 3 48 11 72 5 S 95 6 97 4' fill='none' stroke='%238AABBF' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.nav-desk a[aria-current]::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath d='M3 8 C 22 3 48 11 72 5 S 95 6 97 4' fill='none' stroke='%234F7894' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E")}
.nav-desk a:hover,.nav-desk a[aria-current]{color:var(--blu-scuro)}
.nav-desk a:hover::after,.nav-desk a[aria-current]::after,.has-mega:hover>a::after,.has-mega.aperto>a::after{transform:scaleX(1)}
.mega-apri{width:28px;height:36px;margin-left:-10px;border:0;background:none;color:var(--notte);display:inline-flex;align-items:center;justify-content:center;border-radius:8px;transition:transform .3s}
.has-mega:hover .mega-apri,.has-mega.aperto .mega-apri{transform:rotate(180deg);color:var(--blu)}

.mega{position:absolute;left:0;right:0;top:100%;padding:10px var(--gutter) 0;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .35s var(--ease),visibility 0s .35s;pointer-events:none}
.has-mega:hover .mega,.has-mega.aperto .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:none;transition-delay:0s;pointer-events:auto}
.has-mega.chiuso .mega{opacity:0;visibility:hidden;pointer-events:none}
.mega::before{content:"";position:absolute;left:0;right:0;top:calc(24px - var(--h-main) / 2);height:calc(var(--h-main) / 2 - 14px)}
.mega-in{max-width:calc(var(--wrap) - 2 * var(--gutter));margin:0 auto;background:#fff;border-radius:28px;box-shadow:var(--ombra-l);padding:28px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px}
.mega-testa{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.mega-testa .serif{font-size:1.5rem;font-weight:600}
.mega-testa a{font-weight:800;font-size:14px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:0;padding:0;color:var(--blu)}
.mega-testa a::after{display:none}
.mega-griglia{list-style:none;margin:0;padding:0;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.mega-griglia li{display:block!important}
.mega-griglia a{display:flex!important;align-items:center;gap:14px;padding:11px 12px;border-radius:18px;min-height:0;font-size:15px;font-weight:600}
.mega-griglia a::after{display:none}
.mega-griglia a:hover{background:var(--velo-2)}
.mega-griglia strong{display:block;font-weight:700;color:var(--inchiostro);line-height:1.3}
.mega-griglia small{display:block;font-size:13px;color:var(--grigio);font-weight:500;line-height:1.3;margin-top:2px}
.mega-ico{flex:0 0 46px;height:46px;border-radius:14px;background:var(--velo);color:var(--blu);display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease)}
.mega-griglia a:hover .mega-ico{transform:rotate(-6deg) scale(1.06)}
.nav-desk .mega-evidenza{position:relative;overflow:hidden;border-radius:22px;padding:26px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;color:#D7E5EE!important;font-weight:500!important;text-decoration:none;min-height:0!important;background:radial-gradient(circle at 90% 0%,rgba(138,171,191,.5),transparent 55%),var(--notte)}
.mega-evidenza::after{display:none}
.mega-evidenza .occhiello{color:var(--polvere-chiaro);margin:0}
.mega-evidenza strong{font-size:1.55rem;line-height:1.15;color:#fff;font-weight:500}
.mega-evidenza>span:not(.btn){font-size:14.5px;line-height:1.55}
.mega-evidenza .btn{margin-top:auto;align-self:flex-start}

.chip-stato{display:none;align-items:center;gap:10px;min-height:42px;padding:0 15px;border-radius:999px;background:var(--velo);color:var(--blu);font-weight:800;font-size:13.5px;white-space:nowrap}
.chip-breve{display:none}
.btn-tondo{flex:0 0 auto;width:50px;height:50px;border-radius:50%;background:#fff;box-shadow:0 8px 20px -10px rgba(23,58,82,.45);display:inline-flex;align-items:center;justify-content:center;color:var(--blu);transition:background .25s,color .25s,transform .25s var(--ease)}
.btn-tondo:hover{background:var(--blu);color:#fff;transform:translateY(-2px)}
.btn-wa{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 22px 0 16px;border-radius:999px;background:var(--wa);color:#fff;font-weight:800;font-size:15px;text-decoration:none;white-space:nowrap}
.btn-wa:hover{background:var(--wa-scuro);color:#fff}
.respira::before{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--wa);animation:respira 2.6s ease-out infinite;pointer-events:none}
@keyframes respira{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.16,1.38);opacity:0}}
.btn-menu{display:none;flex:0 0 auto;width:48px;height:48px;border-radius:50%;border:0;background:#fff;color:var(--blu);box-shadow:0 8px 18px -10px rgba(23,58,82,.5);align-items:center;justify-content:center;transition:background .3s,color .3s}

/* Barra di vetro durante lo scorrimento */
.scorre .header-pittura{opacity:0}
.scorre .barra-viva{max-height:0;opacity:0}
.scorre .barra-main{background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 14px 30px -20px rgba(23,58,82,.5)}
.scorre .barra-main::after{opacity:.85}
.scorre .barra-main-in{min-height:80px;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr)}
.scorre .logo img{height:62px}
.scorre .logo-alone{opacity:0}
.scorre .logo-firma{opacity:0;max-height:0}
.scorre .mega::before{top:-26px;height:36px}
@media (min-width:1024px){
  .scorre .chip-stato{display:inline-flex}
  .scorre .btn-tondo{display:none}
}
@media (min-width:1024px) and (max-width:1439px){
  .scorre .chip-lungo{display:none}
  .scorre .chip-breve{display:inline}
}

/* Header: schermi medi */
@media (max-width:1279px){
  .barra-main-in{grid-template-columns:minmax(0,1fr) 210px minmax(0,1fr)}
  .logo img{height:118px}
  .logo-alone{width:210px;height:180px;margin:-96px 0 0 -105px}
  .nav-desk a{padding:0 10px;font-size:15px}
  .nav-desk a::after{left:8px;right:8px}
  .mega-apri{margin-left:-8px;width:24px}
  .header-lato{gap:8px}
  .btn-wa{padding:0;width:50px;justify-content:center}
  .btn-wa span{display:none}
  .barra-link a:first-child{display:none}
  .scorre .barra-main-in{grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr)}
  .scorre .logo img{height:56px}
}
@media (max-width:1180px){
  .barra-viva .oggi-orari{display:none}
}
/* Header: tablet e smartphone. Menu a sinistra, logo al centro, WhatsApp a destra */
@media (max-width:1023px){
  .sito-header,.header-spazio{--h-viva:34px;--h-main:100px}
  .barra-viva{font-size:12.5px}
  .barra-viva-in{justify-content:center}
  .stato{background:none;padding:0;min-height:0;gap:8px}
  .stato .punto{width:8px;height:8px}
  .avvisi,.barra-link,.barra-viva .oggi-orari{display:none}
  .barra-main-in{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .header-lato{display:contents}
  .nav-desk,.btn-tondo,.logo-firma{display:none}
  .btn-menu{display:inline-flex;grid-column:1;grid-row:1;justify-self:start}
  .logo{grid-column:2;grid-row:1}
  .logo img{height:88px}
  .logo-alone{width:170px;height:130px;margin:-65px 0 0 -85px;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,0))}
  .btn-wa,.chip-stato{grid-column:3;grid-row:1;justify-self:end}
  .btn-wa{width:48px;min-height:48px;padding:0;justify-content:center}
  .btn-wa span{display:none}
  .header-pittura{height:calc(var(--h-viva) + var(--h-main) + 40px)}
  .scorre .barra-main-in{min-height:70px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .scorre .logo img{height:52px}
  .scorre .btn-menu{background:var(--blu);color:#fff}
  .scorre .btn-wa{display:none}
  .scorre .chip-stato{display:inline-flex;min-height:36px;padding:0 12px;gap:8px;font-size:12.5px}
  .scorre .chip-stato .punto{width:8px;height:8px}
  .chip-lungo{display:none}
  .chip-breve{display:inline}
}
@media (max-width:782px){
  body.admin-bar .sito-header{top:46px}
}
@media (max-width:600px){
  body.admin-bar .sito-header{top:0}
}
@media (max-width:380px){
  .logo img{height:76px}
  .stato-testo{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* ============================================================
   Menu mobile a foglio
   ============================================================ */
.menu-mobile{position:fixed;inset:0;z-index:120}
.menu-mobile[hidden]{display:none}
.menu-mobile-velo{position:absolute;inset:0;background:rgba(23,58,82,.5);backdrop-filter:blur(3px);animation:appare .3s ease both}
.menu-foglio{position:absolute;left:0;right:0;bottom:0;max-height:92vh;max-height:92dvh;overflow:auto;overscroll-behavior:contain;background:#fff;border-radius:28px 28px 0 0;padding:12px 18px calc(26px + env(safe-area-inset-bottom));box-shadow:0 -20px 50px -20px rgba(23,58,82,.5);animation:sale .45s var(--ease) both}
@keyframes appare{from{opacity:0}}
@keyframes sale{from{transform:translateY(100%)}}
.foglio-maniglia{width:46px;height:5px;border-radius:5px;background:var(--linea-2);margin:0 auto 12px}
.foglio-chiudi{position:absolute;top:14px;right:14px;width:46px;height:46px;border-radius:50%;border:0;background:var(--velo);color:var(--blu);display:flex;align-items:center;justify-content:center}
.foglio-stato{margin-top:46px;background:var(--velo);border-radius:20px;padding:16px 18px}
.foglio-stato-riga{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--blu);font-size:15px;margin-bottom:12px}
.foglio-ore{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--grigio);margin-top:8px}
.foglio-azioni{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px;text-align:center}
.foglio-azioni a{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--inchiostro);text-decoration:none;font-size:12.5px;font-weight:800;padding:6px 0}
.foglio-azioni a>span{width:52px;height:52px;border-radius:16px;background:var(--velo);color:var(--blu);display:flex;align-items:center;justify-content:center}
.foglio-azioni a.is-wa>span{background:#E3F2EC;color:var(--wa)}
.foglio-nav{margin-top:14px;display:flex;flex-direction:column}
.foglio-nav>a,.foglio-nav summary{display:flex;justify-content:space-between;align-items:center;min-height:56px;border-bottom:1px solid var(--linea);color:var(--inchiostro);text-decoration:none;font-family:var(--f-titoli);font-size:1.35rem;font-weight:500;cursor:pointer;list-style:none}
.foglio-nav summary::-webkit-details-marker{display:none}
.foglio-nav summary .ico{transition:transform .3s;color:var(--blu)}
.foglio-nav details[open] summary .ico{transform:rotate(180deg)}
.foglio-sub{display:flex;flex-direction:column;padding:6px 0 10px 14px;border-left:3px solid var(--polvere);margin:8px 0 8px 4px}
.foglio-sub a{padding:9px 0;color:var(--inchiostro);text-decoration:none;font-weight:600;font-size:15.5px}
.foglio-sub a.tutti{color:var(--blu);font-weight:800}
.foglio-social{display:flex;gap:10px;margin-top:18px}
.foglio-social a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:999px;border:1.5px solid var(--linea-2);color:var(--blu);font-weight:700;text-decoration:none}
body.menu-aperto{overflow:hidden}

/* Barra rapida per smartphone */
.tabbar{display:none}

/* ============================================================
   Copertina
   ============================================================ */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,var(--velo-2) 100%);padding:clamp(34px,5vw,72px) 0 120px}
.hero-fondo{position:absolute;inset:0;pointer-events:none}
.hero-macchia{position:absolute;fill:var(--polvere)}
.hero-macchia.m1{width:640px;left:-330px;top:-300px;opacity:.11;animation:deriva 22s ease-in-out infinite}
.hero-macchia.m2{width:520px;right:-200px;bottom:-240px;opacity:.14;animation:deriva 26s ease-in-out infinite reverse}
@keyframes deriva{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(10deg) scale(1.06)}}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,5vw,64px);align-items:center}
.hero-titolo{font-size:clamp(2.6rem,5.4vw,4.7rem);line-height:1;letter-spacing:-.02em;margin:0}
.hero-titolo .corsivo{display:block;font-size:1.45em;line-height:.95;margin-top:.02em}
.hero-lead{font-size:1.17rem;color:var(--grigio);max-width:540px;margin:22px 0 0}

.cerca{position:relative;margin-top:32px;max-width:580px}
.cerca-etichetta{display:block;font-weight:800;font-size:15px;margin-bottom:10px}
.cerca-campo{display:flex;align-items:center;gap:12px;background:#fff;border-radius:999px;padding:7px 7px 7px 20px;box-shadow:var(--ombra);color:var(--blu);transition:box-shadow .25s}
.cerca-campo:focus-within{box-shadow:var(--ombra),0 0 0 4px rgba(31,78,107,.18)}
.cerca-campo input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:1.05rem;color:var(--inchiostro);background:transparent;min-height:48px}
.cerca-campo input::-webkit-search-cancel-button{display:none}
.cerca-risultati{position:absolute;left:0;right:0;z-index:20;list-style:none;margin:8px 0 0;padding:8px;background:#fff;border-radius:22px;box-shadow:var(--ombra-l);max-height:360px;overflow:auto}
.cerca-risultati li a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:10px 12px;border-radius:14px;text-decoration:none;color:var(--inchiostro)}
.cerca-risultati li a .tipo{grid-row:span 2;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--blu);background:var(--velo);border-radius:999px;padding:5px 10px}
.cerca-risultati li a strong{font-weight:700}
.cerca-risultati li a small{color:var(--grigio);font-size:13.5px}
.cerca-risultati li[aria-selected="true"] a,.cerca-risultati li a:hover{background:var(--velo-2)}
.cerca-risultati .nessuno{padding:12px;color:var(--grigio);font-size:15px}
.cerca-suggerimenti{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.cerca-suggerimenti a{display:inline-flex;align-items:center;min-height:40px;padding:0 15px;border-radius:999px;background:var(--velo);color:var(--blu);font-weight:700;font-size:14px;text-decoration:none;transition:background .2s}
.cerca-suggerimenti a:hover{background:#D7E5EE}

.hero-visual{position:relative;width:100%;max-width:560px;aspect-ratio:1/1;justify-self:center}
.hero-anello{position:absolute;inset:-4%;width:108%;height:108%;overflow:visible}
.hero-anello circle{fill:none;stroke:var(--polvere)}
.anello-pennello{stroke-width:18;stroke-linecap:round;stroke-dasharray:1480 260;opacity:.75;stroke-dashoffset:1740;animation:dipingi 2.8s cubic-bezier(.6,.1,.2,1) .25s forwards}
.anello-sottile{stroke-width:5;stroke-dasharray:420 160 280 900;opacity:.55;stroke-dashoffset:1760;animation:dipingi 3.4s cubic-bezier(.6,.1,.2,1) .6s forwards}
@keyframes dipingi{to{stroke-dashoffset:0}}
.hero-img{position:absolute;inset:6%;margin:0;border-radius:50%;overflow:hidden;-webkit-mask-image:radial-gradient(closest-side,#000 88%,transparent 100%);mask-image:radial-gradient(closest-side,#000 88%,transparent 100%);animation:sboccia 1.4s var(--ease) both}
.hero-img img{width:100%;height:100%;object-fit:cover}
@keyframes sboccia{from{opacity:0;transform:scale(.94)}}
.fluttua{position:absolute;background:#fff;border-radius:20px;box-shadow:var(--ombra);padding:14px 18px;font-size:13.5px;line-height:1.4;color:var(--grigio);animation:galleggia 7s ease-in-out infinite,appare-su 1s var(--ease) both}
@keyframes galleggia{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes appare-su{from{opacity:0;translate:0 14px}}
.f-anni{left:-14px;bottom:15%;display:flex;align-items:center;gap:12px;animation-delay:0s,.8s}
.f-anni .serif{font-size:2.7rem;font-weight:600;color:var(--blu);line-height:1}
.f-anni span:last-child{font-weight:800;color:var(--grigio)}
.f-stato{right:-12px;top:7%;white-space:nowrap;animation-delay:-2.3s,1s}
.f-stato strong{display:flex;align-items:center;gap:8px;color:var(--inchiostro);font-size:14.5px;margin-bottom:4px}
.f-wa{right:2%;bottom:0;display:flex;align-items:center;gap:12px;text-decoration:none;animation-delay:-4.6s,1.2s}
.f-wa strong{color:var(--inchiostro);font-size:14.5px}
.f-wa-ico{width:42px;height:42px;border-radius:50%;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}

/* ============================================================
   Azioni rapide
   ============================================================ */
.azioni{position:relative;z-index:3;margin-top:-62px}
.azioni-griglia{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.azione{position:relative;display:flex;gap:16px;align-items:flex-start;padding:22px;background:#fff;border-radius:24px;box-shadow:var(--ombra);text-decoration:none;color:var(--inchiostro);transition:transform .35s var(--ease),box-shadow .35s}
.azione:hover{transform:translateY(-5px);box-shadow:var(--ombra-l);color:var(--inchiostro)}
.azione-ico{flex:0 0 52px;height:52px;border-radius:16px;background:var(--velo);color:var(--blu);display:flex;align-items:center;justify-content:center;transition:transform .35s var(--ease)}
.azione.is-wa .azione-ico{background:#E3F2EC;color:var(--wa)}
.azione:hover .azione-ico{transform:rotate(-8deg) scale(1.06)}
.azione-testo strong{display:block;font-size:16.5px;line-height:1.3}
.azione-testo span{display:block;font-size:14px;color:var(--grigio);margin-top:4px;line-height:1.45}
.azione-freccia{position:absolute;right:18px;top:20px;color:var(--blu);opacity:0;transform:translateX(-6px);transition:all .3s}
.azione:hover .azione-freccia{opacity:1;transform:none}

/* ============================================================
   Sezioni
   ============================================================ */
.sez{padding-top:clamp(72px,9vw,120px)}
.sez-testa{margin-bottom:40px;max-width:720px}
.wrap.sez-testa{max-width:var(--wrap)}
.sez-testa-riga{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;max-width:none}
.sez-testa-riga>div:first-child{max-width:680px}
.sez-titolo{font-size:clamp(2.1rem,4.2vw,3.4rem);line-height:1.06;letter-spacing:-.015em;margin:0}
.sez-titolo .corsivo{font-size:1.35em;white-space:nowrap}
.sez-lead{font-size:1.1rem;color:var(--grigio);margin:16px 0 0}
.carosello-frecce{display:flex;gap:10px}

/* Carosello dei servizi */
.carosello{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px max(var(--gutter),calc((100vw - var(--wrap)) / 2 + var(--gutter))) 36px;scroll-padding-inline:max(var(--gutter),calc((100vw - var(--wrap)) / 2 + var(--gutter)));scrollbar-width:none;outline-offset:-3px;cursor:grab}
.carosello::-webkit-scrollbar{display:none}
.carosello.trascina-mouse{cursor:grabbing;scroll-snap-type:none;user-select:none}
.carosello.trascina-mouse a{pointer-events:none}
.carosello-piede{margin-top:-14px}
.carosello-progresso{position:relative;height:4px;border-radius:4px;background:var(--linea);overflow:hidden}
.carosello-progresso i{position:absolute;left:0;top:0;height:100%;width:30%;border-radius:4px;background:var(--polvere-scuro);transition:left .15s linear}
html:not(.js) .carosello-piede{display:none}
.carosello-voce{flex:0 0 clamp(272px,27vw,318px);scroll-snap-align:start;display:flex}
.carosello-voce>.scheda{width:100%}

/* Scheda di servizio o reparto */
.scheda{position:relative;display:flex;flex-direction:column;width:100%;height:100%;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--ombra);text-decoration:none;color:var(--inchiostro);transition:transform .45s var(--ease),box-shadow .45s}
.scheda:hover{transform:translateY(-6px);box-shadow:var(--ombra-l);color:var(--inchiostro)}
.scheda-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--tinta,#6F94AC)}
.scheda-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.scheda:hover .scheda-media img{transform:scale(1.06)}
.no-foto .acq-macchia,.dettaglio-acq .acq-macchia{position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.34) 0 26%,transparent 27%),radial-gradient(circle at 18% 105%,rgba(255,255,255,.2) 0 30%,transparent 31%),radial-gradient(circle at 50% 50%,rgba(23,58,82,.08),transparent 70%);filter:url(#fsq-acq)}
.scheda-media-ico{position:absolute;left:50%;top:50%;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--blu);display:flex;align-items:center;justify-content:center;transition:transform .5s var(--ease)}
.scheda:hover .scheda-media-ico{transform:scale(1.08) rotate(-6deg)}
.scheda-num{position:absolute;left:14px;top:14px;min-width:36px;height:36px;padding:0 8px;border-radius:999px;background:rgba(23,58,82,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-weight:600;font-size:15px;line-height:36px;text-align:center;box-shadow:0 0 0 1.5px rgba(255,255,255,.35)}
.scheda-media.foto-intera{background:#fff;border-bottom:1px solid var(--linea)}
.scheda-media.foto-intera img{object-fit:contain;padding:12px}
.scheda:hover .scheda-media.foto-intera img{transform:scale(1.03)}
.scheda-tag{position:absolute;right:14px;top:14px;background:#fff;color:var(--blu);font-weight:800;font-size:12.5px;border-radius:999px;padding:6px 12px;box-shadow:var(--ombra-s)}
.scheda-corpo{display:flex;flex-direction:column;gap:8px;padding:22px 24px 24px;flex:1}
.scheda-titolo{font-size:1.42rem;line-height:1.15;font-weight:600}
.scheda-testo{font-size:15px;line-height:1.55;color:var(--grigio)}
.scheda-vai{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:8px;color:var(--blu);font-weight:800;font-size:14.5px}
.scheda-vai .ico{transition:transform .3s}
.scheda:hover .scheda-vai .ico{transform:translateX(5px)}
.scheda-tutti{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;width:100%;border-radius:var(--r);background:var(--velo);color:var(--blu);text-decoration:none;border:2px dashed var(--polvere-chiaro);min-height:300px}
.scheda-tutti .serif{font-size:1.6rem}
.carosello-fine{flex-basis:220px}

/* ============================================================
   Storia
   ============================================================ */
.storia{position:relative;overflow:hidden;background:var(--notte);color:#D7E5EE;margin-top:clamp(80px,10vw,130px);padding-bottom:clamp(72px,9vw,120px)}
.storia-anello{position:absolute;width:680px;right:-200px;top:-160px;opacity:.22;pointer-events:none}
.storia-anello circle{fill:none;stroke:var(--polvere);stroke-width:42;stroke-dasharray:1100 300}
.storia-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,80px);align-items:start}
.storia-anni{display:flex;align-items:baseline;gap:14px;margin:6px 0 10px}
.storia-anni .serif{font-size:clamp(6rem,13vw,10.5rem);line-height:.88;color:#fff;font-weight:500;letter-spacing:-.04em}
.storia-anni .corsivo{font-size:clamp(3.4rem,6vw,4.6rem);color:var(--polvere-chiaro)}
.storia-titolo{color:#fff;font-size:clamp(1.55rem,2.6vw,2.2rem);line-height:1.25;font-weight:400;margin:10px 0 0}
.storia-foto{display:flex;gap:14px;margin-top:34px}
.storia-foto img{width:50%;aspect-ratio:4/5;object-fit:cover;border-radius:24px;box-shadow:0 24px 50px -24px rgba(0,0,0,.6)}
.storia-foto img:nth-child(2){margin-top:40px}
.storia-lead{font-size:1.15rem;line-height:1.75;color:#E8EFF3}
.storia-punti{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:30px 0}
.storia-punti h3{color:#fff;font-size:1.3rem;margin-bottom:8px}
.storia-punti p{font-size:15.5px;margin:0;color:#C6D6E1}
.numeri{list-style:none;margin:0 0 32px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.numeri li{border:1px solid rgba(169,194,209,.3);border-radius:22px;padding:20px;font-size:14.5px;color:#C6D6E1}
.numeri .serif{display:block;font-size:2.7rem;line-height:1.1;color:#fff;font-weight:500;margin-bottom:4px;min-height:1.1em}
.numeri .serif .ico{color:#fff;margin:4px 0 2px}

/* ============================================================
   Reparti: griglia bento
   ============================================================ */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:210px;gap:16px}
.bento-voce{position:relative;overflow:hidden;isolation:isolate;border-radius:28px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none;color:var(--inchiostro);transition:transform .45s var(--ease),box-shadow .45s}
.bento-voce:hover{transform:translateY(-5px);box-shadow:var(--ombra-l);color:var(--inchiostro)}
.bento-voce:nth-child(1){grid-column:span 2;grid-row:span 2}
.bento-voce:nth-child(6),.bento-voce:nth-child(7){grid-column:span 2}
.tono-grande{background:var(--polvere-scuro);color:#fff}
.tono-velo{background:var(--velo)}
.tono-carta{background:var(--carta)}
.tono-notte{background:var(--notte);color:#fff}
.tono-grande:hover,.tono-notte:hover{color:#fff}
.bento-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s var(--ease)}
.bento-voce:hover .bento-foto{transform:scale(1.06)}
.bento-voce.has-foto{color:#fff}
.bento-voce.has-foto::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(23,58,82,0) 30%,rgba(23,58,82,.82) 100%)}
.bento-acq{position:absolute;width:270px;right:-70px;top:-80px;z-index:-1;transition:transform .9s var(--ease)}
.bento-acq circle{fill:var(--polvere);opacity:.35}
.tono-grande .bento-acq circle,.tono-notte .bento-acq circle{fill:#fff;opacity:.16}
.has-foto .bento-acq{display:none}
.bento-voce:hover .bento-acq{transform:scale(1.15) rotate(12deg)}
.bento-ico{position:absolute;left:22px;top:22px;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.85);color:var(--blu);display:flex;align-items:center;justify-content:center}
.tono-velo .bento-ico,.tono-carta .bento-ico{background:#fff}
.bento-occhiello{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin-bottom:4px}
.bento-testo strong{display:block;font-size:1.6rem;line-height:1.1;font-weight:500}
.tono-grande .bento-testo strong{font-size:clamp(2rem,3.4vw,2.8rem)}
.bento-desc{display:block;font-size:15.5px;line-height:1.55;margin-top:10px;max-width:380px;opacity:.95}
.bento-vai{position:absolute;right:20px;top:20px;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--blu);display:flex;align-items:center;justify-content:center;transform:rotate(-45deg);transition:transform .35s var(--ease)}
.bento-voce:hover .bento-vai{transform:rotate(0)}

/* ============================================================
   Prenotazione e WhatsApp (home)
   ============================================================ */
.prenota-griglia{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px}
.prenota-card,.wa-card{position:relative;overflow:hidden;border-radius:36px;padding:clamp(28px,4vw,52px)}
.prenota-card{background:var(--velo-2)}
.prenota-card>p:not(.occhiello){color:var(--grigio);font-size:1.05rem;margin:18px 0 0;max-width:560px}
.prenota-acq{position:absolute;width:420px;right:-150px;bottom:-170px;pointer-events:none}
.prenota-acq circle{fill:var(--polvere);opacity:.22}
.passi{list-style:none;margin:24px 0 30px;padding:0;display:flex;flex-direction:column;gap:14px;position:relative}
.passi li{display:flex;gap:14px;align-items:center;font-size:15.5px;color:var(--grigio);line-height:1.45}
.passi li strong{color:var(--inchiostro)}
.passi li p{margin:0}
.passi li>span{flex:0 0 38px;height:38px;border-radius:50%;background:var(--blu);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.wa-card{background:linear-gradient(160deg,var(--notte),var(--blu));color:#D7E5EE}
.wa-card .sez-titolo{color:#fff}
.wa-card>p:not(.occhiello){font-size:1.02rem;margin:16px 0 26px}
.wa-bolle{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.bolla{max-width:82%;padding:12px 16px;border-radius:18px;font-size:14.5px;line-height:1.45;box-shadow:0 10px 24px -14px rgba(0,0,0,.5)}
.bolla-utente{align-self:flex-end;background:#fff;color:var(--inchiostro);border-bottom-right-radius:6px;animation:bolla 1s var(--ease) .2s both}
.bolla-farmacia{align-self:flex-start;background:#DCF3E6;color:#14523C;border-bottom-left-radius:6px;animation:bolla 1s var(--ease) 1.1s both}
@keyframes bolla{from{opacity:0;transform:translateY(10px) scale(.96)}}

/* ============================================================
   Facebook
   ============================================================ */
.fb-griglia{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.fb-card{display:flex;flex-direction:column;background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--ombra);transition:transform .4s var(--ease),box-shadow .4s}
.fb-card:hover{transform:translateY(-5px);box-shadow:var(--ombra-l)}
.fb-media{position:relative;aspect-ratio:4/3;background:var(--velo);overflow:hidden}
.fb-media img{width:100%;height:100%;object-fit:cover}
.fb-media-vuota{background:var(--polvere-scuro)}
.fb-media-vuota .acq-macchia{position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.34) 0 26%,transparent 27%),radial-gradient(circle at 18% 105%,rgba(255,255,255,.2) 0 30%,transparent 31%);filter:url(#fsq-acq)}
.fb-play{position:absolute;left:50%;top:50%;width:74px;height:74px;margin:-37px 0 0 -37px;border-radius:50%;border:0;background:rgba(255,255,255,.95);color:var(--blu);display:flex;align-items:center;justify-content:center;box-shadow:0 14px 30px -10px rgba(0,0,0,.45);transition:transform .3s var(--ease)}
.fb-play:hover{transform:scale(1.1)}
.fb-play .ico{margin-left:4px}
.fb-badge{position:absolute;left:14px;top:14px;background:rgba(23,58,82,.8);color:#fff;font-size:12px;font-weight:800;border-radius:999px;padding:5px 11px}
.fb-corpo{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.fb-data{font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blu)}
.fb-titolo{font-size:1.25rem;line-height:1.25;font-weight:600;margin:0}
.fb-corpo p{font-size:15px;color:var(--grigio);margin:0;white-space:pre-line}
.fb-link{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:14.5px;text-decoration:none}
.fb-invito{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;background:var(--velo);border-radius:28px;padding:clamp(24px,4vw,40px)}
.fb-invito strong{display:block;font-size:1.5rem;font-weight:500;margin-bottom:6px}
.fb-invito p{margin:0;color:var(--grigio)}
.fb-invito-btn{display:flex;gap:10px;flex-wrap:wrap}
.fb-segui{text-align:center;margin:40px 0 0}

/* ============================================================
   Orari, contatti, mappa
   ============================================================ */
.orari-griglia{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px}
.orari-card{background:#fff;border-radius:28px;box-shadow:var(--ombra);padding:clamp(24px,3.4vw,36px)}
.orari-stato{display:flex;align-items:center;gap:10px;font-size:1.1rem;margin:0 0 18px;flex-wrap:wrap}
.orari-stato strong{color:var(--inchiostro)}
.orari-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.orari-lista li{display:flex;justify-content:space-between;gap:16px;padding:11px 16px;border-radius:14px;color:var(--grigio);font-size:15.5px}
.orari-lista li em{display:none;font-style:normal}
.orari-lista li.oggi{background:var(--velo);color:var(--blu);font-weight:800}
.orari-lista li.oggi em{display:inline}
.orari-recapiti{display:flex;flex-direction:column;gap:8px;margin-top:22px;padding-top:20px;border-top:1px solid var(--linea)}
.orari-recapiti a{display:inline-flex;align-items:center;gap:10px;color:var(--inchiostro);font-weight:700;text-decoration:none;min-height:36px}
.orari-recapiti a .ico{color:var(--blu)}
.orari-recapiti a:hover{color:var(--blu)}
.mappa-card{position:relative;border-radius:28px;overflow:hidden;background:var(--velo);display:flex;flex-direction:column;min-height:460px}
.mappa{position:relative;flex:1;min-height:300px}
.mappa-finta{position:absolute;inset:0;width:100%;height:100%}
.strade path{stroke:var(--linea-2);stroke-width:12;fill:none;stroke-linecap:round}
.strade .sottile{stroke-width:6}
.mappa-macchia{fill:var(--polvere);opacity:.5}
.mappa-punto{fill:var(--blu);transform-origin:300px 200px;animation:battito 2.2s ease-in-out infinite}
@keyframes battito{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
.mappa-carica{position:absolute;left:50%;top:50%;transform:translate(-50%,40px);box-shadow:var(--ombra)}
.mappa-carica:hover{transform:translate(-50%,36px)}
.mappa-nota{position:absolute;left:0;right:0;bottom:10px;text-align:center;font-size:12.5px;color:var(--grigio);margin:0}
.mappa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mappa.caricata .mappa-finta,.mappa.caricata .mappa-carica,.mappa.caricata .mappa-nota{display:none}
.mappa-indirizzo{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;background:#fff;margin:0 16px 16px;border-radius:22px;padding:20px 22px;box-shadow:var(--ombra-s)}
.mappa-indirizzo strong{font-size:1.35rem;font-weight:600;flex:1 1 100%}
.mappa-indirizzo span{color:var(--grigio);font-size:15px;flex:1 1 260px}

/* ============================================================
   Pagine interne
   ============================================================ */
.testata{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,var(--velo-2));padding:28px 0 clamp(48px,6vw,76px)}
.testata .wrap{position:relative}
.briciole{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--grigio);margin-bottom:clamp(30px,5vw,56px)}
.briciole a{color:var(--grigio);text-decoration:none}
.briciole a:hover{color:var(--blu);text-decoration:underline}
.briciole [aria-current]{color:var(--blu);font-weight:800}
.testata-corsivo{font-size:clamp(3rem,5vw,4.2rem);margin:0 0 -.05em;line-height:1}
.testata-titolo{font-size:clamp(2.4rem,5.2vw,4.4rem);line-height:1.02;letter-spacing:-.02em;margin:0;max-width:900px}
.testata-lead{max-width:780px;font-size:1.12rem;color:var(--grigio);margin-top:20px}
.testata-lead p:last-child{margin-bottom:0}

.griglia-schede{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:24px}
.griglia-schede.quattro{grid-template-columns:repeat(4,minmax(0,1fr))}

.dettaglio-griglia{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:clamp(30px,5vw,60px);padding-top:clamp(36px,5vw,56px);align-items:start}
.dettaglio-media{margin:0 0 36px;border-radius:30px;overflow:hidden;aspect-ratio:16/9;background:var(--velo);box-shadow:var(--ombra)}
.dettaglio-media img{width:100%;height:100%;object-fit:cover}
.dettaglio-media.foto-intera{background:#fff;border:1px solid var(--linea)}
.dettaglio-media.foto-intera img{object-fit:contain;padding:18px}
.dettaglio-acq{position:relative;width:100%;height:100%;background:var(--tinta,#6F94AC)}
.dettaglio-acq .scheda-media-ico{width:120px;height:120px;margin:-60px 0 0 -60px}
.dettaglio-acq .scheda-media-ico svg{width:56px;height:56px}
.testo-lungo{max-width:74ch;font-size:1.06rem;line-height:1.78;padding-bottom:10px}
.testo-lungo h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin:1.6em 0 .5em}
.testo-lungo h3{font-size:1.3rem;margin:1.4em 0 .5em;line-height:1.35}
.testo-lungo ul{padding-left:1.2em}
.testo-lungo li{margin-bottom:.4em}
.srv-intro,.rep-intro{font-family:var(--f-titoli);font-size:clamp(1.2rem,1.9vw,1.42rem);line-height:1.6;color:var(--inchiostro)}
.legal-updated{font-size:14px;font-weight:800;color:var(--blu);text-transform:uppercase;letter-spacing:.08em}
article.testo-lungo{margin:clamp(36px,5vw,60px) auto 0}
.dettaglio-nota{margin-top:40px;background:var(--velo-2);border-radius:28px;padding:clamp(24px,3vw,34px)}
.dettaglio-nota h2{font-size:1.7rem;margin-top:0}
.dettaglio-nota p{color:var(--grigio)}
.dettaglio-nota p:last-child{margin:0}
.dettaglio-lato{position:sticky;top:120px}
.prenota-box{background:#fff;border-radius:28px;box-shadow:var(--ombra-l);padding:30px}
.prenota-box-ico{width:58px;height:58px;border-radius:50%;background:var(--velo);color:var(--blu);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.prenota-box h2{font-size:1.55rem;margin-bottom:8px}
.prenota-box>p{color:var(--grigio);font-size:15px}
.prenota-box-btn{display:flex;flex-direction:column;gap:10px}
.prenota-box-btn .btn{width:100%}
.prenota-box-orari{margin-top:22px;padding-top:18px;border-top:1px solid var(--linea);font-size:14.5px;color:var(--grigio)}
.prenota-box-orari .orari-stato{font-size:15px;margin-bottom:8px}
.prenota-box-orari p:last-child{margin:0}
.correlati .sez-titolo{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:30px}

.fascia-contatto{margin-top:clamp(72px,9vw,120px);background:radial-gradient(circle at 90% 0%,rgba(138,171,191,.35),transparent 50%),var(--notte);padding:clamp(40px,6vw,64px) 0}
.fascia-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.fascia-in h2{color:#fff;font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.25;max-width:720px;margin:0;font-weight:400}
.fascia-btn{display:flex;flex-wrap:wrap;gap:12px}

/* Ricerca e archivi */
.risultati{list-style:none;margin:0;padding:0;display:grid;gap:14px;max-width:860px}
.risultati a{display:flex;flex-direction:column;gap:4px;padding:22px 26px;background:#fff;border-radius:22px;box-shadow:var(--ombra);text-decoration:none;color:var(--grigio);transition:transform .3s var(--ease)}
.risultati a:hover{transform:translateX(6px)}
.risultati strong{font-size:1.35rem;color:var(--inchiostro);font-weight:600}
.risultati-tipo{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blu)}
.vuoto{text-align:center;max-width:640px;margin:0 auto}
.vuoto .serif{font-size:1.8rem}
.vuoto-btn{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px}

/* ============================================================
   Moduli
   ============================================================ */
.prenotazione{display:grid;grid-template-columns:340px minmax(0,1fr);gap:clamp(30px,5vw,56px);padding-top:clamp(36px,5vw,56px);align-items:start}
.prenotazione-guida{position:sticky;top:120px}
.passi-guida li{align-items:flex-start}
.passi-guida p{margin:4px 0 0;font-size:14.5px;line-height:1.55}
.guida-alt{background:var(--velo);border-radius:22px;padding:20px;margin-top:8px}
.guida-alt p{font-weight:800;margin-bottom:10px}
.modulo{scroll-margin-top:150px;background:#fff;border-radius:30px;box-shadow:var(--ombra-l);padding:clamp(22px,4vw,40px)}
.modulo fieldset{border:0;padding:0;margin:0;min-width:0}
.passo>legend{font-family:var(--f-titoli);font-size:1.6rem;font-weight:500;margin-bottom:20px;padding:0}
.passo>legend span{display:block;font-family:var(--f-testo);font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blu);margin-bottom:6px}
.passo+.passo{margin-top:34px}
.campi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.campo-pieno{grid-column:1/-1}
.campo label,.campo .etichetta,.scelta legend{display:block;font-weight:800;font-size:15px;margin-bottom:7px;padding:0}
.campo em,.etichetta em{font-style:normal;font-weight:500;color:var(--grigio)}
.campo small{display:block;color:var(--grigio);font-size:13.5px;margin-top:6px}
.modulo input[type=text],.modulo input[type=email],.modulo input[type=tel],.modulo input:not([type]),.modulo textarea{width:100%;min-height:52px;border:1.5px solid var(--linea-2);border-radius:14px;padding:12px 16px;font:inherit;font-size:16px;color:var(--inchiostro);background:#fff;transition:border-color .2s,box-shadow .2s}
.modulo textarea{resize:vertical;min-height:110px}
.modulo input:focus,.modulo textarea:focus{outline:0;border-color:var(--blu);box-shadow:0 0 0 4px rgba(31,78,107,.15)}
.modulo .non-valido{border-color:#B8442A!important;box-shadow:0 0 0 4px rgba(184,68,42,.12)!important}
.campo .trascina,.trascina{position:relative;display:flex;font-weight:500;margin:0;align-items:center;gap:16px;padding:24px;border:2px dashed var(--polvere);border-radius:20px;background:#F8FBFC;color:var(--blu);cursor:pointer;transition:background .2s,border-color .2s}
.trascina span{color:var(--grigio);font-size:15px;line-height:1.45}
.trascina strong{color:var(--inchiostro)}
.trascina input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.trascina.sopra,.trascina:focus-within{background:var(--velo);border-color:var(--blu)}
.trascina-elenco{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.trascina-elenco li{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--velo);border-radius:12px;padding:8px 8px 8px 14px;font-size:14.5px;font-weight:600}
.trascina-elenco button{border:0;background:#fff;color:var(--blu);border-radius:10px;min-height:36px;padding:0 12px;font-weight:700;font-size:13.5px}
.scelta{display:flex;flex-wrap:wrap;gap:10px}
.scelta legend{width:100%}
.pillola{position:relative;display:inline-flex}
.pillola input{position:absolute;opacity:0;inset:0;cursor:pointer}
.pillola span{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:999px;border:1.5px solid var(--linea-2);font-weight:700;color:var(--blu);transition:all .2s}
.pillola input:checked+span{background:var(--blu);border-color:var(--blu);color:#fff}
.pillola input:focus-visible+span{outline:3px solid var(--blu);outline-offset:3px}
.spunta{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;color:var(--grigio)}
.spunta input{width:22px;height:22px;margin-top:2px;accent-color:var(--blu);flex:0 0 auto}
.captcha-riga{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.captcha-img{border-radius:12px;border:1.5px solid var(--linea-2)}
.captcha-nuovo{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--linea-2);background:#fff;color:var(--blu);font-size:20px}
.captcha-riga input{flex:1 1 160px;width:auto!important;text-transform:uppercase}
.fsq-trappola{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.riepilogo{display:grid;grid-template-columns:170px minmax(0,1fr);gap:8px 16px;background:var(--velo-2);border-radius:18px;padding:18px 20px;margin:0 0 22px;font-size:15px}
.riepilogo dt{font-weight:800;color:var(--grigio)}
.riepilogo dd{margin:0;white-space:pre-line;word-break:break-word}
.btn-invio{margin-top:24px;width:100%}
.passi-comandi{display:none;justify-content:space-between;gap:12px;margin-top:28px}
.modulo-nota{font-size:13.5px;color:var(--grigio);margin:18px 0 0}
.avviso-modulo{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:20px;margin-bottom:22px;font-weight:600}
.avviso-modulo p{margin:0}
.avviso-modulo .ico{flex:0 0 auto;margin-top:2px}
.avviso-modulo.is-ok{background:#E3F2EC;color:#14523C}
.avviso-modulo.is-errore{background:#FBEAE4;color:#8A2E12}
.avviso-modulo:focus{outline:0}
.passi-barra{display:none;margin-bottom:28px}
.passi-etichette{display:flex;justify-content:space-between;font-size:13.5px;font-weight:700;color:var(--grigio);margin-bottom:10px}
.passi-etichette .attivo{color:var(--blu)}
.passi-traccia{height:6px;border-radius:6px;background:var(--velo);overflow:hidden}
.passi-traccia i{display:block;height:100%;width:33.3%;background:var(--blu);border-radius:6px;transition:width .5s var(--ease)}
/* Con JavaScript: un passo alla volta */
.js .modulo-passi .passi-barra{display:block}
.js .modulo-passi .passi-comandi{display:flex}
.js .modulo-passi .passo{display:none}
.js .modulo-passi .passo.attivo{display:block;animation:passo .45s var(--ease)}
.js .modulo-passi .passo+.passo{margin-top:0}
.js .modulo-passi [data-passo-indietro][hidden],.js .modulo-passi [data-passo-avanti][hidden]{display:none}
@keyframes passo{from{opacity:0;transform:translateX(18px)}}

.scrivici{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,60px);align-items:start}
.scrivici-testo p:not(.occhiello){color:var(--grigio);margin-top:16px}

/* ============================================================
   Footer
   ============================================================ */
.sito-footer{position:relative;background:var(--notte);color:#C6D6E1;margin-top:clamp(110px,12vw,160px);font-size:15px}
main>.fascia-contatto:last-child{margin-bottom:-1px}
.fascia-contatto+.sito-footer,main:has(>.fascia-contatto:last-child)+.sito-footer{margin-top:0}
.footer-onda{position:absolute;left:0;right:0;top:-88px;width:100%;height:90px;color:var(--notte)}
main:has(>.fascia-contatto:last-child)+.sito-footer .footer-onda{display:none}
.footer-griglia{display:grid;grid-template-columns:1.3fr 1fr 1.25fr 1.2fr;gap:40px;padding-top:60px;padding-bottom:40px}
.footer-logo{display:inline-flex;flex-direction:column;align-items:flex-start;text-decoration:none;color:#fff}
.footer-logo img{display:block;height:84px;width:auto;margin:2px 0 0 -6px;transition:transform .5s var(--ease)}
.footer-logo:hover img{transform:rotate(-2deg) scale(1.03)}
.footer-logo-occhiello{font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--polvere-chiaro)}
.footer-logo-anno{font-family:var(--f-corsivo);font-size:28px;line-height:.9;color:var(--polvere-chiaro);margin-top:-4px}
.footer-marca p{margin:18px 0;line-height:1.65}
.footer-social{display:flex;gap:10px}
.footer-social a{width:44px;height:44px;border-radius:50%;border:1px solid rgba(169,194,209,.35);color:#fff;display:flex;align-items:center;justify-content:center;transition:all .25s}
.footer-social a:hover{background:#fff;color:var(--notte)}
.footer-tit{color:#fff;font-size:1.2rem;margin:6px 0 16px}
.footer-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.footer-lista a{color:#C6D6E1;text-decoration:none}
.footer-lista a:hover{color:#fff;text-decoration:underline}
.footer-contatti li{display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.footer-contatti .ico{color:var(--polvere-chiaro);flex:0 0 auto;margin-top:2px}
.footer-orari{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}
.footer-orari li{display:flex;justify-content:space-between;gap:10px}
.footer-orari li span:last-child{text-align:right}
.footer-orari .oggi{color:#fff;font-weight:800}
.footer-fondo{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-top:22px;padding-bottom:28px;border-top:1px solid rgba(169,194,209,.22);font-size:13.5px;color:#A9C2D1}
.footer-legali{display:flex;flex-wrap:wrap;gap:6px 18px}
.footer-legali a{color:#C6D6E1;text-decoration:none}
.footer-legali a:hover{color:#fff;text-decoration:underline}
.sito-footer :focus-visible{outline-color:#fff}
.storia :focus-visible,.wa-card :focus-visible,.barra-viva :focus-visible,.fascia-contatto :focus-visible,.mega-evidenza:focus-visible{outline-color:#fff}

/* Finestra video */
.video-modale{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.video-modale[hidden]{display:none}
.video-velo{position:absolute;inset:0;background:rgba(10,22,32,.82);animation:appare .3s both}
.video-box{position:relative;width:min(920px,100%);animation:sboccia .45s var(--ease) both}
.video-box video{width:100%;max-height:80vh;border-radius:20px;background:#000}
.video-chiudi{position:absolute;right:-6px;top:-58px;width:48px;height:48px;border-radius:50%;border:0;background:#fff;color:var(--blu);display:flex;align-items:center;justify-content:center}
.video-nota{color:#C6D6E1;font-size:13px;text-align:center;margin:10px 0 0}

/* ============================================================
   Cookie banner
   ============================================================ */
.fsq-cookie{position:fixed;left:20px;bottom:20px;z-index:150;max-width:560px;background:#fff;border-radius:24px;box-shadow:var(--ombra-l);padding:22px 24px;animation:sale-poco .5s var(--ease) both}
.fsq-cookie[hidden],.fsq-cookie-prefs[hidden]{display:none}
@keyframes sale-poco{from{opacity:0;transform:translateY(20px)}}
.fsq-cookie-txt strong{font-family:var(--f-titoli);font-size:1.25rem;font-weight:600}
.fsq-cookie-txt p{font-size:14.5px;color:var(--grigio);margin:6px 0 14px}
.fsq-cookie-btns,.fsq-cookie-prefs-btns{display:flex;flex-wrap:wrap;gap:8px}
.fsq-cookie .btn,.fsq-cookie-prefs .btn{min-height:46px;padding:0 18px;font-size:14.5px}
.fsq-cookie-prefs{position:fixed;inset:0;z-index:160;background:rgba(23,58,82,.5);display:flex;align-items:center;justify-content:center;padding:20px}
.fsq-cookie-prefs-box{background:#fff;border-radius:26px;padding:28px;max-width:520px;width:100%;max-height:90vh;overflow:auto}
.fsq-cookie-prefs-box h3{font-size:1.5rem}
.fsq-cc-intro{color:var(--grigio);font-size:15px}
.fsq-cc-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--linea)}
.fsq-cc-row small{display:block;color:var(--grigio);font-size:13.5px}
.fsq-cc-row input{width:22px;height:22px;accent-color:var(--blu)}
.fsq-cookie-prefs-btns{margin-top:16px}
.fsq-cc-link{font-size:14px;margin:14px 0 0}
body.fsq-cookie-aperto .fsq-acc-btn{opacity:0;pointer-events:none}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:1023px){
  .hero-in{grid-template-columns:1fr}
  .hero-visual{max-width:520px;margin-top:10px}
  .azioni-griglia{grid-template-columns:repeat(2,minmax(0,1fr))}
  .storia-in,.prenota-griglia,.orari-griglia,.scrivici{grid-template-columns:1fr}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px}
  .bento-voce:nth-child(6),.bento-voce:nth-child(7){grid-column:span 1}
  .fb-griglia{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dettaglio-griglia,.prenotazione{grid-template-columns:1fr}
  .dettaglio-lato,.prenotazione-guida{position:static}
  .griglia-schede.quattro{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-griglia{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:899px){
  .tabbar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:70;height:70px;border-radius:24px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 14px 34px -10px rgba(23,58,82,.4),0 0 0 1px rgba(23,58,82,.05);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center}
  .tabbar a{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--grigio);font-size:11.5px;font-weight:800;text-decoration:none}
  .tabbar a[aria-current]{color:var(--blu)}
  .tabbar a.is-wa .ico{color:var(--wa)}
  .tabbar-bolla{width:60px;height:60px;margin-top:-34px;border-radius:50%;background:var(--blu);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px -8px rgba(31,78,107,.65);border:4px solid #fff}
  .tabbar .tabbar-centro{color:var(--blu)}
  body{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .fsq-acc-btn{bottom:calc(96px + env(safe-area-inset-bottom))!important;left:14px!important;width:50px!important;height:50px!important}
  .fsq-acc-pannello{bottom:calc(156px + env(safe-area-inset-bottom))!important}
  .fsq-cookie{left:10px;right:10px;bottom:calc(92px + env(safe-area-inset-bottom));max-width:none}
}
@media (max-width:759px){
  body{font-size:16px}
  .hero{padding-bottom:96px}
  .hero-titolo .corsivo{font-size:1.5em}
  .cerca-campo{padding-left:16px}
  .cerca-campo .btn{padding:0 16px}
  .f-stato{display:none}
  .f-anni{left:-6px;bottom:8%;padding:10px 14px}
  .f-anni .serif{font-size:2.1rem}
  .f-wa{right:-4px;bottom:-4%;padding:10px 12px;font-size:12.5px}
  .azioni{margin-top:-52px}
  .azioni-griglia{grid-template-columns:1fr;gap:10px}
  .azione{padding:16px 18px;align-items:center}
  .azione-ico{flex-basis:46px;height:46px}
  .azione-freccia{opacity:1;transform:none;top:50%;margin-top:-9px}
  .azione-testo{padding-right:24px}
  .carosello-frecce{display:none}
  .storia-punti,.numeri{grid-template-columns:1fr 1fr}
  .storia-punti{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:10px}
  .bento-voce{padding:16px;border-radius:22px}
  .bento-voce:nth-child(1){grid-row:span 2}
  .bento-ico{width:40px;height:40px;left:14px;top:14px}
  .bento-ico svg{width:20px;height:20px}
  .bento-vai{display:none}
  .bento-testo strong{font-size:1.15rem}
  .bento-occhiello{font-size:10.5px;letter-spacing:.08em}
  .fb-griglia{grid-template-columns:1fr}
  .campi{grid-template-columns:1fr}
  .riepilogo{grid-template-columns:1fr}
  .riepilogo dd{margin-bottom:8px}
  .griglia-schede.quattro{grid-template-columns:1fr}
  .footer-griglia{grid-template-columns:1fr;gap:30px}
  .mappa-card{min-height:420px}
  .passi-etichette span:not(.attivo){display:none}
  .video-chiudi{right:0}
}

/* Movimento ridotto */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .anello-pennello,.anello-sottile{stroke-dashoffset:0}
  .js .rivela{opacity:1;transform:none}
  @view-transition{navigation:none}
}
html.acc-noanim .rivela{opacity:1!important;transform:none!important}
html.acc-noanim .anello-pennello,html.acc-noanim .anello-sottile{stroke-dashoffset:0!important}

/* Stampa */
@media print{
  .sito-header,.header-spazio,.tabbar,.sito-footer,.fsq-cookie,.fsq-acc-btn,.azioni,.hero-visual{display:none!important}
  body{padding:0}
}
