/* SM Limoservice — componenti condivisi. Un solo file per tutto il sito. */

/* ===== header unico — design dell'header originale della home ===== */
header:not(.sm2-head){display:none!important;}
.sm2-head{position:sticky;top:0;z-index:9500;background:#000;
  border-bottom:1px solid #1c1c1c;}
.sm2-head-in{max-width:1240px;margin:0 auto;padding:0 28px;min-height:74px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;}
.sm2-logo{font-family:'Playfair Display',serif;font-size:1.62rem;font-weight:700;
  letter-spacing:.055em;color:#c5a059;text-decoration:none;white-space:nowrap;
  text-transform:uppercase;}
.sm2-logo:hover{color:#d8b06a;}
.sm2-menu{display:flex;align-items:center;gap:34px;}
.sm2-menu>a{font-family:'Lato',sans-serif;font-size:.93rem;font-weight:400;
  letter-spacing:.11em;text-transform:uppercase;color:#fff;text-decoration:none;
  white-space:nowrap;transition:color .2s;}
.sm2-menu>a:hover{color:#c5a059;}
.sm2-menu>a[aria-current="page"]{color:#c5a059;}
.sm2-menu>a:focus-visible,.sm2-langs a:focus-visible{outline:2px solid #c5a059;outline-offset:4px;}
.sm2-langs{display:flex;align-items:center;gap:0;padding-left:30px;
  border-left:1px solid #3a3a3a;margin-left:2px;}
.sm2-langs a{font-family:'Lato',sans-serif;font-size:.93rem;letter-spacing:.09em;
  color:#cfcfcf;text-decoration:none;padding:0 11px;transition:color .2s;}
.sm2-langs a:first-child{padding-left:0;}
.sm2-langs a+a{border-left:1px solid #3a3a3a;}
.sm2-langs a:hover{color:#c5a059;}
.sm2-langs a[aria-current="true"]{color:#c5a059;font-weight:700;}
.sm2-burger{display:none;background:none;border:0;cursor:pointer;padding:11px;}
.sm2-burger span{display:block;width:25px;height:2px;background:#c5a059;margin:5px 0;
  transition:.25s;}
.sm2-head.open .sm2-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.sm2-head.open .sm2-burger span:nth-child(2){opacity:0;}
.sm2-head.open .sm2-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:960px){
  .sm2-head-in{padding:0 18px;min-height:64px;}
  .sm2-mark{height:28px;}
  .sm2-logo{font-size:1.24rem;}
  .sm2-burger{display:block;}
  .sm2-menu{position:absolute;left:0;right:0;top:100%;background:#050505;
    border-bottom:1px solid #1c1c1c;flex-direction:column;align-items:stretch;gap:0;
    padding:6px 0 12px;display:none;}
  .sm2-head.open .sm2-menu{display:flex;}
  .sm2-menu>a{padding:15px 18px;border-bottom:1px solid #141414;}
  .sm2-langs{padding:14px 18px 2px;border-left:0;margin-left:0;justify-content:center;}
}
@media(prefers-reduced-motion:reduce){.sm2-burger span,.sm2-menu>a{transition:none;}}

/* ===== SM Limoservice — componenti condivisi ===== */
:root{--sm2-gold:#c5a059;--sm2-wa:#25D366;}
body{padding-bottom:calc(76px + env(safe-area-inset-bottom));}
@media(min-width:769px){body{padding-bottom:96px;}}

/* barra azioni persistente */
.sm2-bar{position:fixed;left:0;right:0;bottom:0;z-index:9000;display:flex;
  background:rgba(0,0,0,.94);backdrop-filter:blur(10px);
  border-top:1px solid #262626;padding:0;align-items:stretch;}
.sm2-bar a{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;min-height:64px;padding:10px 4px calc(10px + env(safe-area-inset-bottom));text-decoration:none;font-family:'Lato',sans-serif;
  font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;
  color:#f2f2f2;border-left:1px solid #1c1c1c;transition:background .2s;}
.sm2-bar a:first-child{border-left:none;}
.sm2-bar a svg{width:21px;height:21px;fill:currentColor;}
.sm2-bar .sm2-call{color:#fff;background:var(--sm2-gold);}
.sm2-bar .sm2-call{color:#000;}
.sm2-bar .sm2-wa{color:var(--sm2-wa);}
.sm2-bar a:hover{background:#161616;}
.sm2-bar .sm2-call:hover{background:#d8b06a;}
.sm2-bar a:focus-visible{outline:3px solid #fff;outline-offset:-3px;}
@media(min-width:769px){
  .sm2-bar{left:50%;right:auto;bottom:22px;transform:translateX(-50%);
    width:auto;border:1px solid #2e2e2e;border-radius:999px;overflow:hidden;
    box-shadow:0 10px 34px rgba(0,0,0,.6);}
  .sm2-bar a{flex-direction:row;gap:9px;min-height:56px;padding:0 26px !important;font-size:.78rem;}
  .sm2-bar .sm2-num{text-transform:uppercase;letter-spacing:.09em;}
}
/* le vecchie sticky duplicavano la funzione: una sola barra in tutto il sito */
.whatsapp-sticky,.booking-sticky{display:none!important;}

/* navigazione servizi (solo pagine che non avevano un menu) */
.sm2-nav{background:#0b0b0b;border-bottom:1px solid #222;}
.sm2-nav-in{max-width:1100px;margin:0 auto;display:flex;gap:2px;overflow-x:auto;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.sm2-nav-in::-webkit-scrollbar{display:none;}
.sm2-nav-in a{flex:0 0 auto;padding:14px 17px;color:#c9c9c9;text-decoration:none;
  font-family:'Lato',sans-serif;font-size:.86rem;white-space:nowrap;
  border-bottom:2px solid transparent;transition:.2s;}
.sm2-nav-in a:hover{color:var(--sm2-gold);border-bottom-color:var(--sm2-gold);}
.sm2-nav-in a[aria-current="page"]{color:var(--sm2-gold);border-bottom-color:var(--sm2-gold);}
.sm2-nav-in a:focus-visible{outline:2px solid var(--sm2-gold);outline-offset:-2px;}

/* striscia di garanzie */
.sm2-trust{background:#000;border-bottom:1px solid #1a1a1a;padding:13px 20px;}
.sm2-trust-in{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;
  gap:8px 26px;align-items:center;justify-content:center;font-family:'Lato',sans-serif;font-size:.82rem;color:#9a9a9a;}
.sm2-trust-in span{display:flex;align-items:center;gap:7px;}
.sm2-trust-in span::before{content:"";width:5px;height:5px;border-radius:50%;
  background:var(--sm2-gold);flex:0 0 auto;}
.sm2-trust-in a{color:var(--sm2-gold);text-decoration:none;border-bottom:1px solid transparent;}
.sm2-trust-in a:hover{border-bottom-color:var(--sm2-gold);}

/* contrasto: #666 su nero non superava WCAG AA */
footer,.copyright,.seo-col a{color:#8a8a8a;}

/* selettore lingua: target troppo piccoli per il pollice */
.lang-switch a,.lang-btn{min-height:40px;min-width:40px;display:inline-flex;
  align-items:center;justify-content:center;}
/* valutazione reale del profilo Google */
.sm2-rating{display:flex;align-items:center;gap:9px;flex:0 0 auto;
  padding:2px 0;}
.sm2-rating::before{display:none!important;}
.sm2-score{font-family:'Playfair Display',serif;font-size:1.35rem;line-height:1;
  color:#fff;font-weight:700;}
.sm2-stars{display:inline-flex;gap:1px;}
.sm2-stars svg{width:13px;height:13px;fill:var(--sm2-gold);}
.sm2-rating small{color:#9a9a9a;font-size:.78rem;line-height:1.25;}
.sm2-rating a{color:#c9c9c9;text-decoration:none;}
.sm2-rating a:hover{color:var(--sm2-gold);}

/* menu unico: separatore, switch lingua e CTA */
.sm2-nav-in{align-items:stretch;}
.sm2-nav-lang{flex:0 0 auto;display:flex;align-items:center;gap:6px;
  margin-left:auto;padding:0 14px;border-left:1px solid #242424;}
.sm2-nav-lang a{padding:0;min-width:34px;min-height:40px;display:inline-flex;
  align-items:center;justify-content:center;font-size:.78rem;letter-spacing:.04em;
  color:#8a8a8a;text-decoration:none;border-bottom:none;}
.sm2-nav-lang a:hover{color:var(--sm2-gold);border-bottom:none;}
.sm2-nav-lang a[aria-current="true"]{color:var(--sm2-gold);font-weight:700;}
.sm2-nav-cta{flex:0 0 auto;display:inline-flex;align-items:center;
  margin:7px 0 7px 8px;padding:0 20px!important;background:var(--sm2-gold);
  color:#000!important;border-radius:3px;font-weight:700;font-size:.82rem!important;
  text-transform:uppercase;letter-spacing:.05em;border-bottom:none!important;}
.sm2-nav-cta:hover{background:#d8b06a;color:#000!important;border-bottom:none!important;}
@media(max-width:768px){
  .sm2-nav-lang{margin-left:0;}
  .sm2-nav-cta{margin-right:14px;}
}
/* i menu originali erano diversi su ogni pagina: uno solo, quello sopra */
.nav-links,.hamburger{display:none!important;}
/* residui flottanti/duplicati delle vecchie versioni: una sola barra e un solo menu */
.whatsapp-float,.float-wa,.tab-bar,.navbar{display:none!important;}
/* Contact shortcuts stay in the bottom bar; quote CTAs remain visible in the content. */
a[href*="wa.me"],a[href^="tel:"]{display:none!important;}

.sm2-bar a{display:flex!important;}
/* lo switch lingua ora è nel menu unico */
.header .lang-switch,header .lang-switch{display:none!important;}
.sm2-nav .sm2-nav-lang{display:flex!important;}
/* fascia immagine per le pagine che non avevano un hero */
.sm2-hero{position:relative;min-height:320px;display:flex;align-items:flex-end;
  background-size:cover;background-position:center;border-bottom:1px solid #1c1c1c;}
.sm2-hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.85));}
.sm2-hero-in{position:relative;z-index:1;max-width:1100px;margin:0 auto;width:100%;
  padding:0 20px 34px;}
.sm2-hero-in p{margin:0;color:#d6d6d6;font-family:'Lato',sans-serif;font-size:1rem;
  max-width:640px;line-height:1.6;}
@media(max-width:768px){.sm2-hero{min-height:230px;}}
/* foto illustrativa nel corpo pagina */
.sm2-figure{margin:34px 0;}
.sm2-figure img{width:100%;height:auto;display:block;border-radius:4px;}
.sm2-figure figcaption{margin-top:9px;color:#8a8a8a;font-family:'Lato',sans-serif;
  font-size:.8rem;font-style:italic;}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}


.copyright,.sm2-dup-legal{display:none!important;}
.sm2-cookie{position:fixed;left:0;right:0;bottom:0;z-index:10000;background:#000;
  border-top:1px solid #2a2a2a;padding:18px 20px calc(18px + env(safe-area-inset-bottom));
  display:none;box-shadow:0 -8px 30px rgba(0,0,0,.6);}
.sm2-cookie.show{display:block;}
.sm2-cookie-in{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;
  align-items:center;gap:14px 26px;font-family:'Lato',sans-serif;}
.sm2-cookie-txt{flex:1 1 340px;min-width:0;}
.sm2-cookie-txt strong{display:block;color:#c5a059;font-family:'Playfair Display',serif;
  font-size:1.05rem;margin-bottom:5px;}
.sm2-cookie-txt p{margin:0;color:#a8a8a8;font-size:.83rem;line-height:1.55;}
.sm2-cookie-txt a{color:#c5a059;}
.sm2-cookie-btn{display:flex;gap:10px;flex:0 0 auto;flex-wrap:wrap;}
.sm2-cookie-btn button{font-family:'Lato',sans-serif;font-size:.82rem;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;padding:12px 20px;border-radius:3px;
  cursor:pointer;border:1px solid #c5a059;min-height:44px;}
.sm2-ok{background:#c5a059;color:#000;}
.sm2-ok:hover{background:#d8b06a;}
.sm2-no{background:transparent;color:#c5a059;}
.sm2-no:hover{background:rgba(197,160,89,.12);}
.sm2-cookie button:focus-visible{outline:3px solid #fff;outline-offset:2px;}
.sm2-legal{background:#000;border-top:1px solid #1a1a1a;padding:18px 20px;
  margin-bottom:0;font-family:'Lato',sans-serif;}
.sm2-legal-in{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;
  justify-content:center;gap:6px 20px;font-size:.78rem;color:#8a8a8a;text-align:center;}
.sm2-legal-in a{color:#8a8a8a;text-decoration:none;border-bottom:1px solid #2f2f2f;}
.sm2-legal-in a:hover{color:#c5a059;border-bottom-color:#c5a059;}
.sm2-legal-in button{background:none;border:0;color:#8a8a8a;font:inherit;cursor:pointer;
  padding:0;border-bottom:1px solid #2f2f2f;}
.sm2-legal-in button:hover{color:#c5a059;border-bottom-color:#c5a059;}


/* ==========================================================================
   Revisione UX/CRO — gerarchia visiva, leggibilità hero, CTA
   ========================================================================== */

/* --- 1. Logo: marchio + wordmark ------------------------------------------ */
.sm2-logo{display:inline-flex;align-items:center;gap:12px;line-height:1;}
.sm2-mark{width:auto;height:36px;display:block;flex:0 0 auto;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.6));transition:transform .25s ease;}
.sm2-logo:hover .sm2-mark{transform:scale(1.05);}
.sm2-logo span{display:inline-block;}

/* --- 2. Menu: respiro tra l'ultima voce e il selettore lingua ------------- */
.sm2-menu{gap:38px;}
.sm2-langs{margin-left:14px;padding-left:34px;border-left:1px solid #3a3a3a;}
.sm2-langs a{padding:0 10px;}

/* --- 3. Hero: leggibilità senza spegnere la foto -------------------------- */
/* Sostituisce il velo piatto rgba(0,0,0,.55) con tre strati mirati:
   a) vignetta ellittica che scurisce solo dietro al testo
   b) sfumatura verticale: scura in alto (header) e in basso (raccordo)
   c) i lati della foto restano luminosi */
.hero-overlay{
  background:
    radial-gradient(ellipse 68% 58% at 50% 52%,
      rgba(0,0,0,.66) 0%, rgba(0,0,0,.42) 45%, rgba(0,0,0,.05) 100%),
    linear-gradient(180deg,
      rgba(0,0,0,.62) 0%, rgba(0,0,0,.10) 26%,
      rgba(0,0,0,.10) 62%, rgba(0,0,0,.82) 100%) !important;
}
.hero-content{max-width:960px;}
.hero h1{
  font-size:clamp(2.3rem,6vw,4.2rem);
  letter-spacing:.01em;
  text-shadow:0 2px 6px rgba(0,0,0,.55), 0 10px 34px rgba(0,0,0,.45) !important;
}
.hero h1 span{
  display:block;margin-top:.28em;
  font-size:.46em !important;letter-spacing:.13em;text-transform:uppercase;
  color:#d4b478 !important;
  text-shadow:0 2px 6px rgba(0,0,0,.7);
}
.hero-content>p{
  color:#e9e5de !important;
  font-size:clamp(1rem,1.6vw,1.15rem);
  max-width:33em;margin-left:auto;margin-right:auto;
  text-shadow:0 1px 4px rgba(0,0,0,.75);
}
/* filo dorato sotto al titolo: separa il testo dalla foto senza scurirla */
.hero-content>p::before{
  content:"";display:block;width:64px;height:1px;margin:0 auto 22px;
  background:linear-gradient(90deg,transparent,#c5a059,transparent);
}

/* --- 4. Barra CTA: una primaria, due secondarie --------------------------- */
.sm2-bar{background:rgba(0,0,0,.94);border-top:1px solid #2b2b2b;}

/* primaria: unico blocco pieno, pesa il doppio */
.sm2-bar .sm2-call{
  background:linear-gradient(180deg,#cfa963,#b8924c) !important;
  color:#0a0a0a !important;font-weight:700;letter-spacing:.09em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28);
}
.sm2-bar .sm2-call:hover{
  background:linear-gradient(180deg,#dcb974,#c39d55) !important;}
.sm2-bar .sm2-call svg{fill:#0a0a0a;}

/* secondarie: fantasma, stesso peso tipografico, nessun colore acceso */
.sm2-bar a:not(.sm2-call){
  background:transparent;color:#ddd8d0;font-weight:700;letter-spacing:.07em;}
.sm2-bar a:not(.sm2-call):hover{background:rgba(197,160,89,.10);color:#e9c887;}
.sm2-bar a:not(.sm2-call) svg{fill:currentColor;}

/* WhatsApp: il verde resta solo nell'icona, desaturato.
   Il riconoscimento arriva dalla forma del glifo, non dalla saturazione. */
.sm2-bar .sm2-wa{color:#ddd8d0 !important;}
.sm2-bar .sm2-wa svg{fill:#6f9c7c !important;transition:fill .2s ease;}
.sm2-bar .sm2-wa:hover{color:#e9c887 !important;}
.sm2-bar .sm2-wa:hover svg{fill:#25D366 !important;}

@media(min-width:769px){
  .sm2-bar .sm2-call{flex:1.35 1 0 !important;padding:0 34px !important;}
  .sm2-bar a:not(.sm2-call){padding:0 24px !important;}
}


/* --- Selettore lingua a bandiere ----------------------------------------- */
.sm2-langs{gap:4px;}
.sm2-langs a{padding:6px;min-width:0;border-radius:3px;line-height:0;
  border-left:none !important;transition:background .2s ease;}
.sm2-langs a svg{
  width:25px;height:17px;display:block;border-radius:2px;
  box-shadow:0 0 0 1px rgba(255,255,255,.22), 0 1px 3px rgba(0,0,0,.5);
  opacity:.5;filter:saturate(.7);transition:opacity .2s ease, filter .2s ease;}
.sm2-langs a:hover svg{opacity:1;filter:saturate(1);}
.sm2-langs a:hover{background:rgba(255,255,255,.06);}
/* lingua attiva: piena, con anello dorato al posto del grassetto */
.sm2-langs a[aria-current="true"] svg{
  opacity:1;filter:saturate(1);
  box-shadow:0 0 0 2px #c5a059, 0 1px 4px rgba(0,0,0,.6);}
.sm2-langs a[aria-current="true"]{cursor:default;}
.sm2-langs a:focus-visible{outline:2px solid #c5a059;outline-offset:3px;}
@media(max-width:960px){
  .sm2-langs{justify-content:center;gap:10px;padding:16px 18px 4px;}
  .sm2-langs a svg{width:30px;height:20px;}
}

/* ===== Griglia minima sostitutiva di Bootstrap =====
   Bootstrap 4.5 veniva caricato da stackpath.bootstrapcdn.com (CDN dismesso nel 2024)
   come CSS bloccante su 20 pagine. Qui replichiamo solo le utility realmente usate. */
.row{display:flex;flex-wrap:wrap;margin-left:-15px;margin-right:-15px}
.row>[class*="col-"]{position:relative;width:100%;padding-left:15px;padding-right:15px}
.col-md-4,.col-lg-8{flex:0 0 100%;max-width:100%}
@media (min-width:768px){
  .col-md-4{flex:0 0 33.333333%;max-width:33.333333%}
}
@media (min-width:992px){
  .col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}
}
.justify-content-center{justify-content:center}
.align-items-center{align-items:center}
.d-flex{display:flex}
.text-center{text-align:center}
.mt-3{margin-top:1rem}
.mb-4{margin-bottom:1.5rem}
.card{position:relative;display:flex;flex-direction:column;min-width:0;
  background:#0a0a0a;border:1px solid #222;border-radius:6px}
.card-body{flex:1 1 auto;padding:1.25rem}


/* ===== Aggiunte 2026-08-01 — tema scuro coerente col sito ===== */

/* --- Banner cookie: non deve mai coprire la barra contatti --- */
:root{--sm2-bar-h:64px}
@media(min-width:769px){:root{--sm2-bar-h:56px}}
.sm2-cookie{bottom:calc(var(--sm2-bar-h) + env(safe-area-inset-bottom))!important}
body.sm2-has-cookie{padding-bottom:calc(var(--sm2-bar-h) + 190px)}
@media(min-width:769px){body.sm2-has-cookie{padding-bottom:calc(var(--sm2-bar-h) + 130px)}}

/* --- Selettore lingua --- */
.sm2-langs{gap:6px;flex:0 0 auto}
.sm2-langs a{display:inline-flex;align-items:center;padding:6px;line-height:0;border-radius:4px}
.sm2-langs a svg{width:30px!important;height:20px!important;display:block;
  opacity:1!important;filter:none!important;border-radius:3px;
  box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.sm2-langs a:hover{background:rgba(255,255,255,.08)}
.sm2-langs a[aria-current="true"] svg{box-shadow:0 0 0 2px var(--gold)}
@media(min-width:961px) and (max-width:1340px){
  .sm2-langs{gap:4px}.sm2-langs a{padding:5px}
  .sm2-langs a svg{width:26px!important;height:18px!important}
}
@media(max-width:960px){
  .sm2-langs{gap:12px}.sm2-langs a{padding:8px}
  .sm2-langs a svg{width:34px!important;height:23px!important}
}
.sm2-menu>a,.sm2-drop-btn{white-space:nowrap}

/* --- Riga "tariffe aggiornate al" --- */
.sm2-freshness{max-width:1100px;margin:30px auto 10px;padding:0 20px;
  font-size:.82rem;color:#6f6a63;text-align:center;letter-spacing:.02em}
.sm2-freshness time{color:#8d8579}

/* --- Blog fallback in homepage --- */
.sm2-blog-fallback{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.sm2-blog-card{border:1px solid var(--border);border-radius:10px;padding:20px;background:var(--card-bg)}
.sm2-blog-card h3{margin:0 0 8px;font-size:1.02rem}
.sm2-blog-card h3 a{color:var(--gold);text-decoration:none}
.sm2-blog-card h3 a:hover{text-decoration:underline}
.sm2-blog-card p{margin:0;font-size:.9rem;line-height:1.55;color:var(--text-muted)}

/* --- Pagina 404 (impaginato dedicato) --- */
.sm2-btn{display:inline-block;padding:13px 26px;border-radius:40px;background:transparent;
  border:1px solid #3a3a3a;color:var(--text);text-decoration:none;font-weight:600;
  font-size:.92rem;min-height:46px;line-height:20px;transition:all .2s ease}
.sm2-btn:hover{border-color:var(--gold);color:var(--gold-light)}
.sm2-btn-primary{background:var(--gold);border-color:var(--gold);color:#0a0a0a}
.sm2-btn-primary:hover{background:#fff;border-color:#fff;color:#0a0a0a}

.sm2-404{max-width:820px;margin:0 auto;padding:56px 20px 24px;text-align:center;color:var(--text)}
.sm2-404-code{font-family:'Playfair Display',serif;font-size:4.4rem;line-height:1;
  margin:0 0 8px;color:var(--gold);letter-spacing:.05em}
.sm2-404 h1{font-family:'Playfair Display',serif;font-size:1.85rem;margin:0 0 16px;color:#fff}
.sm2-404-lead{font-size:1rem;line-height:1.7;color:var(--text-muted);margin:0 auto 30px;max-width:620px}
.sm2-404-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}
.sm2-404 h2{font-family:'Playfair Display',serif;font-size:1.25rem;margin:0 0 18px;color:#fff}
.sm2-404-links{list-style:none;padding:0;margin:0 auto;max-width:620px;display:grid;gap:10px;
  grid-template-columns:repeat(auto-fit,minmax(258px,1fr));text-align:left}
.sm2-404-links a{display:block;padding:13px 17px;background:var(--card-bg);
  border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;
  color:var(--text);text-decoration:none;font-size:.92rem;font-weight:600;transition:all .2s ease}
.sm2-404-links a:hover{background:#161616;color:var(--gold-light)}

.sm2-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap}

@media(max-width:640px){
  .sm2-rates,.sm2-about{padding:30px 18px 8px}
  .sm2-rates h1,.sm2-about h1{font-size:1.55rem}
  .sm2-rates h2,.sm2-about h2{font-size:1.2rem;margin-top:36px}
  .sm2-rates-lead,.sm2-about-lead{font-size:.98rem;padding-left:14px}
  .sm2-rates-table th,.sm2-rates-table td{padding:12px 13px;font-size:.88rem}
  .sm2-404-code{font-size:3.3rem}
  .sm2-404 h1{font-size:1.42rem}
  .sm2-404-links{grid-template-columns:1fr}
  .sm2-btn{width:100%;text-align:center}
}

/* ===== Menu a tendina (TRATTE / SERVIZI) ===== */
.sm2-menu{flex-wrap:nowrap}
/* Il selettore lingua non deve mai essere compresso ne' spinto fuori dal nav */
.sm2-langs{flex:0 0 auto}
.sm2-menu>a,.sm2-drop-btn{white-space:nowrap}
.sm2-drop{position:relative;display:flex;align-items:center}
.sm2-drop-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:0;
  cursor:pointer;font:inherit;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;padding:15px 0;line-height:1}
.sm2-drop-btn:hover,.sm2-drop-btn[aria-expanded="true"],
.sm2-drop-btn[data-active="1"]{color:#c5a059}
.sm2-drop-btn:focus-visible{outline:2px solid #c5a059;outline-offset:4px}
.sm2-chev{width:11px;height:7px;transition:transform .18s ease;flex:0 0 auto}
.sm2-drop-btn[aria-expanded="true"] .sm2-chev{transform:rotate(180deg)}
.sm2-drop-menu{position:absolute;top:100%;left:-16px;min-width:262px;margin:0;padding:8px 0;
  list-style:none;background:#111;border:1px solid #2a2a2a;border-radius:10px;
  box-shadow:0 14px 34px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:9600}
.sm2-drop:hover .sm2-drop-menu,
.sm2-drop-btn[aria-expanded="true"]+.sm2-drop-menu{opacity:1;visibility:visible;transform:translateY(0)}
.sm2-drop-menu li{margin:0}
.sm2-drop-menu a{display:block;padding:11px 20px;color:#e9e5dd;text-decoration:none;
  font-size:.88rem;letter-spacing:.01em;text-transform:none;border:0;white-space:nowrap}
.sm2-drop-menu a:hover{background:rgba(197,160,89,.12);color:#c5a059}
.sm2-drop-menu a[aria-current="page"]{color:#c5a059;font-weight:700}
@media(prefers-reduced-motion:reduce){
  .sm2-chev,.sm2-drop-menu{transition:none}
}

/* Schermi stretti ma sopra il breakpoint del burger */
@media(min-width:961px) and (max-width:1340px){
  .sm2-menu{gap:16px}
  .sm2-drop-btn,.sm2-menu>a{font-size:.72rem;letter-spacing:.03em}
  .sm2-menu-cta{padding:6px 10px}
  .sm2-langs{margin-left:6px;padding-left:12px;gap:2px}
  .sm2-langs a{padding:4px}
  .sm2-langs a svg{width:22px;height:15px}
}

/* Mobile: i gruppi diventano accordion dentro il pannello del burger */
@media(max-width:960px){
  .sm2-drop{display:block;width:100%}
  .sm2-drop-btn{width:100%;justify-content:space-between;padding:15px 18px;
    border-bottom:1px solid #141414}
  .sm2-drop-menu{position:static;opacity:1;visibility:visible;transform:none;
    display:none;min-width:0;width:100%;border:0;border-radius:0;box-shadow:none;
    background:#0a0a0a;padding:0}
  .sm2-drop:hover .sm2-drop-menu{display:none}
  .sm2-drop-btn[aria-expanded="true"]+.sm2-drop-menu{display:block}
  .sm2-drop-menu a{padding:13px 18px 13px 34px;border-bottom:1px solid #141414;font-size:.9rem}
  .sm2-menu-cta{display:block;margin:12px 18px;text-align:center}
}




/* ===== Menu: tipografia unificata =====
   .sm2-menu>a era .93rem/.11em mentre .sm2-drop-btn .82rem/.08em:
   HOME, TARIFFE e CHI SIAMO risultavano piu' grandi di TRATTE e SERVIZI.
   Un'unica dichiarazione per entrambi, cosi' non possono piu' divergere. */
.sm2-menu>a,
.sm2-menu .sm2-drop-btn{
  font-family:'Lato',sans-serif;
  font-size:.84rem;
  font-weight:400;
  letter-spacing:.09em;
  text-transform:uppercase;
  line-height:1;
  display:inline-flex;
  align-items:center;
  color:#fff;
  text-decoration:none;
}
.sm2-menu>a:hover,
.sm2-menu .sm2-drop-btn:hover,
.sm2-menu>a[aria-current="page"],
.sm2-menu .sm2-drop-btn[aria-expanded="true"],
.sm2-menu .sm2-drop-btn[data-active="1"]{color:var(--gold)}

@media(min-width:961px) and (max-width:1340px){
  .sm2-menu>a,.sm2-menu .sm2-drop-btn{font-size:.76rem;letter-spacing:.05em}
}
@media(max-width:960px){
  .sm2-menu>a,.sm2-menu .sm2-drop-btn{
    font-size:.9rem;letter-spacing:.08em;
    padding:15px 18px;border-bottom:1px solid #141414;
  }
  .sm2-menu .sm2-drop-btn{width:100%;justify-content:space-between}
}

/* ===== Rimando dal listino in homepage alla pagina tariffe ===== */
.sm2-rates-link{max-width:1200px;margin:26px auto 0;padding:0 24px;text-align:center}
.sm2-rates-link a{display:inline-block;color:var(--gold);font-weight:700;
  text-decoration:none;font-size:1.02rem;letter-spacing:.02em}
.sm2-rates-link a:hover{color:#fff}
.sm2-rates-link span{display:block;color:var(--text-muted);font-size:.88rem;margin-top:6px}

/* Primary actions, quote summary and readable form details. */
a.btn-gold-fill,a.btn-hero,a.btn-hero-cta,a.btn-gold[href*="contatti"],a.btn-gold[href*="preventivo"]{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;}
a.btn-hero-cta:focus-visible{outline:3px solid #fff;outline-offset:4px}
.booking-explanation{max-width:65ch;margin:0 auto 24px;color:#d8d8d8;font-size:1rem;line-height:1.6}
#request-summary{overflow-wrap:anywhere;margin:20px 0;padding:20px;border:1px solid #665332;border-radius:12px}
#request-summary p,#price-breakdown p{margin:8px 0;font-size:1rem}
#price-breakdown{margin-bottom:16px;color:#ddd}
#whatsapp-fallback:not([hidden]){display:inline-flex!important;min-height:48px;align-items:center;color:#e6c88a;text-decoration:underline}
#whatsapp-fallback[hidden],[hidden]{display:none!important}
#request-status{margin-top:16px;overflow-wrap:anywhere}
#whatsappForm label,#whatsappForm small{font-size:.9rem!important}
#whatsappForm input,#whatsappForm select,#whatsappForm textarea{font-size:1rem}
.sm2-vat-note{padding:12px 0;color:inherit;font-size:.95rem}
@media(max-width:480px){
  .sm2-head-in{padding-inline:12px;gap:8px;}
  .sm2-head .sm2-logo{font-size:1.1rem;gap:8px;min-width:0;}
  .sm2-head .sm2-mark{height:26px;width:auto;}
  .sm2-burger{flex:0 0 47px;min-height:44px;}
}
