/* ==========================================================================
   HEADER + NAVIGAZIONE — V5.6.152
   Fonte di verità desktop.
   ========================================================================== */
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:94px;display:flex;align-items:center;gap:26px;padding:10px 28px;color:var(--navy-900);background:#fff;border-bottom:1px solid rgba(3,27,59,.08);box-shadow:0 4px 22px rgba(3,27,59,.05);transition:background .25s ease,box-shadow .25s ease}
.site-header.scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(3,27,59,.09)}
.brand{display:block;flex:0 0 290px;line-height:0}
.brand-logo{display:block;width:auto;height:72px;max-width:100%;object-fit:contain;object-position:left center}
.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(22px,2.5vw,44px);flex:1;font-size:var(--type-nav);font-weight:800;letter-spacing:.02em}
.main-nav .nav-link,.nav-dropdown-toggle{position:relative;padding:12px 0;color:var(--navy-900);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;white-space:nowrap}
.main-nav .nav-link:after,.nav-dropdown-toggle:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:var(--gold);transition:right .22s ease}
.main-nav .nav-link:hover:after,.main-nav .nav-link:focus-visible:after,.nav-dropdown-toggle:hover:after,.nav-dropdown-toggle:focus-visible:after,.nav-menu-group.open .nav-dropdown-toggle:after{right:0}
.nav-menu-group{position:relative}
.nav-dropdown{position:absolute;top:calc(100% + 17px);left:50%;transform:translate(-50%,-6px);display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));width:min(560px,calc(100vw - 32px));padding:10px;background:#fff;border:1px solid rgba(3,27,59,.13);border-radius:14px;box-shadow:0 20px 48px rgba(3,27,59,.16);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:150}
.nav-menu-group.open .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.solutions-dropdown{width:min(650px,calc(100vw - 32px))}
.nav-dropdown a{display:block;padding:13px 15px;color:var(--navy-900);text-decoration:none;font-size:var(--type-small);font-weight:750;line-height:1.32;border-radius:8px;transition:background .18s ease,color .18s ease,padding-left .18s ease}
.nav-dropdown a:hover,.nav-dropdown a:focus-visible{background:#f5f8fc;color:var(--blue);padding-left:19px}
.menu-toggle{display:none}.header-cta{display:none}

.hero{position:relative;min-height:760px;display:flex;align-items:center;overflow:hidden;background:var(--navy-950);color:#fff}
.hero-art{position:absolute;inset:0;background:url("../assets/images/starry-night.webp") center/cover no-repeat;transform:scale(1.02)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,20,45,.96) 0%,rgba(2,20,45,.72) 34%,rgba(2,20,45,.25) 68%,rgba(2,20,45,.72) 100%),linear-gradient(0deg,rgba(2,20,45,.86),transparent 52%,rgba(2,20,45,.5))}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px;padding-top:70px}
.hero-copy{max-width:720px}.hero-copy h1{font-size:clamp(48px,6.7vw,84px);line-height:.96;margin:0 0 28px}.hero-copy h1 em{font-style:normal;color:var(--gold)}
.hero-lead{max-width:650px;font-size:20px;line-height:1.65;color:#eef5ff}
.hero-actions{display:flex;gap:12px;margin-top:34px}

.hero-point strong{display:block;font-size:16px}.hero-point small{display:block;margin-top:3px;color:#d8e4f2;line-height:1.4}
.hero-caption{position:absolute;z-index:2;bottom:20px;right:26px;color:#ffffff9a;font-size:11px;letter-spacing:.5px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.section-navy{background:var(--navy-900);color:#fff}.section-navy .split-copy>p{color:#d6e3f1}
.section-light{background:#fff}.section-cream{background:var(--cream)}
.digital-band{background:linear-gradient(135deg,var(--navy-900),#0b407b);color:#fff}
.digital-band p{color:#dce7f4}
.need-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card-kicker{font-size:11px;font-weight:900;letter-spacing:1.2px;color:#a16f00}.card-arrow,.text-link{font-weight:900;color:var(--blue)}
.light-link{color:var(--gold)}
.prevention-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.prevention-grid>div{padding:26px;background:var(--navy-800);border:1px solid #25598c;border-radius:14px}.prevention-grid b{display:block}.prevention-grid span{display:block;margin-top:8px;color:#cbd9e8;line-height:1.5}
.tech-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.section-button{margin-top:28px}
.tag-cloud{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.tag-cloud span{padding:14px 18px;border:1px solid #f2ad006e;border-radius:999px;background:#061f44;color:#fff;font-weight:800;font-size:13px}
.art-quote{border-left:5px solid var(--gold);padding:30px 0 30px 35px}.art-quote>span{font:80px Georgia,serif;color:var(--gold);line-height:.4}.art-quote p{font:30px/1.45 Georgia,serif;color:var(--ink)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 21px;border-radius:7px;border:1px solid transparent;cursor:pointer;transition:.18s}
.button:hover{transform:translateY(-1px)}.button-gold{background:var(--gold);color:var(--ink)}.button-glass{border-color:#ffffff88;background:#00152a70;color:#fff}.button-navy{background:var(--navy-900);color:#fff}.button-navy-outline{border-color:var(--navy-900);color:var(--navy-900);background:#fff}
.innovation-panel{padding:32px;border:1px solid #2b5e8e;background:#0a3568;border-radius:16px}.innovation-panel h3{font-size:30px}.coming{display:inline-block;margin-top:16px;color:var(--gold);font-size:11px;font-weight:900;letter-spacing:1px}
.site-footer{background:var(--navy-950);color:#fff;padding:58px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}.footer-brand img{width:220px}.footer-brand p{color:var(--gold);font-size:12px;margin-top:10px}.site-footer h3{font-size:12px;color:var(--gold);letter-spacing:1px}.site-footer p,.site-footer a{display:block;color:#d4e1ef;font-size:14px;line-height:1.7}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:45px;padding-top:18px;border-top:1px solid #ffffff1c;color:#8fa5bd;font-size:11px}
.simple-header{height:86px;background:var(--navy-900);display:flex;align-items:center;justify-content:space-between;padding:12px 28px}.simple-header img{width:220px}
.inner-page{min-height:calc(100vh - 70px);padding:125px 0 90px;background:#fff}.narrow{max-width:900px}.back-link{display:inline-block;color:var(--blue);font-weight:800;margin-bottom:45px}.inner-page h1{font-size:clamp(42px,6vw,70px);line-height:1;margin-bottom:18px}.page-intro{font-size:21px;line-height:1.65;color:var(--muted);max-width:760px}.info-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:50px}.info-list li{list-style:none;padding:24px;border:1px solid var(--line);border-radius:14px}.info-list b,.info-list span{display:block}.info-list span{margin-top:7px;color:var(--muted)}.simple-footer{padding:25px;background:var(--navy-950);color:#d5e1ee;font-size:13px}
.small-note{font-size:12px;color:#9fb4ca;margin:20px 0 0}
/* V2 — persistent global navigation on inner pages */
.subpage-header{background:rgba(3,27,59,.96);backdrop-filter:blur(12px);box-shadow:0 8px 30px #0002}
.subpage-header.scrolled{background:rgba(3,27,59,.98)}


/* Accessibilità: elementi testuali evidenziati su fondi chiari */
.art-quote>span{color:var(--gold-text)}


/* V5.6.123 — FOOTER RIORGANIZZATO */
.site-footer-v2{background:var(--navy-950);color:#fff;padding:54px 0 18px}
.site-footer-v2 h3{margin:0 0 14px;color:var(--gold);font-size:12px;letter-spacing:1.4px}
.site-footer-v2 p{margin:0;color:#d4e1ef;font-size:14px;line-height:1.7}
.site-footer-v2 .footer-hours{margin:0}.footer-hours strong{color:#fff;font-size:14px}.footer-hours em{color:#9fb3c8;font-size:13px}
.site-footer-v2 .footer-address{margin:0;color:#dce7f4}
.footer-location-link{display:inline-flex;margin-top:10px;color:var(--gold);text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.9px;transition:transform .2s ease,color .2s ease}
.footer-location-link:hover{color:#f2bd45;transform:translateX(3px)}
.footer-menu-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.footer-menu-links a{color:#d4e1ef;text-decoration:none;font-size:14px;line-height:1.5;transition:color .2s ease,transform .2s ease}
.footer-menu-links a:hover{color:var(--gold);transform:translateX(3px)}
.footer-v2-bottomline{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;margin-top:42px;padding-top:20px;border-top:1px solid #ffffff1c;color:#8fa5bd;font-size:11px}
.footer-legal{display:flex;gap:8px;align-items:center}.footer-legal a{color:#9fb3c8;text-decoration:none}.footer-legal a:hover{color:var(--gold)}
.footer-copyright{text-align:center}
.footer-back-to-top{justify-self:end;display:inline-flex;gap:8px;align-items:center;color:#dce7f4;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:1px;transition:color .2s ease,transform .2s ease}
.footer-back-to-top:hover{color:var(--gold);transform:translateY(-2px)}
.footer-back-to-top:first-letter{font-size:16px}
.footer-project-line{text-align:center;margin-top:28px;color:#6f849b;font-size:11px;letter-spacing:.03em}
.page-top-anchor{position:absolute;top:0;left:0}


/* Hero: opera più luminosa, testo essenziale e protagonista */
.hero{
  min-height:740px;
}

.hero-art{
  background-position:center center;
  transform:scale(1.015);
}

.hero-overlay{
  /* STEP 1 — Overlay localizzato: protegge il testo senza coprire l'opera */
  background:
    linear-gradient(90deg,
      rgba(2,20,45,.88) 0%,
      rgba(2,20,45,.76) 18%,
      rgba(2,20,45,.56) 34%,
      rgba(2,20,45,.30) 49%,
      rgba(2,20,45,.10) 62%,
      rgba(2,20,45,0) 76%,
      rgba(2,20,45,.05) 100%),
    linear-gradient(0deg,
      rgba(2,20,45,.28) 0%,
      rgba(2,20,45,.05) 42%,
      rgba(2,20,45,0) 68%);
}

.hero-inner{
  padding-top:84px;
}

.hero-copy h1{
  margin-bottom:30px;
}

.hero-lead{
  font-size:clamp(18px,1.6vw,21px);
  line-height:1.75;
  max-width:720px;
}

.hero-actions:empty{
  display:none;
}


/* V5.6.129 — FASCIA BRAND + FOOTER RIORGANIZZATO
   Direzione approvata: fascia bianco→oro sopra il footer,
   identità visiva protagonista; sotto, informazioni reali del Centro
   mantenute e ordinate in tre colonne. */
.site-footer-v2{
  padding:50px 0 18px;
  background:var(--navy-950);
}
.site-footer-v2 .footer-v2-menu{
  min-width:0;
}
.site-footer-v2 .footer-v2-menu{
  order:1;
}
.site-footer-v2 .footer-hours-column{
  order:2;
}
.site-footer-v2 .footer-location-column{
  order:3;
}
.site-footer-v2 h3{
  margin-bottom:12px;
}
.site-footer-v2 .footer-menu-links{
  gap:10px;
}
.footer-v2-bottomline{
  margin-top:38px;
}
@media(max-width:620px){
  .site-footer-v2{
    padding-top:40px;
  }
}


/* Il footer resta sempre un blocco autonomo sotto la sola immagine brand. */
.footer-brand-band + .site-footer-v2{
  margin-top:0;
}

/* V5.6.131 — BANNER BRAND ORO DEFINITIVO
   La fascia contiene esclusivamente il logo Centro Salute Visiva e lo slogan.
   Tutti i contenuti del footer restano nel blocco blu sottostante.
   L'immagine viene mostrata integralmente anche su mobile, senza ritagli.
*/
.footer-brand-band{
  width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#fff;
}

.footer-brand-band-art{
  width:100%;
  aspect-ratio:2172 / 724;
  min-height:0;
  background-image:url("../assets/images/footer-brand-banner-oro.webp");
  background-repeat:no-repeat;
  background-position:center center;
  background-size:100% 100%;
}

/* Tablet: mantiene sempre visibili logo e slogan senza crop. */
@media(max-width:900px){
  .footer-brand-band-art{
    aspect-ratio:2172 / 724;
    min-height:0;
    background-size:100% 100%;
    background-position:center center;
  }
}

/* Mobile: il banner resta completo e separato dal footer.
   Nessun testo, menu, indirizzo o contatto viene incorporato nell'immagine. */
@media(max-width:620px){
  .footer-brand-band-art{
    aspect-ratio:2172 / 724;
    min-height:0;
    background-size:100% 100%;
    background-position:center center;
  }
}


/* V5.6.133 — FOOTER DEFINITIVO CENTRO SALUTE VISIVA
   Fascia oro autonoma sopra; informazioni reali del Centro in un footer blu separato.
   Struttura desktop: Dove siamo / Orari / Contatti + QR / Menu / Social. */
.site-footer-v2{background:var(--navy-950);padding:38px 0 18px}
.site-footer-v2 .footer-v3-column{min-width:0}
.footer-v3-heading{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.footer-v3-heading h3,.footer-social-column h3{margin:0;color:#f0b02d;font-size:12px;letter-spacing:1.1px;font-weight:800}
.footer-v3-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;color:#f0b02d;font-size:18px;line-height:1}
.footer-v3-column p{margin:0;color:#d7e1eb;font-size:13px;line-height:1.65}
.footer-address strong{color:#fff;font-size:13px}
.footer-location-link{margin-top:11px;font-size:10px;letter-spacing:.75px}
.site-footer-v2 .footer-hours{font-size:12px;line-height:1.62}
.footer-hours strong{font-size:12px;color:#fff}
.footer-hours em{font-size:11px;color:#9eb1c5}
.footer-contact-list{display:flex;flex-direction:column;gap:7px}
.footer-contact-list a{display:flex;align-items:center;gap:8px;color:#d7e1eb;text-decoration:none;font-size:13px;line-height:1.35;transition:color .2s ease,transform .2s ease}
.footer-contact-list a:hover{color:#f0b02d;transform:translateX(2px)}
.footer-booking-button{display:inline-flex;align-items:center;justify-content:space-between;gap:13px;margin-top:14px;padding:8px 12px;border:1px solid rgba(240,176,45,.9);border-radius:999px;color:#fff;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.55px;transition:background .2s ease,color .2s ease,transform .2s ease}
.footer-booking-button span{font-size:15px;line-height:1}.footer-booking-button:hover{background:#f0b02d;color:var(--navy-950);transform:translateY(-1px)}
.site-footer-v2 .footer-v2-menu{order:initial}.footer-menu-links{gap:8px}.footer-menu-links a{font-size:12px}
.footer-social-column{padding-left:20px;border-left:1px solid rgba(255,255,255,.15)}
.footer-social-icons{display:flex;gap:8px;margin-top:15px}.footer-social-icons span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.12);color:#d7e1eb;font-size:14px;font-weight:700}
.footer-social-icons span:nth-child(2){font-size:11px}.site-footer-v2 .footer-social-claim{margin-top:18px;color:#d7e1eb;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:12px;letter-spacing:.08em;line-height:1.55}
.site-footer-v2 .footer-v2-bottomline{margin-top:30px;padding-top:17px}.footer-project-line{margin-top:20px}

/* Tablet / finestra ristretta: struttura a 3 colonne reale.
   Evita il "buco" verticale creato dalle precedenti colonne esplicite. */
@media(max-width:1050px) and (min-width:701px){
 .site-footer-v2{padding:42px 0 20px}
 .footer-contacts-column{grid-area:contacts}
 .footer-v2-menu{grid-area:menu}
 .footer-social-column{grid-area:social}
 .footer-hours-column{grid-area:hours}
 .footer-location-column{grid-area:location}
 .footer-social-column{
   padding-left:0;
   border-left:1px solid rgba(255,255,255,.15);
   padding-top:0;
 }
 .footer-v3-heading h3,.footer-social-column h3{font-size:13px}
 .footer-v3-column p,.footer-contact-list a{font-size:13px}
 .footer-address strong{font-size:14px}
 .footer-hours strong{font-size:13px}
 .footer-location-link,.footer-menu-links a{font-size:12px}
 .footer-booking-button{font-size:11px;padding:10px 14px}
}
@media(max-width:700px){
 .site-footer-v2{padding-top:34px}
 .footer-social-column,.footer-v2-menu{grid-column:auto}.footer-social-column{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.15);padding-top:24px}
 .footer-v3-heading h3,.footer-social-column h3{font-size:12px}.footer-v3-column p,.footer-contact-list a{font-size:13px}
 .footer-booking-button{font-size:10px}
 .site-footer-v2 .footer-v2-bottomline{margin-top:30px}
}


/* V5.6.142 — FOOTER RIORGANIZZATO: gerarchia funzionale e responsive
   Desktop: Contatti / Orari / Dove siamo / Social / Menu.
   Tablet e mobile: ordine logico, senza colonne "vuote":
   Contatti+prenota+salva / Orari / Dove siamo / Social / Menu. */
.site-footer-v2 .footer-v4-grid{
  display:grid;
  grid-template-columns:minmax(250px,1.55fr) minmax(145px,.92fr) minmax(175px,1.08fr) minmax(135px,.78fr) minmax(110px,.62fr);
  grid-template-areas:"contacts hours location social menu";
  gap:34px;
  align-items:start;
}
.footer-v4-grid .footer-contacts-column{grid-area:contacts}
.footer-v4-grid .footer-hours-column{grid-area:hours}
.footer-v4-grid .footer-location-column{grid-area:location}
.footer-v4-grid .footer-social-column{grid-area:social}
.footer-v4-grid .footer-v2-menu{grid-area:menu}

.footer-v4-grid .footer-v3-heading{
  margin-bottom:14px;
}
.footer-v4-grid .footer-v3-heading h3,
.footer-v4-grid .footer-social-column h3{
  font-size:12px;
  letter-spacing:1.15px;
}
.footer-v4-grid .footer-v3-icon{
  width:19px;
  height:19px;
  font-size:17px;
  color:#f0b02d;
}
.footer-v4-grid .footer-contacts-column{
  padding-right:4px;
}
.footer-v4-grid .footer-booking-button{
  width:100%;
  max-width:280px;
  min-height:48px;
  margin-top:15px;
  padding:10px 14px;
  gap:9px;
  font-size:11px;
  letter-spacing:.65px;
}
.footer-v4-grid .footer-booking-icon{
  font-size:15px;
  line-height:1;
}
.footer-v4-grid .footer-booking-arrow{
  margin-left:auto;
  font-size:16px;
  line-height:1;
}
.footer-v4-grid .footer-save-contact{
  display:flex;
  align-items:center;
  gap:12px;
  max-width:330px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.12);
}
.footer-v4-grid .footer-qr-link{
  display:block;
  flex:0 0 auto;
  border-radius:9px;
  transition:transform .2s ease,box-shadow .2s ease;
}
.footer-v4-grid .footer-qr-link:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.footer-v4-grid .footer-qr-link img{
  display:block;
  width:68px;
  height:68px;
  padding:3px;
  background:#fff;
  border-radius:8px;
}
.footer-v4-grid .footer-save-contact-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.footer-v4-grid .footer-save-contact-copy strong{
  color:#f0b02d;
  font-size:9px;
  letter-spacing:.8px;
}
.footer-v4-grid .footer-save-contact-copy>span{
  color:#aebdcb;
  font-size:10px;
  line-height:1.4;
}
.footer-v4-grid .footer-save-button{
  display:inline-flex;
  align-items:center;
  margin-top:3px;
  padding:6px 9px;
  border:1px solid rgba(240,176,45,.7);
  border-radius:999px;
  color:#f0b02d;
  text-decoration:none;
  font-size:9px;
  font-weight:800;
  letter-spacing:.55px;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.footer-v4-grid .footer-save-button:hover{
  background:#f0b02d;
  color:var(--navy-950);
  transform:translateY(-1px);
}

/* Menu volutamente a destra e social separati ma non "pesanti". */
.footer-v4-grid .footer-social-column{
  padding-left:18px;
  border-left:1px solid rgba(255,255,255,.15);
}
.footer-v4-grid .footer-v2-menu{
  padding-left:4px;
}
.footer-v4-grid .footer-menu-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:9px;
}
.footer-v4-grid .footer-menu-links a{
  font-size:11px;
  letter-spacing:.02em;
}
.footer-v4-grid .footer-social-icons{
  margin-top:15px;
}
.footer-v4-grid .footer-social-icons span{
  width:28px;
  height:28px;
  font-size:14px;
  border:1px solid rgba(255,255,255,.08);
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.footer-v4-grid .footer-social-icons span:hover{
  background:#f0b02d;
  color:var(--navy-950);
  transform:translateY(-2px);
}

/* Tablet: due colonne vere, nessuna colonna fantasma.
   Il menu chiude sempre il footer ed è quindi l'ultimo blocco. */
@media(max-width:1050px) and (min-width:701px){
  .site-footer-v2 .footer-v4-grid{
    grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
    grid-template-areas:
      "contacts hours"
      "location social"
      "menu menu";
    gap:34px 48px;
  }
  .footer-v4-grid .footer-social-column{
    padding-left:0;
    border-left:0;
  }
  .footer-v4-grid .footer-v2-menu{
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.15);
  }
  .footer-v4-grid .footer-menu-links{
    flex-direction:row;
    flex-wrap:wrap;
    gap:10px 24px;
  }
  .footer-v4-grid .footer-booking-button{
    max-width:300px;
  }
}

/* Mobile: una sequenza naturale e leggibile.
   Contatti → prenota → salva contatto → orari → dove siamo → social → menu. */
@media(max-width:700px){
  .site-footer-v2 .footer-v4-grid{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "contacts"
      "hours"
      "location"
      "social"
      "menu";
    gap:28px;
  }
  .footer-v4-grid .footer-booking-button{
    max-width:100%;
    min-height:50px;
    font-size:11px;
  }
  .footer-v4-grid .footer-save-contact{
    max-width:100%;
  }
  .footer-v4-grid .footer-qr-link img{
    width:78px;
    height:78px;
  }
  .footer-v4-grid .footer-save-contact-copy>span{
    font-size:11px;
  }
  .footer-v4-grid .footer-save-button{
    font-size:10px;
    padding:7px 11px;
  }
  .footer-v4-grid .footer-social-column{
    padding-left:0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.15);
    padding-top:24px;
  }
  .footer-v4-grid .footer-v2-menu{
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.15);
  }
  .footer-v4-grid .footer-menu-links{
    gap:10px;
  }
  .site-footer-v2 .footer-v2-bottomline{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
  .footer-copyright{align-self:flex-start}
  .footer-back-to-top{align-self:flex-end}
}

/* Schermi molto stretti: QR e testo rimangono ordinati senza comprimersi. */
@media(max-width:420px){
  .footer-v4-grid .footer-save-contact{
    align-items:flex-start;
  }
  .footer-v4-grid .footer-qr-link img{
    width:72px;
    height:72px;
  }
  .footer-v4-grid .footer-save-contact-copy strong{
    font-size:8.5px;
  }
  .footer-v4-grid .footer-save-contact-copy>span{
    font-size:10px;
  }
}


/* V5.6.176 — HERO ADATTIVO: preserva l'opera completa sui viewport larghi.
   La sorgente originale è verticale (1879×1500): con background-size:cover
   su un hero panoramico il browser è costretto a tagliare molta parte sopra/sotto.
   Sui viewport larghi usiamo quindi un fondale adattivo + opera integra centrale.
   Sotto 1200px resta il comportamento cover, che coincide con il rapporto utile
   già verificato nella visualizzazione ridotta. */
@media (min-width:1201px){
  .hero-art{
    background-size:contain;
    background-position:center center;
    background-repeat:no-repeat;
    transform:none;
    background-color:var(--navy-950);
  }
  .hero-art::before{
    content:"";
    position:absolute;
    inset:-22px;
    background:url("../assets/images/starry-night.webp") center/cover no-repeat;
    filter:blur(12px) brightness(.62);
    transform:scale(1.04);
    z-index:-1;
  }
}
