/* =========================================================
   Polimeno Pietro S.r.l. - Cartoleria, cancelleria, ufficio
   Reggio Calabria | Foglio di stile principale
   ========================================================= */

/* ---------- 1. Design tokens ---------- */
:root{
  --blu-900:#041C52;
  --blu-800:#062774;
  --blu:#0435A2;          /* blu del logo */
  --blu-600:#1B4CC0;
  --blu-300:#8FA9E4;
  --blu-050:#EEF2FC;

  --rosso:#D30918;        /* rosso del logo */
  --rosso-scuro:#A80713;
  --rosso-050:#FDEEEF;

  --verde:#0E7A4B;

  --testo:#131C33;
  --testo-soft:#5A6684;
  --testo-tenue:#8A93AB;

  --bianco:#FFFFFF;
  --carta:#F5F7FC;
  --riga:#E3E8F4;
  --riga-forte:#CFD8EC;

  --r-sm:10px;
  --r-md:14px;
  --r-lg:20px;
  --r-xl:28px;

  --ombra-1:0 1px 2px rgba(4,28,82,.06), 0 1px 3px rgba(4,28,82,.05);
  --ombra-2:0 2px 4px rgba(4,28,82,.05), 0 12px 28px -14px rgba(4,28,82,.28);
  --ombra-3:0 4px 8px rgba(4,28,82,.06), 0 28px 60px -24px rgba(4,28,82,.35);

  --sp-sez:clamp(56px, 8vw, 104px);
  --contenitore:1200px;

  --font:"Inter", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  --font-titoli:"Manrope", "Inter", "Segoe UI", system-ui, sans-serif;

  --transizione:280ms cubic-bezier(.2,.7,.3,1);
}

/* ---------- 2. Reset essenziale ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{
  margin:0;
  font-family:var(--font);
  font-size:17px;
  line-height:1.65;
  color:var(--testo);
  background:var(--bianco);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{font-family:var(--font-titoli);margin:0;line-height:1.14;letter-spacing:-.02em;font-weight:800}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--rosso);outline-offset:3px;border-radius:6px}

/* ---------- 3. Utility ---------- */
.contenitore{width:min(100% - 40px, var(--contenitore));margin-inline:auto}
.sezione{padding-block:var(--sp-sez)}
.sezione--carta{background:var(--carta);border-block:1px solid var(--riga)}
.salta{position:absolute;left:-9999px;top:0;background:var(--blu);color:#fff;padding:12px 18px;border-radius:0 0 var(--r-sm) 0;z-index:200}
.salta:focus{left:0}
.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}

/* Intestazione di sezione con il "margine rosso" del quaderno */
.occhiello{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-titoli);font-size:12.5px;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:var(--blu);
  padding-left:14px;position:relative;margin-bottom:18px;
}
.occhiello::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:3px;height:20px;background:var(--rosso);border-radius:2px;
}
.occhiello--chiaro{color:#fff}
.occhiello--chiaro::before{background:#fff}
.titolo-sezione{font-size:clamp(28px,4.2vw,44px);max-width:19ch}
.sottotitolo-sezione{margin-top:16px;color:var(--testo-soft);font-size:clamp(16px,1.7vw,18.5px);max-width:62ch}
.intestazione-sezione{margin-bottom:clamp(32px,4vw,52px)}

/* ---------- 4. Bottoni ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-titoli);font-weight:800;font-size:15.5px;
  padding:15px 24px;border-radius:var(--r-sm);border:1.5px solid transparent;
  transition:transform var(--transizione), box-shadow var(--transizione), background-color var(--transizione), color var(--transizione), border-color var(--transizione);
  text-align:center;
}
.btn svg{flex:none}
.btn--rosso{background:var(--rosso);color:#fff;box-shadow:0 10px 22px -12px rgba(211,9,24,.85)}
.btn--rosso:hover{background:var(--rosso-scuro);transform:translateY(-2px);box-shadow:0 16px 28px -14px rgba(211,9,24,.9)}
.btn--blu{background:var(--blu);color:#fff;box-shadow:0 10px 22px -12px rgba(4,53,162,.8)}
.btn--blu:hover{background:var(--blu-800);transform:translateY(-2px)}
.btn--contorno{border-color:var(--riga-forte);color:var(--blu-900);background:#fff}
.btn--contorno:hover{border-color:var(--blu);color:var(--blu);transform:translateY(-2px);box-shadow:var(--ombra-2)}
.btn--chiaro{background:#fff;color:var(--blu-900)}
.btn--chiaro:hover{transform:translateY(-2px);box-shadow:var(--ombra-3)}
.btn--fantasma{border-color:rgba(255,255,255,.45);color:#fff}
.btn--fantasma:hover{background:rgba(255,255,255,.12);border-color:#fff;transform:translateY(-2px)}

/* ---------- 4b. Striscia di anteprima ---------- */
.striscia-anteprima{
  background:var(--blu-900);color:rgba(255,255,255,.82);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 16px;
  padding:9px 20px;font-size:13.2px;text-align:center;
}
.striscia-anteprima a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.striscia-anteprima a:hover{color:var(--blu-300)}

/* ---------- 5. Header ---------- */
.header{
  position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--riga);
  transition:box-shadow var(--transizione), background-color var(--transizione);
}
.header.is-scrolled{box-shadow:0 8px 26px -18px rgba(4,28,82,.5);background:rgba(255,255,255,.97)}
.header__interno{display:flex;align-items:center;gap:20px;height:82px;transition:height var(--transizione)}
.header.is-scrolled .header__interno{height:68px}
.marchio{display:flex;align-items:center;gap:13px;flex:none}
.marchio__segno{
  width:50px;height:50px;border-radius:12px;overflow:hidden;flex:none;
  box-shadow:0 2px 10px -3px rgba(4,28,82,.35);background:#fff;
  transition:width var(--transizione), height var(--transizione);
}
.header.is-scrolled .marchio__segno{width:44px;height:44px}
.marchio__segno img{width:100%;height:100%;object-fit:cover}
.marchio__testo{display:flex;flex-direction:column;line-height:1.1}
.marchio__nome{font-family:var(--font-titoli);font-weight:800;font-size:15.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--blu-900)}
.marchio__srl{font-size:.74em;letter-spacing:.06em;color:var(--blu);font-weight:800;text-transform:none}
.marchio__claim{font-size:11.5px;color:var(--testo-tenue);letter-spacing:.04em}

.nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.nav__link{
  position:relative;padding:10px 11px;font-size:14.8px;font-weight:600;color:var(--testo-soft);
  border-radius:8px;transition:color var(--transizione);white-space:nowrap;
}
.nav__link::after{
  content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--rosso);
  transform:scaleX(0);transform-origin:left;transition:transform var(--transizione);border-radius:2px;
}
.nav__link:hover,.nav__link.is-active{color:var(--blu-900)}
.nav__link:hover::after,.nav__link.is-active::after{transform:scaleX(1)}
.header__azioni{display:flex;align-items:center;gap:10px;margin-left:10px}
.btn-chiama{padding:12px 18px;font-size:15px}
.hamburger{display:none;width:46px;height:46px;border-radius:10px;border:1.5px solid var(--riga-forte);align-items:center;justify-content:center}
.hamburger span{display:block;width:20px;height:2px;background:var(--blu-900);border-radius:2px;position:relative;transition:background var(--transizione)}
.hamburger span::before,.hamburger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--blu-900);border-radius:2px;transition:transform var(--transizione), top var(--transizione)}
.hamburger span::before{top:-6px}
.hamburger span::after{top:6px}
.hamburger[aria-expanded="true"] span{background:transparent}
.hamburger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.hamburger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

/* Menu mobile */
.menu-mobile{
  position:fixed;inset:0;z-index:99;background:#fff;padding:104px 24px 48px;
  transform:translateY(-12px);opacity:0;visibility:hidden;
  transition:opacity var(--transizione), transform var(--transizione), visibility var(--transizione);
  overflow-y:auto;
}
.menu-mobile.is-open{opacity:1;visibility:visible;transform:none}
.menu-mobile__voce{
  display:flex;align-items:center;justify-content:space-between;
  font-family:var(--font-titoli);font-weight:800;font-size:21px;color:var(--blu-900);
  padding:17px 4px;border-bottom:1px solid var(--riga);
}
.menu-mobile__voce span{color:var(--rosso);font-size:18px}
.menu-mobile__azioni{margin-top:28px;display:grid;gap:12px}
.menu-mobile__nota{margin-top:26px;color:var(--testo-soft);font-size:14.5px;line-height:1.6}

/* ---------- 6. Hero ---------- */
.hero{position:relative;padding-block:clamp(40px,6vw,76px) clamp(56px,7vw,96px);overflow:hidden;isolation:isolate}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background-image:
    linear-gradient(to right, rgba(4,53,162,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(4,53,162,.05) 1px, transparent 1px);
  background-size:28px 28px;
  -webkit-mask-image:radial-gradient(120% 80% at 18% 0%, #000 28%, transparent 76%);
  mask-image:radial-gradient(120% 80% at 18% 0%, #000 28%, transparent 76%);
}
.hero::after{
  content:"";position:absolute;top:-180px;right:-200px;width:640px;height:640px;z-index:-3;border-radius:50%;
  background:radial-gradient(circle at 40% 40%, rgba(4,53,162,.10), rgba(4,53,162,0) 68%);
}
.hero__griglia{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(32px,5vw,64px);align-items:center}
.pillola{
  display:inline-flex;align-items:center;gap:10px;background:var(--blu-050);color:var(--blu-800);
  border:1px solid rgba(4,53,162,.14);border-radius:999px;padding:8px 16px 8px 12px;
  font-size:13.5px;font-weight:700;
}
.pillola__punto{width:8px;height:8px;border-radius:50%;background:var(--rosso);flex:none}
.hero h1{font-size:clamp(35px,5.4vw,60px);margin-top:22px;letter-spacing:-.03em}
.evidenzia{background:linear-gradient(to top, rgba(211,9,24,.20) 0 32%, transparent 32%);padding-inline:2px}
.hero__sottotitolo{margin-top:22px;font-size:clamp(16.5px,1.9vw,19.5px);color:var(--testo-soft);max-width:56ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hero__badge{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:36px;padding-top:26px;border-top:1px solid var(--riga)}
.badge{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;font-weight:600;color:var(--testo-soft)}
.badge svg{color:var(--rosso);flex:none}
.badge strong{color:var(--blu-900);font-weight:700}

.hero__visivo{position:relative}
.hero__foto{
  position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--ombra-3);
  border:1px solid var(--riga);aspect-ratio:4/3.35;background:var(--carta);
}
.hero__foto img{width:100%;height:100%;object-fit:cover}
.hero__cornice{
  position:absolute;inset:auto -18px -18px auto;width:62%;height:62%;
  border:2px solid rgba(4,53,162,.18);border-radius:var(--r-xl);z-index:-1;
}
.scheda-stato{
  position:absolute;left:-14px;bottom:-26px;background:#fff;border:1px solid var(--riga);
  border-radius:var(--r-md);box-shadow:var(--ombra-3);padding:16px 20px;min-width:236px;
}
.scheda-stato__titolo{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--testo-tenue)}
.stato{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-titoli);font-weight:800;font-size:16px;margin-top:8px}
.stato__punto{width:10px;height:10px;border-radius:50%;flex:none}
.stato--aperto{color:var(--verde)}
.stato--aperto .stato__punto{background:var(--verde);box-shadow:0 0 0 4px rgba(14,122,75,.16)}
.stato--chiuso{color:var(--testo-soft)}
.stato--chiuso .stato__punto{background:var(--testo-tenue);box-shadow:0 0 0 4px rgba(138,147,171,.16)}
.scheda-stato__dettaglio{font-size:13.5px;color:var(--testo-soft);margin-top:6px}

/* ---------- 7. Vantaggi ---------- */
.vantaggi{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.vantaggio{
  background:#fff;border:1px solid var(--riga);border-radius:var(--r-md);padding:26px 24px;
  box-shadow:var(--ombra-1);transition:transform var(--transizione), box-shadow var(--transizione), border-color var(--transizione);
}
.vantaggio:hover{transform:translateY(-4px);box-shadow:var(--ombra-2);border-color:var(--riga-forte)}
.vantaggio__icona{width:46px;height:46px;border-radius:12px;background:var(--rosso-050);color:var(--rosso);display:grid;place-items:center;margin-bottom:16px}
.vantaggio h3{font-size:17.5px;margin-bottom:7px}
.vantaggio p{font-size:14.8px;color:var(--testo-soft);line-height:1.55}

/* ---------- 8. Chi siamo ---------- */
.chi-siamo{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(32px,5vw,70px);align-items:center}
.chi-siamo__media{position:relative;padding-bottom:52px;padding-right:44px}
.chi-siamo__foto{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--ombra-3);border:1px solid var(--riga);aspect-ratio:4/4.2}
.chi-siamo__foto img{width:100%;height:100%;object-fit:cover}
.chi-siamo__foto--piccola{
  position:absolute;right:0;bottom:0;width:58%;aspect-ratio:4/3;border:6px solid #fff;border-radius:var(--r-md);
  overflow:hidden;box-shadow:var(--ombra-3);
}
.chi-siamo__foto--piccola img{width:100%;height:100%;object-fit:cover}
.testo-lungo p + p{margin-top:16px}
.testo-lungo p{color:var(--testo-soft);font-size:17px}
.statistiche{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:32px}
.statistica{display:flex;gap:13px;align-items:flex-start;background:var(--carta);border:1px solid var(--riga);border-radius:var(--r-md);padding:16px 18px}
.statistica svg{color:var(--blu);flex:none;margin-top:2px}
.statistica strong{display:block;font-family:var(--font-titoli);font-size:15.5px;color:var(--blu-900)}
.statistica span{font-size:13.8px;color:var(--testo-soft);line-height:1.45}

/* ---------- 9. Categorie ---------- */
.griglia-categorie{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.categoria{
  background:#fff;border:1px solid var(--riga);border-radius:var(--r-md);overflow:hidden;
  box-shadow:var(--ombra-1);display:flex;flex-direction:column;
  transition:transform var(--transizione), box-shadow var(--transizione), border-color var(--transizione);
}
.categoria:hover{transform:translateY(-6px);box-shadow:var(--ombra-3);border-color:var(--blu-300)}
.categoria__foto{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--carta)}
.categoria__foto img{width:100%;height:100%;object-fit:cover;transition:transform 620ms cubic-bezier(.2,.7,.3,1)}
.categoria:hover .categoria__foto img{transform:scale(1.06)}
.categoria__foto::after{
  content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(4,28,82,.30), rgba(4,28,82,0) 55%);
  opacity:0;transition:opacity var(--transizione);
}
.categoria:hover .categoria__foto::after{opacity:1}
.categoria__corpo{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.categoria h3{font-size:18.5px;display:flex;align-items:baseline;gap:10px}
.categoria h3::after{
  content:"";flex:1;height:2px;background:var(--rosso);transform:scaleX(0);transform-origin:left;
  transition:transform var(--transizione);border-radius:2px;opacity:.85;
}
.categoria:hover h3::after{transform:scaleX(1)}
.categoria p{margin-top:10px;font-size:14.8px;color:var(--testo-soft);line-height:1.58}
.griglia-specialita{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.nota-categorie{
  margin-top:32px;display:flex;gap:14px;align-items:flex-start;background:var(--blu-050);
  border:1px solid rgba(4,53,162,.14);border-radius:var(--r-md);padding:20px 22px;color:var(--blu-800);font-size:15.5px;
}
.nota-categorie svg{flex:none;color:var(--blu);margin-top:3px}


/* ---------- 9b. Catalogo articoli con filtri ---------- */
.pannello-filtri{
  background:#fff;border:1px solid var(--riga);border-radius:var(--r-lg);
  padding:clamp(18px,2.4vw,26px);box-shadow:var(--ombra-1);margin-bottom:28px;
}
.filtri-riga{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}
.campo-filtro{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1 1 210px}
.campo-filtro--ricerca{flex:2 1 320px}
.campo-filtro[hidden]{display:none}
.campo-filtro__etichetta{
  font-family:var(--font-titoli);font-size:11.5px;font-weight:800;letter-spacing:.13em;
  text-transform:uppercase;color:var(--testo-tenue);
}
.campo-ricerca{position:relative;display:flex;align-items:center}
.campo-ricerca svg{position:absolute;left:14px;color:var(--testo-tenue);pointer-events:none}
.campo-ricerca input{
  width:100%;font:inherit;font-size:15.5px;color:var(--testo);
  padding:13px 14px 13px 42px;border:1.5px solid var(--riga);border-radius:var(--r-sm);
  background:var(--carta);transition:border-color var(--transizione), background var(--transizione);
}
.campo-ricerca input:focus{outline:none;border-color:var(--blu);background:#fff}
.campo-ricerca input::-webkit-search-cancel-button{cursor:pointer}
.campo-filtro select{
  font:inherit;font-size:15.5px;color:var(--testo);padding:13px 38px 13px 14px;
  border:1.5px solid var(--riga);border-radius:var(--r-sm);background:var(--carta);
  appearance:none;cursor:pointer;width:100%;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235A6684' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  transition:border-color var(--transizione), background-color var(--transizione);
}
.campo-filtro select:focus{outline:none;border-color:var(--blu);background-color:#fff}

.filtri-categorie{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px;padding-top:20px;border-top:1px solid var(--riga)}
.chip-filtro{
  display:inline-flex;align-items:center;gap:8px;
  border:1.5px solid var(--riga);background:#fff;border-radius:999px;
  padding:9px 15px;font-size:14.2px;font-weight:600;color:var(--testo-soft);
  transition:border-color var(--transizione), color var(--transizione), background var(--transizione), transform var(--transizione);
}
.chip-filtro:hover{border-color:var(--blu-300);color:var(--blu-900);transform:translateY(-1px)}
.chip-filtro.is-attivo{background:var(--blu);border-color:var(--blu);color:#fff}
.chip-filtro__n{
  font-size:12px;font-weight:800;background:var(--carta);color:var(--testo-tenue);
  border-radius:999px;padding:1px 7px;min-width:22px;text-align:center;
}
.chip-filtro.is-attivo .chip-filtro__n{background:rgba(255,255,255,.22);color:#fff}

.filtri-esito{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.conteggio{font-family:var(--font-titoli);font-weight:800;font-size:14.5px;color:var(--blu-900)}
.azzera{
  display:inline-flex;align-items:center;gap:7px;font-size:13.6px;font-weight:700;color:var(--rosso);
  border:1.5px solid var(--rosso-050);background:var(--rosso-050);border-radius:999px;padding:7px 14px;
  transition:border-color var(--transizione), transform var(--transizione);
}
.azzera:hover{border-color:var(--rosso);transform:translateY(-1px)}
.azzera[hidden]{display:none}

.griglia-articoli{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.griglia-articoli[hidden]{display:none}
.articolo{
  background:#fff;border:1px solid var(--riga);border-radius:var(--r-md);overflow:hidden;
  display:flex;flex-direction:column;box-shadow:var(--ombra-1);
  transition:transform var(--transizione), box-shadow var(--transizione), border-color var(--transizione);
  animation:comparsa 320ms cubic-bezier(.2,.7,.3,1) both;
}
@keyframes comparsa{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.articolo:hover{transform:translateY(-3px);box-shadow:var(--ombra-2);border-color:var(--blu-300)}
.articolo__foto{aspect-ratio:4/3;overflow:hidden;background:var(--carta)}
.articolo__foto img{width:100%;height:100%;object-fit:cover}
.articolo__corpo{padding:18px 18px 16px;display:flex;flex-direction:column;flex:1;position:relative}
.articolo__corpo::before{
  content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;
  background:var(--blu);border-radius:0 3px 3px 0;opacity:.25;
}
.articolo:hover .articolo__corpo::before{opacity:1;background:var(--rosso)}
.articolo__categoria{
  font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;
  color:var(--blu);margin-bottom:6px;
}
.articolo__nome{font-size:16.5px;line-height:1.25;color:var(--blu-900)}
.articolo__desc{margin-top:8px;font-size:14px;line-height:1.5;color:var(--testo-soft);flex:1}
.articolo__tag{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.tag{
  font-size:11.8px;font-weight:700;color:var(--testo-soft);background:var(--carta);
  border:1px solid var(--riga);border-radius:999px;padding:4px 10px;
}
.tag--marca{background:var(--blu-050);border-color:rgba(4,53,162,.16);color:var(--blu-800)}

.nessun-risultato{
  background:#fff;border:1px dashed var(--riga-forte);border-radius:var(--r-md);
  padding:36px 24px;text-align:center;color:var(--testo-soft);font-size:15.5px;
}
.nessun-risultato[hidden]{display:none}
.nessun-risultato p + p{margin-top:8px}
.nessun-risultato a{color:var(--blu);font-weight:700;text-decoration:underline}

@media (max-width:820px){
  .campo-filtro,.campo-filtro--ricerca{flex:1 1 100%}
  .filtri-categorie{
    flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;
    scrollbar-width:thin;-webkit-overflow-scrolling:touch;
  }
  .chip-filtro{flex:none}
  .griglia-articoli{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
}
@media (max-width:520px){
  .griglia-articoli{grid-template-columns:1fr}
}


/* ---------- 9c. Pagine articoli: intestazione e briciole ---------- */
.intestazione-pagina{padding-bottom:clamp(28px,4vw,40px)}
.briciole{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  font-size:13.6px;color:var(--testo-tenue);margin-bottom:20px;
}
.briciole a{color:var(--blu);font-weight:600}
.briciole a:hover{text-decoration:underline}
.briciole span[aria-hidden]{color:var(--riga-forte)}

/* la scheda dell'elenco e' un link: eredita i colori senza sottolineature */
a.articolo{color:inherit;text-decoration:none}
.articolo__foto--generica img{opacity:.92}
.articolo__vedi{
  margin-top:14px;font-family:var(--font-titoli);font-weight:800;font-size:13.4px;
  color:var(--blu);display:inline-flex;align-items:center;gap:6px;
  transition:gap var(--transizione), color var(--transizione);
}
.articolo:hover .articolo__vedi{gap:11px;color:var(--rosso)}



/* foto da catalogo (quadrate su fondo bianco): mostrate intere */
.articolo__foto.foto--intera{background:#fff}
.articolo__foto.foto--intera img{object-fit:contain;padding:10px}
.scheda-articolo__foto.foto--intera{background:#fff}
.scheda-articolo__foto.foto--intera img{object-fit:contain;padding:22px}

/* segnaposto per gli articoli senza foto propria */
.articolo__foto--segnaposto{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;
  color:var(--blu-300);background:var(--blu-050);
  background-image:
    linear-gradient(to right, rgba(4,53,162,.07) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(4,53,162,.07) 1px, transparent 1px);
  background-size:18px 18px;
}
.articolo__foto--segnaposto span{
  font-size:10.6px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;
  color:var(--blu-300);text-align:center;padding:0 14px;line-height:1.3;
}
.articolo:hover .articolo__foto--segnaposto{color:var(--blu)}

/* ---------- 9d. Scheda articolo ---------- */
.scheda-articolo__griglia{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(28px,4vw,56px);align-items:start;
}
.scheda-articolo__foto{
  border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--riga);
  box-shadow:var(--ombra-2);aspect-ratio:4/3;background:var(--carta);
}
.scheda-articolo__foto img{width:100%;height:100%;object-fit:cover}
.scheda-articolo__foto--generica{position:relative}
.scheda-articolo__foto--generica::after{
  content:"Foto indicativa della categoria";
  position:absolute;left:14px;bottom:14px;
  background:rgba(4,28,82,.78);color:#fff;font-size:11.5px;font-weight:700;
  letter-spacing:.04em;padding:6px 11px;border-radius:999px;backdrop-filter:blur(4px);
}
.scheda-articolo__miniature{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.miniatura{
  width:78px;height:62px;border-radius:var(--r-sm);overflow:hidden;
  border:2px solid var(--riga);background:#fff;padding:0;
  transition:border-color var(--transizione), transform var(--transizione);
}
.miniatura img{width:100%;height:100%;object-fit:cover}
.miniatura:hover{transform:translateY(-2px);border-color:var(--blu-300)}
.miniatura.is-attiva{border-color:var(--rosso)}

.scheda-articolo__testo h1{font-size:clamp(27px,3.6vw,40px);color:var(--blu-900);margin-top:4px}
.scheda-articolo__marca{
  display:inline-block;margin-top:14px;background:var(--blu-050);color:var(--blu-800);
  border:1px solid rgba(4,53,162,.16);border-radius:999px;padding:6px 14px;
  font-size:13.5px;font-weight:700;
}
.scheda-articolo__marca[hidden]{display:none}
.scheda-articolo__desc{margin-top:18px;color:var(--testo-soft);font-size:17px;max-width:52ch}

.prezzo-blocco{
  margin-top:26px;padding:20px 24px;background:var(--carta);
  border:1px solid var(--riga);border-left:4px solid var(--rosso);border-radius:var(--r-md);
}
.prezzo{font-family:var(--font-titoli);font-size:clamp(26px,3.4vw,34px);font-weight:800;color:var(--blu-900);line-height:1.1}
.prezzo--richiesta{font-size:clamp(19px,2.4vw,23px);color:var(--blu)}
.prezzo-nota{margin-top:7px;font-size:14.2px;color:var(--testo-soft)}

.scheda-articolo__azioni{display:flex;flex-wrap:wrap;gap:13px;margin-top:26px}

.caratteristiche{margin-top:34px;padding-top:26px;border-top:1px solid var(--riga)}
.caratteristiche h2{font-size:19px;color:var(--blu-900);margin-bottom:16px}
.caratteristiche dl{display:grid;grid-template-columns:auto 1fr;gap:0;margin:0}
.caratteristiche dt{
  padding:11px 16px 11px 0;font-size:14px;font-weight:700;color:var(--testo-tenue);
  border-bottom:1px solid var(--riga);white-space:nowrap;
}
.caratteristiche dd{
  padding:11px 0;margin:0;font-size:15px;color:var(--blu-900);
  border-bottom:1px solid var(--riga);text-align:right;
}
.caratteristiche dt:last-of-type,.caratteristiche dd:last-of-type{border-bottom:0}

.correlati{margin-top:clamp(44px,6vw,72px);padding-top:clamp(30px,4vw,44px);border-top:1px solid var(--riga)}
.correlati__titolo{font-size:clamp(21px,2.6vw,26px);color:var(--blu-900);margin-bottom:22px}

@media (max-width:900px){
  .scheda-articolo__griglia{grid-template-columns:1fr}
  .caratteristiche dd{text-align:left}
}

/* ---------- 9e. Richiamo al catalogo nella home ---------- */
.richiamo-catalogo{
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(26px,4vw,52px);align-items:center;
  background:#fff;border:1px solid var(--riga);border-radius:var(--r-lg);
  padding:clamp(26px,3.6vw,44px);box-shadow:var(--ombra-2);
}
.richiamo-catalogo h2{font-size:clamp(25px,3.4vw,36px);color:var(--blu-900)}
.richiamo-catalogo p{margin-top:16px;color:var(--testo-soft);font-size:17px;max-width:48ch}
.richiamo-catalogo__azioni{margin-top:26px;display:flex;flex-wrap:wrap;gap:13px}
.richiamo-catalogo__numeri{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.richiamo-catalogo__numeri span{
  background:var(--carta);border:1px solid var(--riga);border-radius:999px;
  padding:7px 14px;font-size:13.6px;font-weight:600;color:var(--blu-900);
}
.richiamo-catalogo__foto{
  border-radius:var(--r-md);overflow:hidden;border:1px solid var(--riga);
  box-shadow:var(--ombra-2);aspect-ratio:4/3;
}
.richiamo-catalogo__foto img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){
  .richiamo-catalogo{grid-template-columns:1fr}
  .richiamo-catalogo__foto{order:-1}
}

/* ---------- 10. Ingrosso ---------- */
.ingrosso{position:relative;background:linear-gradient(160deg,var(--blu-900) 0%, var(--blu) 88%);color:#fff;overflow:hidden}
.ingrosso::before{
  content:"";position:absolute;inset:0;opacity:.16;
  background-image:repeating-linear-gradient(to bottom, transparent 0 35px, rgba(255,255,255,.5) 35px 36px);
  -webkit-mask-image:linear-gradient(to right, #000, transparent 62%);
  mask-image:linear-gradient(to right, #000, transparent 62%);
}
.ingrosso__griglia{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:center}
.ingrosso h2{font-size:clamp(27px,3.8vw,42px);color:#fff}
.ingrosso p{margin-top:20px;color:rgba(255,255,255,.84);font-size:17.5px;max-width:52ch}
.ingrosso__elenco{margin-top:26px;display:grid;gap:12px}
.ingrosso__elenco li{display:flex;gap:11px;align-items:center;color:rgba(255,255,255,.92);font-size:16px}
.ingrosso__elenco svg{color:#fff;background:rgba(255,255,255,.16);border-radius:50%;padding:5px;flex:none}
.ingrosso__cta{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px}
.ingrosso__foto{border-radius:var(--r-lg);overflow:hidden;box-shadow:0 40px 70px -34px rgba(0,0,0,.7);aspect-ratio:4/3.1;border:1px solid rgba(255,255,255,.18)}
.ingrosso__foto img{width:100%;height:100%;object-fit:cover}

/* ---------- 11. Servizi ---------- */
.griglia-servizi{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.servizio{
  background:#fff;border:1px solid var(--riga);border-radius:var(--r-md);padding:28px 26px;position:relative;
  box-shadow:var(--ombra-1);overflow:hidden;transition:transform var(--transizione), box-shadow var(--transizione);
}
.servizio::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blu);transform:scaleY(0);transform-origin:top;transition:transform var(--transizione)}
.servizio:hover{transform:translateY(-4px);box-shadow:var(--ombra-2)}
.servizio:hover::before{transform:scaleY(1)}
.servizio__icona{width:50px;height:50px;border-radius:14px;background:var(--blu-050);color:var(--blu);display:grid;place-items:center;margin-bottom:18px}
.servizio h3{font-size:18px;margin-bottom:8px}
.servizio p{font-size:15px;color:var(--testo-soft);line-height:1.58}

/* ---------- 12. Pagamenti e valutazione ---------- */
.doppia{display:grid;grid-template-columns:1.25fr .95fr;gap:24px;align-items:stretch}
.scheda{background:#fff;border:1px solid var(--riga);border-radius:var(--r-lg);padding:clamp(26px,3.4vw,40px);box-shadow:var(--ombra-2)}
.scheda h3{font-size:22px}
.scheda__testo{margin-top:12px;color:var(--testo-soft);font-size:15.5px;max-width:46ch}
.pagamenti{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:26px}
.pagamento{
  display:flex;align-items:center;gap:13px;border:1px solid var(--riga);border-radius:var(--r-sm);
  padding:14px 16px;background:var(--carta);font-size:15px;font-weight:600;color:var(--blu-900);
  transition:border-color var(--transizione), background var(--transizione), transform var(--transizione);
}
.pagamento:hover{border-color:var(--blu-300);background:#fff;transform:translateY(-2px)}
.pagamento svg{color:var(--blu);flex:none}
.recensione{display:flex;flex-direction:column;justify-content:center;text-align:center;align-items:center;background:linear-gradient(180deg,#fff, var(--blu-050))}
.voto{font-family:var(--font-titoli);font-size:clamp(46px,7vw,66px);font-weight:800;color:var(--blu-900);line-height:1}
.voto span{font-size:.42em;color:var(--testo-tenue);font-weight:700}
.stelle{display:flex;gap:5px;margin:16px 0 10px;color:#F5A623}
.recensione__etichetta{font-family:var(--font-titoli);font-weight:800;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--blu)}
.recensione__frase{margin-top:14px;color:var(--testo-soft);font-size:16px;max-width:34ch}

/* ---------- 13. Orari ---------- */
.orari{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,48px);align-items:start}
.tabella-orari{background:#fff;border:1px solid var(--riga);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--ombra-2)}
.orario{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 24px;border-bottom:1px solid var(--riga);position:relative}
.orario:last-child{border-bottom:0}
.orario__giorno{font-family:var(--font-titoli);font-weight:700;font-size:16px;color:var(--blu-900);display:flex;align-items:center;gap:10px}
.orario__fasce{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:flex-end;font-size:15.5px;color:var(--testo-soft);font-variant-numeric:tabular-nums}
.orario__chiuso{color:var(--testo-tenue);font-size:15.5px}
.orario.is-oggi{background:var(--blu-050)}
.orario.is-oggi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--rosso)}
.orario.is-oggi .orario__giorno{color:var(--blu)}
.tag-oggi{font-family:var(--font);font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:var(--rosso);color:#fff;padding:3px 8px;border-radius:999px}
.orari__lato{display:grid;gap:18px}
.scheda-piccola{background:#fff;border:1px solid var(--riga);border-radius:var(--r-md);padding:24px;box-shadow:var(--ombra-1)}
.scheda-piccola h3{font-size:18px;margin-bottom:10px}
.scheda-piccola p{color:var(--testo-soft);font-size:15px}
.stato--grande{font-size:20px}

/* ---------- 14. Dove siamo ---------- */
.dove{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4vw,48px);align-items:stretch}
.mappa{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--riga);box-shadow:var(--ombra-2);min-height:360px;background:var(--carta)}
.mappa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.indirizzo{display:flex;gap:16px;align-items:flex-start}
.indirizzo__icona{width:48px;height:48px;border-radius:14px;background:var(--rosso-050);color:var(--rosso);display:grid;place-items:center;flex:none}
.indirizzo address{font-style:normal;font-size:18px;line-height:1.55;color:var(--blu-900);font-weight:600}
.dove__azioni{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px}
.dove__nota{margin-top:22px;color:var(--testo-soft);font-size:15.5px;max-width:44ch}

/* ---------- 15. Contatti ---------- */
.contatti{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.telefono-scheda{display:flex;flex-direction:column;justify-content:center}
.telefono-numero{
  font-family:var(--font-titoli);font-size:clamp(30px,4.4vw,42px);font-weight:800;color:var(--blu);
  display:inline-flex;align-items:center;gap:14px;margin-top:8px;transition:color var(--transizione);
}
.telefono-numero:hover{color:var(--rosso)}
.contatti__nota{margin-top:18px;color:var(--testo-soft);font-size:15.5px}

/* ---------- 16. CTA finale ---------- */
.cta-finale{position:relative;background:linear-gradient(150deg,var(--blu) 0%, var(--blu-900) 92%);color:#fff;overflow:hidden;text-align:center}
.cta-finale::before{
  content:"";position:absolute;inset:0;opacity:.14;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.6) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.6) 1px, transparent 1px);
  background-size:30px 30px;
  -webkit-mask-image:radial-gradient(70% 90% at 50% 0%, #000, transparent 75%);
  mask-image:radial-gradient(70% 90% at 50% 0%, #000, transparent 75%);
}
.cta-finale__interno{position:relative;display:grid;justify-items:center;gap:18px}
.cta-finale h2{font-size:clamp(28px,4.4vw,46px);max-width:18ch;color:#fff}
.cta-finale p{color:rgba(255,255,255,.85);font-size:18px;max-width:56ch}
.cta-finale__azioni{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:8px}

/* ---------- 17. Footer ---------- */
.footer{background:var(--blu-900);color:rgba(255,255,255,.76);padding-top:clamp(48px,6vw,76px)}
.footer__griglia{display:grid;grid-template-columns:1.4fr .8fr 1fr 1.1fr;gap:clamp(28px,4vw,48px)}
.footer .marchio__nome{color:#fff}
.footer .marchio__srl{color:var(--blu-300)}
.footer .marchio__claim{color:rgba(255,255,255,.55);display:block}
.footer__descrizione{margin-top:20px;font-size:15px;line-height:1.62;max-width:38ch}
.footer h4{font-family:var(--font-titoli);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:18px}
.footer__link li + li{margin-top:11px}
.footer__link a{font-size:15px;transition:color var(--transizione), padding-left var(--transizione)}
.footer__link a:hover{color:#fff;padding-left:5px}
.footer__contatti{display:grid;gap:14px;font-size:15px}
.footer__contatti a:hover{color:#fff}
.footer__riga{display:flex;gap:12px;align-items:flex-start}
.footer__riga svg{color:var(--blu-300);flex:none;margin-top:3px}
.footer__orari li{display:flex;justify-content:space-between;gap:16px;font-size:14.4px;padding:7px 0;border-bottom:1px dashed rgba(255,255,255,.14)}
.footer__orari li:last-child{border-bottom:0}
.footer__orari span:last-child{color:#fff;font-variant-numeric:tabular-nums;text-align:right}
.footer__fondo{
  margin-top:clamp(36px,4vw,56px);border-top:1px solid rgba(255,255,255,.14);
  padding-block:24px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;
  font-size:13.4px;color:rgba(255,255,255,.55);
}

/* ---------- 18. Barra chiamata mobile ---------- */
.barra-mobile{
  position:fixed;left:0;right:0;bottom:0;z-index:95;display:none;gap:10px;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--riga);
  transform:translateY(115%);transition:transform 320ms cubic-bezier(.2,.7,.3,1);
}
.barra-mobile.is-visible{transform:none}
.barra-mobile .btn{flex:1;padding:14px 12px;font-size:14.6px}

/* ---------- 19. Selettore varianti logo (strumento di anteprima) ---------- */
.selettore-logo{position:fixed;left:18px;bottom:18px;z-index:120}
.selettore-logo__toggle{
  display:inline-flex;align-items:center;gap:9px;background:var(--blu-900);color:#fff;
  padding:11px 16px;border-radius:999px;box-shadow:var(--ombra-3);font-weight:700;font-size:13.5px;
  transition:transform var(--transizione), background var(--transizione);
}
.selettore-logo__toggle:hover{transform:translateY(-2px);background:#000}
.selettore-logo__pannello{
  position:absolute;left:0;bottom:56px;width:312px;background:#fff;border:1px solid var(--riga);
  border-radius:var(--r-md);box-shadow:var(--ombra-3);padding:18px;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity var(--transizione), visibility var(--transizione), transform var(--transizione);
}
.selettore-logo.is-open .selettore-logo__pannello{opacity:1;visibility:visible;transform:none}
.selettore-logo__pannello h4{font-size:15px;margin-bottom:4px;color:var(--blu-900)}
.selettore-logo__pannello p{font-size:12.8px;color:var(--testo-soft);line-height:1.5}
.selettore-logo__opzioni{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}
.opzione-logo{border:2px solid var(--riga);border-radius:var(--r-sm);padding:8px;text-align:center;background:#fff;transition:border-color var(--transizione), transform var(--transizione)}
.opzione-logo:hover{transform:translateY(-2px);border-color:var(--blu-300)}
.opzione-logo.is-active{border-color:var(--rosso)}
.opzione-logo img{width:100%;border-radius:6px;aspect-ratio:1;object-fit:cover}
.opzione-logo span{display:block;margin-top:7px;font-size:11.4px;font-weight:700;color:var(--testo-soft);line-height:1.3}
.selettore-logo__scelta{margin-top:13px;padding-top:12px;border-top:1px solid var(--riga);font-size:12.4px;color:var(--testo-soft)}
.selettore-logo__scelta code{background:var(--carta);padding:2px 6px;border-radius:5px;color:var(--blu-900);font-size:12px}
.selettore-logo__chiudi{margin-top:10px;font-size:12.4px;color:var(--rosso);font-weight:700;text-decoration:underline}

/* ---------- 20. Animazioni di ingresso ---------- */
.rivela{opacity:0;transform:translateY(22px);transition:opacity 620ms cubic-bezier(.2,.7,.3,1), transform 620ms cubic-bezier(.2,.7,.3,1)}
.rivela.is-visible{opacity:1;transform:none}
.rivela[data-ritardo="1"]{transition-delay:80ms}
.rivela[data-ritardo="2"]{transition-delay:160ms}
.rivela[data-ritardo="3"]{transition-delay:240ms}
.rivela[data-ritardo="4"]{transition-delay:320ms}

/* ---------- 21. Responsive ---------- */
@media (max-width:1300px){
  .nav{display:none}
  .btn-chiama .lungo{display:none}
  .hamburger{display:inline-flex}
  .header__azioni{margin-left:auto}
  .vantaggi{grid-template-columns:repeat(2,1fr)}
  .griglia-categorie{grid-template-columns:repeat(2,1fr)}
  .griglia-specialita{grid-template-columns:repeat(2,1fr)}
  .griglia-servizi{grid-template-columns:repeat(2,1fr)}
  .footer__griglia{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  body{font-size:16.5px}
  .hero__griglia,.chi-siamo,.ingrosso__griglia,.doppia,.orari,.dove,.contatti{grid-template-columns:1fr}
  .hero__foto{aspect-ratio:4/3}
  .scheda-stato{left:auto;right:14px;bottom:-24px;min-width:0}
  .chi-siamo__media{padding-right:0;padding-bottom:0}
  .chi-siamo__foto{aspect-ratio:4/3}
  .chi-siamo__foto--piccola{display:none}
  .mappa{min-height:0;aspect-ratio:4/3}
  .barra-mobile{display:flex}
  main{padding-bottom:74px}
}
@media (max-width:640px){
  :root{--sp-sez:clamp(46px,11vw,66px)}
  .contenitore{width:min(100% - 32px, var(--contenitore))}
  .header__interno{height:70px;gap:12px}
  .marchio__claim{display:none}
  .marchio__segno{width:42px;height:42px}
  .marchio__nome{font-size:13.5px;letter-spacing:.07em}
  .header__azioni{gap:8px}
  .btn-chiama{width:46px;height:46px;padding:0;border-radius:12px}
  .btn-chiama span{display:none}
  .hero{padding-top:26px}
  .hero__cornice{display:none}
  .hero h1{font-size:clamp(30px,8.4vw,40px)}
  .hero__cta{flex-direction:column;align-items:stretch}
  .hero__cta .btn{width:100%}
  .hero__badge{gap:12px;flex-direction:column;align-items:flex-start}
  .vantaggi,.griglia-categorie,.griglia-specialita,.griglia-servizi,.statistiche,.pagamenti,.contatti{grid-template-columns:1fr}
  .footer__griglia{grid-template-columns:1fr}
  .orario{flex-direction:column;align-items:flex-start;gap:6px;padding:15px 20px}
  .orario__fasce{justify-content:flex-start}
  .selettore-logo{left:12px;bottom:82px}
  .selettore-logo__pannello{width:min(86vw,300px)}
  .scheda-stato{position:static;margin-top:16px;box-shadow:var(--ombra-2)}
  .cta-finale__azioni{flex-direction:column;align-items:stretch;width:100%}
  .ingrosso__cta{flex-direction:column;align-items:stretch}
}

/* ---------- 22. Preferenze di movimento e stampa ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .rivela{opacity:1;transform:none}
}
@media print{
  .header,.barra-mobile,.selettore-logo,.menu-mobile,.mappa{display:none !important}
  body{font-size:12pt;color:#000}
}
