/* ==========================================================================
   SHAMELESS PUB — Landing GEO/SEO
   Foglio di stile condiviso da /pomigliano/ e /napoli/
   Brandbox Studio · https://shamelesspub.it
   --------------------------------------------------------------------------
   Font self-hosted (nessuna chiamata a Google Fonts: piu' veloce e GDPR-safe)
   Anton  — SIL Open Font License 1.1 (vedi fonts/LICENSE-Anton-OFL.txt)
   Oswald — SIL Open Font License 1.1 (vedi fonts/LICENSE-Oswald-OFL.txt)
   ========================================================================== */

/* ---------- FONT ---------- */
@font-face{
  font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/anton-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/anton-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Oswald';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/oswald-600-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Oswald';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/oswald-600-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ---------- TOKEN ---------- */
:root{
  --nero:#0a0a0a;
  --nero-2:#111110;
  --nero-3:#17150f;
  --carta:#f6f1e6;
  --carta-dim:#cfc7b8;
  --grigio:#8e887c;
  --oro:#efa00b;
  --oro-scuro:#c07f05;
  --rosso:#c4372a;
  --verde-wa:#25d366;
  --bordo:rgba(246,241,230,.14);
  --bordo-forte:rgba(246,241,230,.28);

  --display:'Anton',Impact,'Haettenschweiler','Arial Narrow Bold',sans-serif;
  --label:'Oswald',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --testo:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;

  --wrap:1180px;
  --gap:clamp(1rem,3vw,2rem);
  --sez-y:clamp(3.25rem,7vw,6rem);
  --r:14px;
  --ombra:0 18px 50px -18px rgba(0,0,0,.85);
}

/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:82px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
body{
  margin:0;background:var(--nero);color:var(--carta);
  font-family:var(--testo);font-size:clamp(1rem,.97rem + .2vw,1.075rem);
  line-height:1.68;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg,picture,video{display:block;max-width:100%;height:auto}
a{color:var(--oro);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#ffc148}
ul,ol{padding-left:1.15em}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0 0 .55em;font-family:var(--display);font-weight:400;
  line-height:.98;letter-spacing:.005em;text-transform:uppercase;text-wrap:balance}
h1{font-size:clamp(2.35rem,7.2vw,4.6rem)}
h2{font-size:clamp(1.85rem,4.6vw,3.05rem)}
h3{font-size:clamp(1.2rem,2.4vw,1.6rem)}
h4{font-size:clamp(1.02rem,1.6vw,1.15rem);font-family:var(--label);letter-spacing:.03em}
strong,b{color:#fff;font-weight:700}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:3px solid var(--oro);outline-offset:3px;border-radius:4px}
::selection{background:var(--oro);color:#000}

/* ---------- UTILITY ---------- */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
.sez{padding-block:var(--sez-y);position:relative}
.sez--alt{background:var(--nero-2);border-block:1px solid var(--bordo)}
.sez--scuro{background:linear-gradient(180deg,#0d0c0a,#080807)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
.centro{text-align:center}
.kicker{
  font-family:var(--label);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--oro);margin:0 0 .85rem;display:flex;align-items:center;gap:.6rem;
}
.kicker::before{content:"";width:26px;height:3px;background:var(--oro);flex:none}
.centro .kicker{justify-content:center}
.occhiello{color:var(--carta-dim);font-size:clamp(1.02rem,1.4vw,1.16rem);max-width:64ch}
.centro .occhiello{margin-inline:auto}
.oro{color:var(--oro)}

/* ---------- SKIP LINK ---------- */
.skip{
  position:absolute;left:.5rem;top:-100px;z-index:200;background:var(--oro);color:#000;
  font-family:var(--label);padding:.7rem 1.1rem;border-radius:8px;text-decoration:none;
}
.skip:focus{top:.5rem}

/* ---------- HEADER ---------- */
.hdr{
  position:sticky;top:0;z-index:100;
  background:rgba(8,8,8,.82);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--bordo);
}
.hdr__in{display:flex;align-items:center;gap:1rem;min-height:66px}
.hdr__logo{flex:none;display:block}
.hdr__logo img{width:auto;height:34px}
.nav{margin-left:auto;display:none;gap:1.45rem}
.nav a{
  font-family:var(--label);font-size:.83rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--carta);text-decoration:none;padding:.3rem 0;border-bottom:2px solid transparent;
}
.nav a:hover{color:var(--oro);border-bottom-color:var(--oro)}
.hdr__cta{margin-left:auto}
.nav + .hdr__cta{margin-left:0}
@media (min-width:960px){ .nav{display:flex} }

/* ---------- BOTTONI ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--label);font-size:.94rem;letter-spacing:.055em;text-transform:uppercase;
  padding:.92em 1.5em;border-radius:10px;border:2px solid transparent;
  text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,color .15s;
  line-height:1;text-align:center;
}
.btn:active{transform:translateY(1px)}
.btn svg{width:1.15em;height:1.15em;flex:none}
.btn--wa{background:var(--verde-wa);color:#062d13}
.btn--wa:hover{background:#3ce77a;color:#062d13}
.btn--oro{background:var(--oro);color:#1a1200}
.btn--oro:hover{background:#ffb62c;color:#1a1200}
.btn--ghost{border-color:var(--bordo-forte);color:var(--carta)}
.btn--ghost:hover{border-color:var(--oro);color:var(--oro)}
.btn--sm{padding:.7em 1.05em;font-size:.8rem}
.btn-fila{display:flex;flex-wrap:wrap;gap:.7rem}
.centro .btn-fila{justify-content:center}

/* ---------- HERO ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#070707}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
/* Inquadratura per pagina: ogni foto ha il soggetto in un punto diverso. */
[data-landing="napoli"] .hero__media img{object-position:40% 70%}
.hero__media::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(100deg,rgba(6,6,6,.96) 0%,rgba(6,6,6,.9) 34%,rgba(6,6,6,.6) 62%,rgba(6,6,6,.5) 100%),
    linear-gradient(0deg,rgba(6,6,6,.95),transparent 45%);
}
.hero__in{padding-block:clamp(3rem,9vw,6.25rem) clamp(2.5rem,6vw,4.5rem);position:relative}
/* Su schermi stretti il testo occupa tutta la larghezza: il velo orizzontale
   non basta piu', serve uno scurimento uniforme piu' marcato. */
@media (max-width:900px){
  .hero__media::after{
    background:
      linear-gradient(180deg,rgba(6,6,6,.9) 0%,rgba(6,6,6,.72) 42%,rgba(6,6,6,.88) 100%),
      linear-gradient(90deg,rgba(6,6,6,.55),rgba(6,6,6,.35));
  }
  .hero__media img{object-position:center 42%}
}
.hero__txt{max-width:44rem}
.hero h1{margin-bottom:.5em}
.hero h1 .riga{display:block}
.hero h1 em{font-style:normal;color:var(--oro)}
.hero__sub{font-size:clamp(1.05rem,1.6vw,1.24rem);color:var(--carta-dim);max-width:52ch;margin-bottom:1.7rem}
.hero .btn-fila{margin-bottom:1.9rem}

.hero__badge{
  display:inline-flex;align-items:center;gap:.5rem;transform:rotate(-2deg);
  background:var(--rosso);color:#fff;font-family:var(--label);font-size:.76rem;
  letter-spacing:.16em;text-transform:uppercase;padding:.42rem .8rem;border-radius:5px;
  margin-bottom:1.15rem;
}

/* trust strip */
.trust{
  display:grid;gap:.1rem;grid-template-columns:1fr;
  border:1px solid var(--bordo);border-radius:var(--r);overflow:hidden;
  background:rgba(12,12,12,.72);backdrop-filter:blur(6px);
}
.trust__i{padding:.95rem 1.15rem;border-bottom:1px solid var(--bordo)}
.trust__i:last-child{border-bottom:0}
.trust__k{font-family:var(--label);font-size:.68rem;letter-spacing:.17em;
  text-transform:uppercase;color:var(--grigio);display:block;margin-bottom:.2rem}
.trust__v{font-family:var(--label);font-size:1.02rem;color:#fff;line-height:1.25}
.trust__v a{text-decoration:none}
@media (min-width:700px){
  .trust{grid-template-columns:repeat(3,1fr)}
  .trust__i{border-bottom:0;border-right:1px solid var(--bordo)}
  .trust__i:last-child{border-right:0}
}

/* stelle */
.stelle{color:var(--oro);letter-spacing:.08em;font-size:.95em}

/* ---------- RISPOSTA DIRETTA (blocco citabile dagli AI) ---------- */
.risposta{
  background:var(--nero-3);border:1px solid var(--bordo-forte);
  border-left:5px solid var(--oro);border-radius:var(--r);
  padding:clamp(1.35rem,3.4vw,2.2rem);box-shadow:var(--ombra);
}
.risposta h2{font-size:clamp(1.3rem,2.5vw,1.7rem);margin-bottom:.7em}
.risposta p{margin-bottom:.85em}
.risposta p:last-child{margin-bottom:0}
.risposta__dl{
  margin:1.4rem 0 0;display:grid;gap:.1rem;
  border-top:1px solid var(--bordo);
}
.risposta__dl div{
  display:grid;grid-template-columns:1fr;gap:.1rem;
  padding:.72rem 0;border-bottom:1px solid var(--bordo);
}
.risposta__dl dt{font-family:var(--label);font-size:.74rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--grigio)}
.risposta__dl dd{margin:0;color:var(--carta)}
@media (min-width:620px){
  .risposta__dl div{grid-template-columns:11.5rem 1fr;gap:1rem;align-items:baseline}
}

/* ---------- GRIGLIE ---------- */
.griglia{display:grid;gap:var(--gap);grid-template-columns:1fr}
/* I figli di una griglia hanno min-width:auto per default e possono sfondare
   il contenitore quando dentro c'e' una tabella larga: azzeriamolo. */
.griglia>*,.split>*,.risposta__dl>div>*{min-width:0}
@media (min-width:640px){ .griglia--2,.griglia--3,.griglia--4{grid-template-columns:repeat(2,1fr)} }
@media (min-width:960px){
  .griglia--3{grid-template-columns:repeat(3,1fr)}
  .griglia--4{grid-template-columns:repeat(4,1fr)}
}

.card{
  background:var(--nero-2);border:1px solid var(--bordo);border-radius:var(--r);
  padding:clamp(1.15rem,2.4vw,1.6rem);position:relative;
  transition:border-color .18s,transform .18s;
}
.card:hover{border-color:var(--bordo-forte);transform:translateY(-2px)}
.card h3{color:#fff;margin-bottom:.4em}
.card p:last-child{margin-bottom:0}
.card p{color:var(--carta-dim);font-size:.965rem}
.card__num{
  font-family:var(--display);font-size:2.1rem;color:var(--oro);line-height:1;
  display:block;margin-bottom:.45rem;opacity:.9;
}
.card__ico{width:40px;height:40px;margin-bottom:.85rem;object-fit:contain;object-position:left center}

/* ---------- SPLIT (testo + foto) ---------- */
.split{display:grid;gap:clamp(1.5rem,4vw,3.25rem);grid-template-columns:1fr;align-items:center;
  min-width:0}
@media (min-width:900px){
  .split{grid-template-columns:1.05fr .95fr}
  .split--inv .split__media{order:-1}
}
.split__media{position:relative}
.split__media img{border-radius:var(--r);width:100%;box-shadow:var(--ombra)}
.split__media .sticker{
  position:absolute;right:-.5rem;bottom:-.9rem;transform:rotate(-4deg);
  background:var(--oro);color:#151000;font-family:var(--display);
  font-size:clamp(.95rem,2vw,1.2rem);text-transform:uppercase;
  padding:.55rem .95rem;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.5);
  line-height:1.05;max-width:11rem;
}

/* ---------- PIATTI ICONICI ---------- */
.piatto{
  display:grid;grid-template-columns:1fr;gap:.35rem;
  padding:1.05rem 0;border-bottom:1px solid var(--bordo);
}
.piatto:last-child{border-bottom:0}
.piatto__top{display:flex;align-items:baseline;gap:.75rem}
.piatto__nome{font-family:var(--label);font-size:1.06rem;color:#fff;letter-spacing:.02em;
  text-transform:uppercase;flex:1}
.piatto__prezzo{font-family:var(--display);color:var(--oro);font-size:1.2rem;flex:none}
.piatto__desc{color:var(--carta-dim);font-size:.94rem;margin:0}
.piatto__tag{
  display:inline-block;font-family:var(--label);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--nero);background:var(--oro);
  padding:.16rem .42rem;border-radius:4px;vertical-align:.14em;margin-left:.35rem;
}

/* ---------- TABELLE (menu / orari) ---------- */
.tab-wrap{
  overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;
  border:1px solid var(--bordo);border-radius:var(--r);
  /* Ombre di scorrimento: compaiono sul lato dove c'e' altro contenuto, cosi'
     su mobile si capisce che la tabella si scorre di lato. */
  background:
    linear-gradient(to right, var(--nero) 22%, rgba(10,10,10,0)) left center / 34px 100% no-repeat local,
    linear-gradient(to left,  var(--nero) 22%, rgba(10,10,10,0)) right center / 34px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%,    rgba(0,0,0,.55), rgba(0,0,0,0)) left center / 16px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.55), rgba(0,0,0,0)) right center / 16px 100% no-repeat scroll;
}
.sez--alt .tab-wrap{
  background:
    linear-gradient(to right, var(--nero-2) 22%, rgba(17,17,16,0)) left center / 34px 100% no-repeat local,
    linear-gradient(to left,  var(--nero-2) 22%, rgba(17,17,16,0)) right center / 34px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%,    rgba(0,0,0,.55), rgba(0,0,0,0)) left center / 16px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.55), rgba(0,0,0,0)) right center / 16px 100% no-repeat scroll;
}
.tab{font-size:.97rem;min-width:32rem}
.tab caption{
  text-align:left;font-family:var(--label);font-size:.74rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--grigio);padding:.95rem 1.1rem .2rem;
}
.tab th,.tab td{padding:.78rem 1.1rem;text-align:left;border-bottom:1px solid var(--bordo);
  vertical-align:top}
.tab thead th{
  font-family:var(--label);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--grigio);background:rgba(255,255,255,.03);font-weight:600;
}
.tab tbody tr:last-child th,.tab tbody tr:last-child td{border-bottom:0}
.tab tbody th{font-family:var(--label);color:#fff;font-weight:600;letter-spacing:.02em;
  text-transform:uppercase;white-space:nowrap}
.tab td.prezzo{font-family:var(--label);color:var(--oro);white-space:nowrap}
.tab tr.oggi th,.tab tr.oggi td{background:rgba(239,160,11,.09)}
.tab .chiuso{color:var(--rosso)}

/* ---------- RECENSIONI ---------- */
.voto{
  display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;
  background:var(--nero-3);border:1px solid var(--bordo-forte);border-radius:var(--r);
  padding:clamp(1.1rem,2.6vw,1.6rem);margin-bottom:var(--gap);
}
.voto__n{font-family:var(--display);font-size:clamp(2.6rem,7vw,3.6rem);color:var(--oro);line-height:.85}
.voto__meta{font-size:.95rem;color:var(--carta-dim)}
.voto__meta strong{display:block;font-family:var(--label);color:#fff;font-size:1.02rem;
  letter-spacing:.02em;margin-bottom:.15rem;text-transform:uppercase}
.voto .btn{margin-left:auto}

.rec{
  background:var(--nero-2);border:1px solid var(--bordo);border-radius:var(--r);
  padding:clamp(1.1rem,2.4vw,1.45rem);display:flex;flex-direction:column;gap:.85rem;
}
.rec blockquote{margin:0;font-size:.99rem;color:var(--carta)}
.rec blockquote p{margin:0}
.rec__cite{margin-top:auto;font-style:normal;font-size:.85rem;color:var(--grigio);
  display:flex;flex-wrap:wrap;gap:.4rem .6rem;align-items:center}
.rec__cite b{color:#fff;font-weight:600}
.rec .stelle{font-size:.9rem}
.fonte{font-size:.83rem;color:var(--grigio);margin-top:1rem}

/* ---------- GALLERIA ---------- */
.gall{display:grid;gap:.7rem;grid-template-columns:repeat(2,1fr)}
.gall figure{margin:0;position:relative;border-radius:10px;overflow:hidden;background:#141414}
.gall img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .4s}
.gall figure:hover img{transform:scale(1.045)}
.gall figcaption{
  position:absolute;inset:auto 0 0 0;padding:1.6rem .8rem .55rem;
  background:linear-gradient(0deg,rgba(0,0,0,.9),transparent);
  font-family:var(--label);font-size:.76rem;letter-spacing:.05em;color:#fff;
  text-transform:uppercase;
}
@media (min-width:700px){ .gall{grid-template-columns:repeat(3,1fr);gap:.85rem} }
@media (min-width:1000px){
  .gall{grid-template-columns:repeat(4,1fr)}
  .gall figure.big{grid-column:span 2;grid-row:span 2}
  .gall figure.big img{aspect-ratio:1/1}
}

/* ---------- MAPPA ---------- */
.mappa{
  border:1px solid var(--bordo);border-radius:var(--r);overflow:hidden;
  background:#141414;aspect-ratio:4/3;
}
.mappa iframe{width:100%;height:100%;border:0;display:block}
/* Contenuto mostrato finche' la mappa non viene caricata (o se Google e'
   bloccato dal banner cookie o da un blocco pubblicitario): l'utente vede
   comunque l'indirizzo e un link alla scheda Google. */
.mappa__ph{
  height:100%;min-height:16rem;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:.9rem;text-align:center;padding:1.5rem;
  background:radial-gradient(circle at 50% 40%,#1b1710,#0d0c0a);
}
.mappa__ph img{width:clamp(48px,9vw,72px);opacity:.85}
.mappa__ph p{margin:0;color:var(--carta-dim);line-height:1.65}
.mappa__ph strong{font-family:var(--label);letter-spacing:.03em}
@media (min-width:900px){
  /* Altezza contenuta e allineata in alto: la colonna dei contatti e' piu'
     lunga, e una mappa alta come tutta la colonna spingerebbe il contenuto
     del segnaposto fuori dallo schermo. Sticky: resta visibile mentre si
     scorrono orari e contatti. */
  .mappa{
    aspect-ratio:auto;height:clamp(26rem,44vh,32rem);
    align-self:start;position:sticky;top:86px;
  }
}

.contatti-lista{list-style:none;padding:0;margin:0 0 1.6rem}
.contatti-lista li{
  display:flex;gap:.85rem;padding:.85rem 0;border-bottom:1px solid var(--bordo);
  align-items:flex-start;
}
.contatti-lista li:last-child{border-bottom:0}
.contatti-lista svg{width:20px;height:20px;flex:none;margin-top:.22rem;color:var(--oro)}
.contatti-lista .et{display:block;font-family:var(--label);font-size:.7rem;
  letter-spacing:.15em;text-transform:uppercase;color:var(--grigio);margin-bottom:.1rem}
.contatti-lista a{text-decoration:none}
.contatti-lista a:hover{text-decoration:underline}

/* ---------- FAQ ---------- */
.faq{max-width:56rem}
.faq details{
  border:1px solid var(--bordo);border-radius:10px;margin-bottom:.6rem;
  background:var(--nero-2);transition:border-color .18s;
}
.faq details[open]{border-color:var(--bordo-forte)}
.faq summary{
  cursor:pointer;list-style:none;padding:1.05rem 3rem 1.05rem 1.15rem;position:relative;
  font-family:var(--label);font-size:1.01rem;color:#fff;letter-spacing:.01em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:1.15rem;top:50%;width:11px;height:11px;
  border-right:2px solid var(--oro);border-bottom:2px solid var(--oro);
  transform:translateY(-70%) rotate(45deg);transition:transform .2s;
}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq summary:hover{color:var(--oro)}
.faq__body{padding:0 1.15rem 1.2rem;color:var(--carta-dim)}
.faq__body :last-child{margin-bottom:0}
.faq__body ul{margin:.5em 0}

/* ---------- CTA FINALE ---------- */
.cta-finale{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--oro);color:#140f00;text-align:center;
}
.cta-finale h2{color:#140f00}
.cta-finale p{color:#3a2c00;max-width:52ch;margin-inline:auto}
.cta-finale .btn--nero{background:#0a0a0a;color:var(--oro);border-color:#0a0a0a}
.cta-finale .btn--nero:hover{background:#000;color:#ffc148}
.cta-finale .btn--linea{border-color:rgba(20,15,0,.45);color:#140f00}
.cta-finale .btn--linea:hover{border-color:#140f00;background:rgba(0,0,0,.07);color:#140f00}
.cta-finale__deco{
  position:absolute;right:-3rem;bottom:-3rem;width:16rem;opacity:.13;z-index:-1;
  transform:rotate(-12deg);pointer-events:none;
}

/* ---------- FOOTER ---------- */
.ftr{background:#060606;border-top:1px solid var(--bordo);padding-block:clamp(2.5rem,5vw,3.5rem) 1.5rem;
  font-size:.94rem}
.ftr__grid{display:grid;gap:2rem;grid-template-columns:1fr}
@media (min-width:760px){ .ftr__grid{grid-template-columns:1.3fr 1fr 1fr} }
.ftr h2,.ftr h3{font-family:var(--label);font-size:.76rem;letter-spacing:.18em;
  color:var(--grigio);text-transform:uppercase;margin-bottom:1rem}
.ftr img.logo{height:38px;width:auto;margin-bottom:1rem}
.ftr address{font-style:normal;color:var(--carta-dim);line-height:1.75}
.ftr a{color:var(--carta-dim);text-decoration:none}
.ftr a:hover{color:var(--oro);text-decoration:underline}
.ftr ul{list-style:none;padding:0;margin:0}
.ftr li{margin-bottom:.5rem}
.social{display:flex;gap:.6rem;margin-top:1.15rem}
.social a{
  width:40px;height:40px;border:1px solid var(--bordo);border-radius:9px;
  display:grid;place-items:center;color:var(--carta);
}
.social a:hover{border-color:var(--oro);color:var(--oro)}
.social svg{width:19px;height:19px}
.ftr__base{
  margin-top:2.25rem;padding-top:1.35rem;border-top:1px solid var(--bordo);
  display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-size:.83rem;color:var(--grigio);
}
.ftr__base a{color:var(--grigio)}

/* ---------- BREADCRUMB ---------- */
.crumb{font-size:.82rem;color:var(--grigio);padding-top:1rem}
.crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;padding:0;margin:0}
.crumb li:not(:last-child)::after{content:"›";margin-left:.45rem;color:var(--bordo-forte)}
.crumb a{color:var(--carta-dim);text-decoration:none}
.crumb a:hover{color:var(--oro)}
.crumb [aria-current]{color:var(--carta)}

/* ---------- BARRA STICKY MOBILE ---------- */
.barra{
  position:fixed;inset:auto 0 0 0;z-index:110;display:grid;grid-template-columns:repeat(3,1fr);
  background:rgba(8,8,8,.95);backdrop-filter:blur(12px);border-top:1px solid var(--bordo-forte);
  padding:.45rem .45rem calc(.45rem + env(safe-area-inset-bottom));gap:.4rem;
}
.barra a{
  display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .2rem;
  font-family:var(--label);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--carta);text-decoration:none;border-radius:9px;
}
.barra a svg{width:20px;height:20px}
.barra a.wa{background:var(--verde-wa);color:#062d13}
.barra a:not(.wa):hover{background:rgba(255,255,255,.07);color:var(--oro)}
body{padding-bottom:4.9rem}
@media (min-width:960px){
  .barra{display:none}
  body{padding-bottom:0}
}

/* ---------- ELEMENTI DECORATIVI ---------- */
.deco{position:absolute;pointer-events:none;z-index:0;opacity:.09;user-select:none}
.deco--fulmine{width:11rem;right:2%;top:8%;transform:rotate(8deg)}
.deco--stella{width:6.5rem;left:1.5%;bottom:6%}
@media (max-width:860px){ .deco{display:none} }

.riga-scorrevole{
  overflow:hidden;border-block:1px solid var(--bordo);background:var(--nero-2);
  padding-block:.8rem;
}
.riga-scorrevole ul{
  display:flex;gap:2.5rem;list-style:none;margin:0;padding:0;
  font-family:var(--display);text-transform:uppercase;color:var(--carta-dim);
  font-size:clamp(.95rem,2vw,1.2rem);white-space:nowrap;
  animation:scorri 34s linear infinite;width:max-content;
}
.riga-scorrevole li{display:flex;align-items:center;gap:2.5rem}
.riga-scorrevole li::after{content:"";width:7px;height:7px;background:var(--oro);
  border-radius:50%;flex:none}
@keyframes scorri{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .riga-scorrevole ul{animation:none;flex-wrap:wrap;white-space:normal;width:auto}
}

/* ---------- NOTA / AVVISO ---------- */
.nota{
  background:rgba(196,55,42,.1);border:1px solid rgba(196,55,42,.45);
  border-radius:10px;padding:1rem 1.15rem;font-size:.94rem;color:var(--carta);
}
.nota strong{color:#ff9b8f}

/* ---------- PRINT ---------- */
@media print{
  .hdr,.barra,.cta-finale,.gall,.mappa,.deco,.riga-scorrevole{display:none!important}
  body{background:#fff;color:#000;padding:0}
  a{color:#000}
  .card,.risposta,.rec{border:1px solid #ccc;background:#fff;color:#000}
}
