/* ══════════════════════════════════════════════════════════════════════
   CORNICE SITO — la testata e il piede di Nosumo, iniettati nelle
   quattro pagine di `assets/casi-studio/`.
   ──────────────────────────────────────────────────────────────────────
   Quelle pagine sono documenti a sé, ognuna col proprio design intorno
   al colore del cliente (verde Vivisol, eccetera): questo foglio aggiunge
   SOLO l'intestazione e il piede del sito sopra e sotto, senza toccare
   un body/a/img/h1 generico che romperebbe il resto della pagina. Ogni
   regola qui è nominata o annidata sotto una classe di Nosumo apposta:
   niente selettore nudo di elemento.

   Copiata da `sito-chiaro.css` (stesse regole di testata/piede), non
   condivisa con quel file: qui NON ci sono `.guscio`, base, bottoni
   generici o reset — la pagina ospite ha già i suoi.
   ══════════════════════════════════════════════════════════════════════ */

:root{
  --viola:#7c5cff;
  --viola-scuro:#5a3ce8;
  --viola-testo:#5334db;
  --viola-velo:#f4f1ff;
  --inchiostro:#0a0a0a;
  --inchiostro-2:#3a3a42;
  --grigio:#6b6b75;
  --linea:#e5e5ea;
  --linea-2:#d1d1d6;
  --nebbia:#f5f5f7;
  --ombra-alta:0 1px 2px rgba(0,0,0,.04), 0 18px 44px -12px rgba(0,0,0,.10);
  --raggio-3:14px;
  --bordo:.8px;
  --scatto:cubic-bezier(.22,1,.36,1);
  --calma:cubic-bezier(.4,0,.2,1);
  --colonna:1200px;
}

.nsm-colonna{width:min(100% - 32px,var(--colonna));margin-inline:auto;font-family:Geist,ui-sans-serif,system-ui,-apple-system,Inter,sans-serif}
.nsm-colonna *,.nsm-colonna *::before,.nsm-colonna *::after{box-sizing:border-box}
.nsm-colonna img{display:block}
/* :where() pesa zero in specificità apposta: un link qualunque nella
   testata/piede eredita il colore del genitore (utile perché la pagina
   ospite non ha un reset suo), ma non deve MAI vincere su `.bottone--nero`
   (0,1,0) — se questa fosse una `.testata a` normale (0,1,1) la
   batterebbe, ed è successo davvero: il testo bianco del bottone nero
   spariva, sostituito dal colore scuro ereditato dalla pagina del
   cliente sotto. */
:where(.testata a,.piede a,.galleggiante-wa){color:inherit;text-decoration:none}
.testata ul,.piede-cima,.piede-fondo{list-style:none}

/* ── testata ────────────────────────────────────────────────────────── */
/* `.testata` è figlia diretta di <body>, non chiusa in un div a parte:
   `position:sticky` resta "attaccata" solo dentro l'altezza del proprio
   genitore, e un contenitore stretto intorno alla sola testata è alto
   quanto lei — la testata non aveva più spazio per restare ferma allo
   scroll e se ne andava via con la pagina (misurato: a 900px di scroll
   era già a -886px). La larghezza-colonna sta sulla testata stessa. */
.testata{
  width:min(100% - 32px,var(--colonna));margin-inline:auto;margin-top:14px;box-sizing:border-box;
  font-family:Geist,ui-sans-serif,system-ui,-apple-system,Inter,sans-serif;
  display:flex;align-items:center;gap:20px;padding:10px 16px;position:sticky;top:8px;z-index:40;
  margin-bottom:16px;border-radius:999px;border:var(--bordo) solid transparent;
  transition:background .3s var(--calma),border-color .3s var(--calma),box-shadow .3s var(--calma),backdrop-filter .3s var(--calma);
}
.testata *,.testata *::before,.testata *::after{box-sizing:border-box}
.testata img{display:block}
.testata.posata{
  background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-color:var(--linea);box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.marchio{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.marchio-logo{height:34px;width:auto;display:block}
.menu{display:flex;align-items:center;gap:clamp(14px,2vw,30px);margin-inline:auto;font-size:15px;font-weight:600;color:var(--inchiostro-2);margin-block:0;padding:0}
.menu a{padding:6px 2px;border-bottom:2px solid transparent}
.menu a:hover{color:var(--viola);border-bottom-color:var(--viola)}
.menu-tendina{position:relative}
.menu-tendina-leva{display:flex;align-items:center;gap:5px;padding:6px 2px;border:0;background:none;font:inherit;color:inherit;cursor:pointer}
.menu-tendina-leva:hover{color:var(--viola)}
.tendina-freccia{width:15px;height:15px;flex:0 0 auto;transition:transform .25s var(--scatto)}
.menu-tendina-leva[aria-expanded="true"] .tendina-freccia{transform:rotate(180deg)}
.menu-tendina-pannello{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);
  min-width:220px;padding:8px;background:#fff;border:var(--bordo) solid var(--linea);border-radius:var(--raggio-3);
  box-shadow:var(--ombra-alta);display:none;flex-direction:column;gap:2px;z-index:50;margin:0;
}
.menu-tendina-pannello.aperto{display:flex}
.menu-tendina-pannello a{display:block;padding:9px 12px;border-radius:9px;font-size:14.5px;font-weight:600;color:var(--inchiostro-2)}
.menu-tendina-pannello a:hover{background:var(--viola-velo);color:var(--viola)}
.menu-mobile-tendina-leva{
  display:flex;align-items:center;justify-content:space-between;width:100%;
  padding:12px 14px;border-radius:11px;font-weight:700;font-size:15.5px;
  border:0;background:none;font-family:inherit;color:inherit;cursor:pointer;text-align:left;
}
.menu-mobile-tendina-leva:hover{background:var(--viola-velo);color:var(--viola)}
.menu-mobile-tendina-leva[aria-expanded="true"] .tendina-freccia{transform:rotate(180deg)}
.menu-mobile-tendina-pannello{display:none;flex-direction:column;gap:2px;padding-left:8px;margin:0}
.menu-mobile-tendina-pannello.aperto{display:flex}
.menu-mobile .menu-mobile-tendina-pannello a{padding:10px 14px;font-weight:600;font-size:14.5px}
.azioni{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.leva{display:none;width:44px;height:44px;border:1px solid var(--linea);background:#fff;border-radius:12px;padding:0;place-items:center}
.leva span,.leva span::before,.leva span::after{display:block;content:"";width:18px;height:2px;background:var(--inchiostro);border-radius:2px;position:relative}
.leva span::before{position:absolute;top:-6px}
.leva span::after{position:absolute;top:6px}
.menu-mobile{display:none;margin:0;padding:0}

@media (max-width:860px){
  .menu{display:none}
  .marchio-logo{height:30px}
  .leva{display:grid}
  .menu-mobile{
    display:none;position:absolute;top:calc(100% + 8px);left:16px;right:16px;
    background:#fff;border:var(--bordo) solid var(--linea);border-radius:var(--raggio-3);
    box-shadow:var(--ombra-alta);padding:10px;z-index:39;
  }
  .menu-mobile.aperto{display:block}
  .menu-mobile a{display:block;padding:12px 14px;border-radius:11px;font-weight:700;font-size:15.5px}
  .menu-mobile a:hover{background:var(--viola-velo);color:var(--viola)}
  .menu-mobile .separatore{height:1px;background:var(--linea);margin:8px 6px}
}
@media (max-width:600px){
  .azioni .bottone--nero{display:none}
  .marchio-logo{height:26px}
}

/* ── bottoni della testata (Accedi / Chiedi un preventivo) ─────────── */
.bottone{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 24px;border-radius:999px;border:var(--bordo) solid transparent;
  font-size:15px;font-weight:600;cursor:pointer;text-align:center;
  transition:transform .3s var(--scatto),box-shadow .3s var(--scatto),background .2s var(--calma),color .2s var(--calma);
}
.bottone--vuoto{background:#fff;border-color:var(--linea);color:var(--inchiostro)}
.bottone--vuoto:hover{border-color:var(--linea-2);background:var(--nebbia)}
.bottone--nero{background:var(--inchiostro);color:#fff}
.bottone--nero:hover{background:#26262c}
.bottone--piccolo{padding:10px 18px;font-size:14px}
.bottone:hover{transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){.bottone:hover{transform:none}}

/* ── il pulsante WhatsApp flottante ────────────────────────────────── */
.galleggiante-wa{
  position:fixed;right:22px;bottom:22px;z-index:60;
  width:56px;height:56px;border-radius:999px;display:grid;place-items:center;
  background:#25D366;color:#fff;box-shadow:0 10px 30px -8px rgba(0,0,0,.35);
  transition:transform .25s var(--scatto),box-shadow .25s var(--scatto);
}
.galleggiante-wa svg{width:28px;height:28px}
.galleggiante-wa:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 14px 36px -8px rgba(0,0,0,.4)}
@media (max-width:600px){.galleggiante-wa{right:16px;bottom:16px;width:52px;height:52px}.galleggiante-wa svg{width:26px;height:26px}}

/* ── piede ──────────────────────────────────────────────────────────── */
.piede{margin-top:0;padding:36px 0 44px;border-top:1px solid var(--linea);font-size:14px;color:var(--grigio)}
.piede-cima{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px;padding-bottom:24px;margin:0}
.piede-blocco{display:flex;flex-direction:column;gap:7px;min-width:0}
.piede-blocco .marchio{margin-bottom:4px}
.piede-frase{font-size:14px;line-height:1.5;color:var(--grigio);max-width:34ch}
.piede-titolo{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--inchiostro);margin-bottom:3px}
.piede-blocco a{color:var(--grigio)}
.piede-blocco a:hover{color:var(--viola)}
.piede-forte{font-size:16px;font-weight:600;color:var(--inchiostro)!important}
.piede-forte:hover{color:var(--viola)!important}
.piede-riga{font-size:13px;color:var(--grigio)}
.piede-fondo{display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;padding:16px 0 4px;border-top:1px solid var(--linea);font-size:13px;color:var(--grigio);margin:0}
.piede-link{display:flex;gap:18px;flex-wrap:wrap;margin-left:auto;margin-block:0;padding:0}
.piede-link a:hover{color:var(--viola)}

@media (max-width:860px){.piede-cima{grid-template-columns:1fr 1fr;row-gap:28px}}
@media (max-width:600px){.piede-cima{grid-template-columns:1fr}}
