/* ============================================================
   EUROAMBIENTE - foglio di stile principale
   Palette derivata dal logo: verde #186C3B (azzurro solo nel logo)
   rosso #9D2227 · grigio lettering #666 · ardesia #14232C
   ============================================================ */

:root{
  --verde:#186c3b;
  --azzurro:#186c3b;              /* ex bluino: accenti ora verdi */
  --azzurro-scuro:#14603a;       /* link: verde scuro (ex azzurro) */     /* per link/testi su fondo chiaro (contrasto AA) */
  --rosso:#9d2227;
  --rosso-scuro:#87191e;
  --ink:#1b2b33;
  --ink-2:#41525c;
  --cemento:#f3f5f4;
  --cemento-2:#e6eae9;
  --linea:#d8dedd;
  --ardesia:#14232c;
  --ardesia-2:#1d303c;
  --bianco:#ffffff;
  --focus:#0f5e31;
  --maxw:1180px;
  --raggio:10px;
  --font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  margin:0;font-family:var(--font);color:var(--ink);background:var(--bianco);
  line-height:1.6;font-size:1.0625rem;-webkit-text-size-adjust:100%;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--azzurro-scuro)}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}
.solo-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.salta-contenuto{position:absolute;left:-999px;top:0;background:var(--ardesia);color:#fff;padding:.7rem 1.2rem;z-index:100;border-radius:0 0 8px 0}
.salta-contenuto:focus{left:0}

/* ---------- tipografia ---------- */
h1,h2,h3,h4{line-height:1.15;color:var(--ink);font-weight:700;text-wrap:balance;margin:0 0 .4em}
h1{font-size:clamp(1.75rem,1.15rem + 2.2vw,2.7rem);letter-spacing:-.015em}
h2{font-size:clamp(1.35rem,1.05rem + 1.2vw,1.9rem);letter-spacing:-.01em}
h3{font-size:clamp(1.15rem,1rem + .6vw,1.4rem)}
p{margin:0 0 .8em}
.kicker{
  display:flex;align-items:center;gap:.65rem;
  text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;
  color:var(--verde);margin:0 0 .5rem;
}
.kicker::before{content:"";width:2.2rem;height:3px;background:linear-gradient(90deg,#008C45 33%,#F4F5F0 33% 66%,#CD212A 66%);border-radius:2px;flex:none}
.kicker--chiaro{color:#b9dcc8}
.intro{font-size:1.15rem;color:var(--ink-2);}

/* ---------- struttura ---------- */
.contenitore{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
.sezione{padding-block:clamp(.7rem,1.5vw,1.1rem)}
.sezione--cemento{background:var(--cemento)}
.sezione--scura{background:var(--ardesia);color:#d9e2e7}
.sezione--scura h2,.sezione--scura h3{color:#fff}
.sezione--scura .card h3,.sezione--scura .card h3 a,.sezione--scura .card p{color:var(--ink)}
.sezione--scura .card p{color:var(--ink-2)}
.sezione--scura p{color:#c3d0d7}

/* ---------- barra tricolore + header ---------- */
.tricolore{height:4px;border-bottom:1px solid #e2e7ea;background:linear-gradient(90deg,#008C45 0 33.4%,#F4F5F0 33.4% 66.7%,#CD212A 66.7% 100%)}
.testata{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--linea);backdrop-filter:saturate(1.2) blur(6px);
}
.testata__interno{display:flex;align-items:center;gap:1.2rem;min-height:64px}
.testata__logo{display:flex;align-items:center;flex:none}
.testata__logo svg{height:40px;width:auto;display:block}
.nav-principale{margin-left:auto}
.nav-principale ul{list-style:none;display:flex;gap:.2rem;margin:0;padding:0;align-items:center}
.nav-principale a{
  display:block;padding:.55rem .85rem;text-decoration:none;color:var(--ink);
  font-weight:600;font-size:.98rem;border-radius:8px;
}
.nav-principale a:hover{background:var(--cemento)}
.nav-principale a[aria-current="page"]{color:var(--verde);box-shadow:inset 0 -3px 0 var(--verde);border-radius:8px 8px 0 0}
.nav-cta{background:var(--rosso);color:#fff!important;font-weight:700;margin-left:.4rem}
.nav-cta:hover{background:var(--rosso-scuro)!important}
.apri-menu{
  display:none;margin-left:auto;background:none;border:2px solid var(--linea);
  border-radius:8px;padding:.5rem .7rem;font:inherit;font-weight:700;color:var(--ink);cursor:pointer;
}
@media (max-width: 920px){
  .apri-menu{display:inline-flex;align-items:center;gap:.5rem}
  .nav-principale{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--linea);box-shadow:0 14px 30px rgba(20,35,44,.12)}
  .nav-principale.aperto{display:block}
  .nav-principale ul{flex-direction:column;align-items:stretch;padding:.6rem}
  .nav-principale a{padding:.8rem 1rem;font-size:1.05rem}
  .nav-cta{margin-left:0;text-align:center}
}

/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;color:#fff;display:flex;align-items:flex-end;min-height:min(68vh,560px)}
.hero picture,.hero img.hero__foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(20,35,44,.28) 0%,rgba(20,35,44,.45) 55%,rgba(16,28,36,.82) 100%)}
.hero__testo{padding-block:clamp(1.6rem,4.5vw,2.8rem)}
.hero__testo h1{color:#fff;max-width:17ch}
.hero__testo p{font-size:clamp(1.05rem,1rem + .5vw,1.3rem);max-width:56ch;color:#e3edf2}
.hero .kicker{color:#b9dcc8}
.hero__azioni{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1rem}
.hero--pagina{min-height:270px}

/* ---------- bottoni ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;cursor:pointer;
  font:inherit;font-weight:700;border-radius:9px;padding:.78rem 1.5rem;border:2px solid transparent;
  transition:background .18s ease, transform .18s ease, border-color .18s;
}
.btn:hover{transform:translateY(-1px)}
.btn--pieno{background:var(--rosso);color:#fff}
.btn--pieno:hover{background:var(--rosso-scuro);color:#fff}
.btn--contorno{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}
.btn--contorno:hover{background:#fff;color:var(--ink)}
.btn--scuro{border-color:var(--ink);color:var(--ink)}
.btn--scuro:hover{background:var(--ink);color:#fff}
.btn--verde{background:var(--verde);color:#fff}
.btn--verde:hover{background:#125630;color:#fff}

/* ---------- griglie card ---------- */
.griglia{display:grid;gap:1.1rem}
.griglia--3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.griglia--2{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}
.card{
  background:#fff;border:1px solid var(--linea);border-radius:var(--raggio);overflow:hidden;
  display:flex;flex-direction:column;position:relative;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,35,44,.30);border-color:var(--verde)}
.card__foto{aspect-ratio:16/10;overflow:hidden;background:var(--cemento-2)}
.card__foto img{width:100%;height:100%;object-fit:cover}
.card__corpo{padding:.95rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.card__corpo h3{margin:0}
.card__corpo p{margin:0;color:var(--ink-2);font-size:.96rem}
.card a.card__link{text-decoration:none;color:inherit}
.card a.card__link::after{content:"";position:absolute;inset:0}
.card__freccia{margin-top:auto;padding-top:.5rem;font-weight:700;color:var(--verde);font-size:.95rem}
.card--lavoro .card__tag{
  position:absolute;top:.8rem;left:.8rem;background:rgba(20,35,44,.85);color:#fff;
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:.28rem .6rem;border-radius:99px;z-index:2;
}

/* ---------- fascia numeri ---------- */
.numeri{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.numero{border-left:4px solid var(--azzurro);padding:.4rem 0 .4rem 1.1rem}
.numero b{display:block;font-size:clamp(1.6rem,1.2rem+1.5vw,2.3rem);color:var(--ink);line-height:1.1}
.numero span{color:var(--ink-2);font-size:.92rem}
.sezione--scura .numero b{color:#fff}
.sezione--scura .numero span{color:#a9bcc6}

/* ---------- media + testo ---------- */
.media-testo{display:grid;gap:1.6rem;align-items:center}
@media(min-width:900px){.media-testo{grid-template-columns:1.05fr .95fr}.media-testo--inverti>.media-testo__foto{order:2}}
.media-testo__foto{border-radius:var(--raggio);overflow:hidden;border:1px solid var(--linea)}

/* ---------- elenco caratteristiche ---------- */
.spunte{list-style:none;margin:.8rem 0;padding:0;display:grid;gap:.45rem}
.spunte li{padding-left:1.8rem;position:relative}
.spunte li::before{
  content:"";position:absolute;left:0;top:.42em;width:1.05rem;height:.6rem;
  border-left:3px solid var(--verde);border-bottom:3px solid var(--verde);transform:rotate(-45deg);
}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0 0;padding:0;list-style:none}
.chips li{background:var(--cemento);border:1px solid var(--linea);border-radius:99px;padding:.34rem .85rem;font-size:.9rem;font-weight:600;color:var(--ink-2)}

/* ---------- tabelle tecniche ---------- */
.scorri-tabella{overflow-x:auto;border:1px solid var(--linea);border-radius:var(--raggio)}
table.tecnica{border-collapse:collapse;width:100%;font-size:.95rem;min-width:520px}
table.tecnica caption{text-align:left;padding:.9rem 1rem .3rem;font-weight:700;color:var(--ink)}
table.tecnica th{background:var(--ardesia);color:#fff;text-align:left;padding:.65rem .9rem;font-size:.85rem;letter-spacing:.03em}
table.tecnica td{padding:.6rem .9rem;border-top:1px solid var(--linea)}
table.tecnica tbody tr:nth-child(even){background:var(--cemento)}
.nota-tabella{font-size:.85rem;color:var(--ink-2);margin-top:.6rem}
/* pagine legali: respiro tra le sezioni e misura di riga leggibile */
.pagina-legale{max-width:74ch}
.pagina-legale h2{margin-top:2.1rem}
.pagina-legale h3{margin-top:1.3rem;color:var(--ink-2)}
.pagina-legale table.tecnica{min-width:640px;font-size:.9rem}
.pagina-legale .scorri-tabella{max-width:100%}

/* ---------- gallerie ---------- */
.galleria{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));padding:0;margin:.8rem 0 0;list-style:none}
.galleria a{display:block;border-radius:8px;overflow:hidden;border:1px solid var(--linea);position:relative;aspect-ratio:4/3;background:var(--cemento-2)}
.galleria img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.galleria a:hover img{transform:scale(1.04)}

/* lightbox */
.lightbox{border:none;padding:0;background:rgba(8,16,21,.55);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);max-width:100vw;max-height:100vh;width:100vw;height:100vh}
.lightbox::backdrop{background:rgba(8,16,21,.2)}
.lightbox__interno{display:flex;flex-direction:column;height:100%;color:#fff}
.lightbox__barra{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.1rem;gap:1rem}
.lightbox__conta{font-size:.9rem;color:#c6cfc9}
.lightbox__scena{flex:1;display:flex;align-items:center;justify-content:center;position:relative;min-height:0;padding:0 3.4rem}
.lightbox__scena img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px}
.lightbox__didascalia{text-align:center;padding:.7rem 1rem 1.2rem;color:#d4dee4;font-size:.95rem}
.lightbox button{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);color:#fff;cursor:pointer;
  border-radius:8px;font:inherit;font-weight:700;padding:.5rem .9rem;
}
.lightbox button:hover{background:rgba(255,255,255,.2)}
.lightbox__prec,.lightbox__succ{position:absolute;top:50%;transform:translateY(-50%);font-size:1.5rem;line-height:1;padding:.9rem 1rem}
.lightbox__prec{left:.6rem}.lightbox__succ{right:.6rem}

/* ---------- breadcrumb ---------- */
.briciole{font-size:.88rem;margin:.4rem 0 0}
.briciole ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0}
.briciole li+li::before{content:"›";margin-right:.35rem;color:var(--ink-2)}
.briciole a{color:var(--ink-2);text-decoration:none}
.briciole a:hover{text-decoration:underline}
.briciole [aria-current]{color:var(--ink);font-weight:600}

/* ---------- box documenti / download ---------- */
.doc-card{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--linea);border-radius:var(--raggio);padding:1rem 1.1rem}
.doc-card__icona{flex:none;width:46px;height:56px;border-radius:6px;background:var(--rosso);color:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:800;letter-spacing:.05em}
.doc-card h3{margin:0 0 .2rem;font-size:1.05rem}
.doc-card p{margin:0 0 .5rem;font-size:.9rem;color:var(--ink-2)}
.doc-card a{font-weight:700}

/* ---------- form ---------- */
.modulo{display:grid;gap:.9rem;max-width:760px}
.modulo .riga{display:grid;gap:.9rem;grid-template-columns:1fr 1fr}
@media(max-width:640px){.modulo .riga{grid-template-columns:1fr}}
.campo label{display:block;font-weight:700;font-size:.95rem;margin-bottom:.35rem}
.campo .facolt{font-weight:400;color:var(--ink-2)}
.campo input,.campo select,.campo textarea{
  width:100%;font:inherit;color:var(--ink);background:#fff;
  border:2px solid var(--linea);border-radius:8px;padding:.7rem .85rem;
}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--azzurro-scuro);outline:3px solid rgba(24,108,59,.3);outline-offset:0}
.campo .errore-campo{display:none;color:var(--rosso);font-size:.88rem;font-weight:600;margin-top:.3rem}
.campo.non-valido input,.campo.non-valido select,.campo.non-valido textarea{border-color:var(--rosso)}
.campo.non-valido .errore-campo{display:block}
.consenso{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem}
.consenso input{width:1.25rem;height:1.25rem;margin-top:.2rem;flex:none}
.avviso{border-radius:var(--raggio);padding:1rem 1.2rem;font-weight:600;display:none}
.avviso.visibile{display:block}
.avviso--ok{background:#e2f2e7;border:1px solid #a7d4b5;color:#155a30}
.avviso--errore{background:#fbe9ea;border:1px solid #eab6b9;color:#87191e}
.honey{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}

/* ---------- footer ---------- */
.pie{background:var(--ardesia);color:#b7c6cf;margin-top:0}
.pie a{color:#dbe6ec}
.pie__griglia{display:grid;gap:2rem;grid-template-columns:2fr 1fr 1fr 1.2fr;padding-block:2rem}
@media(max-width:880px){.pie__griglia{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pie__griglia{grid-template-columns:1fr}}
.pie h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:#8fa4b0;margin-bottom:.9rem}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.pie__logo svg{height:46px;width:auto;margin-bottom:.8rem}
.pie__legale{border-top:1px solid #2a3d49;padding-block:.8rem;font-size:.85rem;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;justify-content:space-between}
.pie__legale p{margin:0}
.pie__firma{color:#8fa4b0}
.pie__firma a{color:#b7c6cf}
.pie__badge{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.badge-iub{display:inline-flex;align-items:center;padding:.42rem .8rem;border:1px solid #35505f;border-radius:6px;background:#1d303c;color:#dbe6ec;font-size:.78rem;line-height:1.15;text-decoration:none;white-space:nowrap;transition:background .2s ease,border-color .2s ease,color .2s ease}
.badge-iub:hover,.badge-iub:focus-visible{background:#26404f;border-color:#6d8f9f;color:#fff;text-decoration:none}
.badge-iub:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:560px){.pie__badge{justify-content:flex-start}}

/* ---------- animazioni sobrie ---------- */
.js .rivela{opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}
.js .rivela.visto{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.js .rivela{opacity:1;transform:none}}

/* ---------- filtri lavori ---------- */
.filtri{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0}
.filtri button{
  font:inherit;font-weight:600;font-size:.92rem;cursor:pointer;border-radius:99px;
  border:2px solid var(--linea);background:#fff;color:var(--ink-2);padding:.42rem 1rem;
}
.filtri button[aria-pressed="true"]{background:var(--ardesia);border-color:var(--ardesia);color:#fff}

/* ---------- varie ---------- */
.fascia-cta{background:linear-gradient(135deg,var(--ardesia) 0%,var(--ardesia-2) 100%);color:#fff;border-radius:14px;padding:clamp(1.2rem,3vw,2rem);display:grid;gap:1.2rem;grid-template-columns:1fr auto;align-items:center}
@media(max-width:760px){.fascia-cta{grid-template-columns:1fr}}
.fascia-cta h2{color:#fff;margin:0}
.fascia-cta p{margin:0;color:#c3d0d7}
.onda-divisoria{display:block;width:100%;height:26px;color:var(--azzurro)}
.nota-da-confermare{background:#fff8e6;border:1px dashed #d9c26a;border-radius:8px;padding:.8rem 1rem;font-size:.9rem;color:#6b5b13}
.pagina-404{text-align:center;padding-block:3rem}
details.capitolato{border:1px solid var(--linea);border-radius:var(--raggio);padding:1rem 1.2rem;margin:1rem 0;background:var(--cemento)}
details.capitolato summary{font-weight:700;cursor:pointer}
details.capitolato p{margin-top:.8rem;font-size:.92rem;color:var(--ink-2)}
.etichetta-pdf{display:inline-flex;align-items:center;gap:.45rem;font-weight:700}

@media print{
  .testata,.pie,.hero__azioni,.filtri,.btn,.apri-menu{display:none!important}
  .hero{min-height:auto;color:#000}
  .hero::after{display:none}
}


/* ---------- widget accessibilità (stile fayron, migliorato) ---------- */
.acc-btn{
  position:fixed;left:18px;bottom:18px;z-index:80;
  width:52px;height:52px;border-radius:50%;border:2px solid #fff;
  background:var(--ardesia);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(20,35,44,.35);
}
.acc-btn:hover{background:var(--ardesia-2)}
.acc-btn svg{width:30px;height:30px;fill:currentColor}
.acc-panel{
  position:fixed;left:18px;bottom:80px;z-index:81;width:min(320px,calc(100vw - 36px));
  background:#fff;border:1px solid var(--linea);border-radius:12px;
  box-shadow:0 18px 44px rgba(20,35,44,.28);padding:1rem 1.1rem;
}
.acc-panel[hidden]{display:none}
.acc-panel h2{font-size:1rem;margin:0 0 .7rem}
.acc-panel .acc-opzioni{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}
.acc-panel .acc-opzione{
  display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;
  font:inherit;font-size:.95rem;font-weight:600;color:var(--ink);cursor:pointer;
  background:var(--cemento);border:2px solid var(--linea);border-radius:9px;padding:.6rem .8rem;text-align:left;
}
.acc-panel .acc-opzione .stato{font-size:.78rem;font-weight:700;color:var(--ink-2);border:1px solid var(--linea);border-radius:99px;padding:.1rem .55rem;background:#fff}
.acc-panel .acc-opzione[aria-pressed="true"]{border-color:var(--verde);background:#e9f4ed}
.acc-panel .acc-opzione[aria-pressed="true"] .stato{background:var(--verde);color:#fff;border-color:var(--verde)}
.acc-panel .acc-azzera{margin-top:.8rem;width:100%;font:inherit;font-weight:700;cursor:pointer;background:none;border:2px solid var(--ink);border-radius:9px;padding:.55rem;color:var(--ink)}
.acc-panel .acc-azzera:hover{background:var(--ink);color:#fff}

/* riga "Dimensione testo" con pulsanti A− / A+ */
.acc-panel .acc-dimensione{
  display:flex;align-items:center;justify-content:space-between;gap:.8rem;
  margin:0 0 .6rem;font-size:.95rem;font-weight:600;color:var(--ink-2);
}
.acc-panel .acc-dim-gruppo{display:flex;align-items:center;gap:.4rem}
.acc-panel .acc-dim{
  min-width:44px;min-height:40px;font:inherit;font-weight:800;cursor:pointer;color:var(--ink);
  background:#fff;border:2px solid var(--linea);border-radius:9px;padding:.3rem .5rem;
}
.acc-panel .acc-dim:hover:not([disabled]){border-color:var(--verde);background:#e9f4ed}
.acc-panel .acc-dim[disabled]{opacity:.4;cursor:not-allowed}
.acc-panel .acc-dim-valore{font-size:.78rem;font-weight:700;color:var(--ink-2);min-width:2.9em;text-align:center}

/* modalità: sottolinea i link */
html.acc-sottolinea a{text-decoration:underline!important;text-underline-offset:2px}

/* modalità: dimensione del testo (A− / A+); tutte le misure del sito sono in rem */
html.acc-testo-90{font-size:90%}
html.acc-testo-110{font-size:110%}
html.acc-testo-120{font-size:120%}
html.acc-testo-130{font-size:130%}

/* modalità: alto contrasto */
html.acc-contrasto{
  --ink:#000;--ink-2:#000;--cemento:#fff;--cemento-2:#fff;--linea:#000;
  --azzurro-scuro:#003d1a;--verde:#004d20;--rosso:#8a0007;--ardesia:#000;--ardesia-2:#000;
}
html.acc-contrasto body{background:#fff;color:#000}
html.acc-contrasto .card,html.acc-contrasto .doc-card{border-color:#000}
html.acc-contrasto .hero::after{background:rgba(0,0,0,.78)}
html.acc-contrasto .sezione--scura{background:#000}
html.acc-contrasto .sezione--scura p,html.acc-contrasto .sezione--scura h2,html.acc-contrasto .sezione--scura h3{color:#fff}
html.acc-contrasto .pie{background:#000;color:#fff}
html.acc-contrasto .pie a,html.acc-contrasto .pie h2,html.acc-contrasto .pie li{color:#fff}
html.acc-contrasto .kicker{color:#004d20}
html.acc-contrasto .kicker--chiaro{color:#fff}
html.acc-contrasto .btn--pieno{background:#000;color:#fff;border-color:#fff}
html.acc-contrasto .btn--contorno{border-color:#fff;color:#fff;background:#000}
html.acc-contrasto .fascia-cta{background:#000}
html.acc-contrasto .testata{background:#fff}
html.acc-contrasto table.tecnica th{background:#000}
html.acc-contrasto .numero{border-left-color:#000}
html.acc-contrasto .hero__testo p,html.acc-contrasto .hero .kicker{color:#fff}

/* v2.1: hero ancorata in basso (pagina Azienda) e didascalie galleria fasi */
.hero--dal-basso .hero__foto{object-position:center 75%}
.galleria figure{margin:0;height:100%;display:flex;flex-direction:column}
.galleria figcaption{font-size:.85rem;color:var(--ink-2);padding:.45rem .1rem 0;line-height:1.4}

/* titoli di sezione dentro le gallerie lunghe */
.galleria-sezione{margin:1.5rem 0 .3rem}

/* fix filtri lavori: hidden deve vincere su .card{display:flex} */
[hidden]{display:none!important}

/* logo come file esterno */
.testata__logo img{height:40px;width:auto;display:block}
.pie__logo img{height:46px;width:auto;margin-bottom:.8rem;display:block}

/* sezione guida nelle pagine prodotto: due colonne su schermi larghi */
.testo-guida{margin-top:.8rem}
.testo-guida h3{margin:0 0 .4rem}
.guida-blocco{break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:1.1rem}
@media (min-width:960px){.testo-guida{columns:2;column-gap:3.5rem}}

/* evidenza campi obbligatori del modulo */
.obb{color:#a02f24;font-weight:700}
.campo[data-obbligatorio] input:not([type=checkbox]),.campo[data-obbligatorio] textarea{border-left:3px solid #a02f24}
.consenso input[type=checkbox]{accent-color:#a02f24;width:1.15rem;height:1.15rem;flex:none}
.campo[data-obbligatorio]>label{font-weight:700}

/* testi introduttivi a tutta larghezza (richiesta Cezar) */
.intro{max-width:none}

/* larghezza stabile: riserva sempre lo spazio della barra di scorrimento,
   cosi le pagine corte (es. Contatti) non si spostano a destra */
html{scrollbar-gutter:stable}
@supports not (scrollbar-gutter: stable){html{overflow-y:scroll}}
