/* AB&S Avvito - anteprima del sito ridotto */
/* caratteri serviti dal sito (05/11: niente Google Fonts, Google non riceve l'IP dei visitatori) */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(caratteri/barlow-condensed-latin-ext-e0ffcf.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(caratteri/barlow-condensed-latin-5048d7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(caratteri/barlow-condensed-latin-ext-a1e409.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(caratteri/barlow-condensed-latin-e76167.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(caratteri/barlow-condensed-latin-ext-b2c0bb.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(caratteri/barlow-condensed-latin-00a5e4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(caratteri/inter-latin-ext-b6db4a.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(caratteri/inter-latin-6ab57b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(caratteri/inter-latin-ext-b6db4a.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(caratteri/inter-latin-6ab57b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(caratteri/inter-latin-ext-b6db4a.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(caratteri/inter-latin-6ab57b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(caratteri/inter-latin-ext-b6db4a.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(caratteri/inter-latin-6ab57b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --nero:#0b1620; --notte:#0f2232; --acciaio:#173246; --grigio:#8a9aa8; --chiaro:#f2f4f6;
  --linea:#dde3e8; --testo:#16212b; --blu:#457faa; --blu-2:#5b97c4; --azzurro:#84d8fc; --rosso:#f25335; --bianco:#fff;
  --max:1200px; --titoli:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--testo);background:var(--bianco);line-height:1.6;font-size:17px;overflow-x:hidden}
a{color:inherit}
img,svg{max-width:100%}
.contenitore{max-width:var(--max);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--titoli);text-transform:uppercase;letter-spacing:.5px;line-height:1.02;margin:0}
h2{font-size:clamp(34px,4.6vw,58px);color:var(--nero);margin-bottom:18px}
h2 em{font-style:normal;color:var(--blu)}
h3{font-size:26px;color:var(--nero);margin-bottom:8px}
.occhiello{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--blu);margin-bottom:16px}
.occhiello::before{content:"";width:34px;height:3px;background:var(--blu)}
.intro{max-width:860px;font-size:19px;color:#34424f}

/* avviso anteprima */
.avviso-anteprima{background:var(--blu);color:#fff;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-align:center;padding:5px 16px}

/* testata */
header.testata{position:sticky;top:0;z-index:20;background:rgba(10,15,20,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
.testata .contenitore{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px}
.marchio{text-decoration:none;color:#fff;font-family:var(--titoli);font-weight:800;font-size:28px;letter-spacing:1px;line-height:1}
.marchio{display:flex;align-items:center;gap:12px}
.marchio img{height:50px;width:auto;display:block}
.marchio-testo>span{color:var(--azzurro)}
.marchio small{display:block;font-family:"Inter",sans-serif;font-weight:500;font-size:11px;letter-spacing:2px;color:var(--grigio);margin-top:3px;text-transform:uppercase}
nav.menu ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;flex-wrap:wrap;align-items:center}
nav.menu a{position:relative;display:block;padding:10px 12px;text-decoration:none;color:#dfe6ec;font-weight:600;font-size:14px;letter-spacing:.3px}
nav.menu a::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--blu);transform:scaleX(0);transform-origin:left;transition:transform .25s}
nav.menu a:hover::after,nav.menu a[aria-current=page]::after{transform:scaleX(1)}
nav.menu a[aria-current=page]{color:#fff}
nav.menu a.preventivo{background:var(--blu);color:#fff;border-radius:3px;margin-left:8px;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);padding:10px 20px}
nav.menu a.preventivo::after{display:none}
nav.menu a.preventivo:hover{background:var(--blu-2)}
.lingua{font-size:12px;color:var(--grigio);text-decoration:none;border:1px solid #2c3a47;padding:4px 8px;border-radius:3px}

/* bottoni */
.bottoni{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;font-weight:700;text-decoration:none;font-size:15px;letter-spacing:1px;text-transform:uppercase;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);transition:transform .2s,background .2s}
.btn:hover{transform:translateX(4px)}
.btn-pieno{background:var(--blu);color:#fff}
.btn-pieno:hover{background:var(--blu-2)}
.btn-vuoto{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.btn-scuro{background:var(--nero);color:#fff}
.freccia{transition:transform .2s}
.btn:hover .freccia{transform:translateX(4px)}

/* apertura della home */
.apertura{position:relative;background:var(--nero);color:#fff;padding:96px 0 150px;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 88%,0 100%)}
.apertura::before{content:"";position:absolute;inset:-50%;background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 2px,transparent 2px 26px);animation:filetto 18s linear infinite}
.apertura::after{content:"";position:absolute;right:-12%;top:-30%;width:70%;height:160%;background:radial-gradient(closest-side,rgba(69,127,170,.5),transparent 70%);animation:respiro 7s ease-in-out infinite}
@keyframes filetto{to{transform:translateX(260px)}}
@keyframes respiro{50%{opacity:.55;transform:scale(1.08)}}
.apertura .contenitore{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
.apertura h1{font-size:clamp(46px,7.2vw,98px);line-height:.92;margin-bottom:22px}
.apertura h1 .rosso{color:var(--blu)}
.parola-che-gira{display:block;height:1em;overflow:hidden;color:var(--blu)}
.apertura h1{margin-bottom:0}
.titolo-gira{font-family:var(--titoli);font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:clamp(46px,7.2vw,98px);line-height:.92;height:.92em;margin-bottom:26px}
.parola-che-gira span{display:block;white-space:nowrap;animation:gira 20s cubic-bezier(.7,0,.3,1) infinite}
@keyframes gira{0%,16%{transform:translateY(0)}20%,36%{transform:translateY(-16.6667%)}40%,56%{transform:translateY(-33.3333%)}60%,76%{transform:translateY(-50%)}80%,96%{transform:translateY(-66.6667%)}100%{transform:translateY(-83.3333%)}}
.apertura p.sotto{font-size:19px;color:#b9c6d2;margin:0 0 32px;max-width:620px}
.apertura p.sotto strong{color:#fff}

/* il bullone che gira */
.bullone{justify-self:center;width:min(360px,100%);aspect-ratio:1;position:relative}
.bullone svg{width:100%;height:100%;animation:rotazione 26s linear infinite;filter:drop-shadow(0 30px 60px rgba(132,216,252,.25))}
@keyframes rotazione{to{transform:rotate(360deg)}}
/* dado e anello di scritte girano insieme, il logo resta fermo e dritto (05/11, Luca) */
.bullone svg{animation:none}
.bullone .anello{animation:rotazione 26s linear infinite;transform-origin:200px 200px;transform-box:view-box}

/* fascia che scorre */
.nastro{background:var(--blu);color:#fff;overflow:hidden;transform:rotate(-2deg);margin:-48px -20px 0;position:relative;z-index:2;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.nastro .scorre-via{display:flex;width:max-content;animation:nastro 38s linear infinite}
.nastro ul{display:flex;list-style:none;margin:0;padding:16px 0}
.nastro li{font-family:var(--titoli);font-weight:700;font-size:26px;text-transform:uppercase;letter-spacing:1px;padding:0 22px;white-space:nowrap}
.nastro li::after{content:"✦";margin-left:44px;opacity:.6;font-size:16px;vertical-align:middle}
@keyframes nastro{to{transform:translateX(-50%)}}

/* numeri */
.numeri{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:70px;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.numero{padding:30px 24px;border-right:1px solid var(--linea)}
.numero:last-child{border-right:0}
.numero b{display:block;font-family:var(--titoli);font-size:clamp(46px,5vw,72px);line-height:1;color:var(--nero)}
.numero b .piu{color:var(--blu)}
.numero>span{font-size:14px;color:#55636f;text-transform:uppercase;letter-spacing:1px;font-weight:600}

section.blocco{padding:96px 0}
section.blocco.grigio{background:var(--chiaro)}
section.blocco.scuro{background:var(--notte);color:#cdd7e0}
section.blocco.scuro h2,section.blocco.scuro h3{color:#fff}
section.blocco.scuro .intro{color:#b9c6d2}

/* prodotti a pannelli */
.pannelli{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:40px;background:var(--linea)}
.pannello{position:relative;background:#fff;padding:40px 32px 34px;text-decoration:none;color:inherit;overflow:hidden;transition:background .3s,color .3s}
.pannello .num{font-family:var(--titoli);font-size:64px;font-weight:800;color:transparent;-webkit-text-stroke:1.5px #c8d1d9;line-height:1;transition:-webkit-text-stroke-color .3s}
.pannello p{color:#4a5763;margin:10px 0 22px;transition:color .3s}
.pannello .vai{font-weight:700;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:var(--blu)}
.pannello::before{content:"";position:absolute;inset:0;background:var(--nero);transform:translateY(101%);transition:transform .45s cubic-bezier(.7,0,.2,1);z-index:0}
.pannello>*{position:relative;z-index:1}
.pannello:hover::before{transform:translateY(0)}
.pannello:hover h3{color:#fff}
.pannello:hover p{color:#b9c6d2}
.pannello:hover .num{-webkit-text-stroke-color:var(--blu)}

/* fascia certificazioni */
.fascia-cert{position:relative;background:var(--blu);color:#fff;padding:70px 0;overflow:hidden}
.fascia-cert .anno-grande{position:absolute;right:-20px;top:50%;transform:translateY(-50%);font-family:var(--titoli);font-weight:800;font-size:clamp(160px,24vw,340px);line-height:.8;color:rgba(255,255,255,.14);pointer-events:none}
.fascia-cert .contenitore{position:relative}
.fascia-cert h2{color:#fff}
.fascia-cert p{margin:0;max-width:720px;font-size:19px;color:#e6f1f9}

/* settori */
.settori{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
.settore{position:relative;background:var(--acciaio);border:1px solid #2a3a48;padding:24px 22px;transition:transform .25s,border-color .25s}
.settore:hover{transform:translateY(-6px);border-color:var(--blu)}
.settore b{display:block;font-family:var(--titoli);font-size:22px;text-transform:uppercase;color:#fff;margin-bottom:6px;letter-spacing:.5px}
.settore span{font-size:15px;color:#9fb0bf}
.settore::before{content:"";position:absolute;left:0;top:0;width:0;height:3px;background:var(--blu);transition:width .35s}
.settore:hover::before{width:100%}

/* pagine interne */
.testa-pagina{position:relative;background:var(--nero);color:#fff;padding:80px 0 90px;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 82%,0 100%)}
.testa-pagina::before{content:"";position:absolute;inset:-50%;background:repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 2px,transparent 2px 26px);animation:filetto 18s linear infinite}
.testa-pagina .contenitore{position:relative}
.testa-pagina h1{font-size:clamp(40px,6vw,76px);margin-bottom:16px}
.testa-pagina h1 em{font-style:normal;color:var(--blu)}
.testa-pagina p{margin:0;max-width:820px;font-size:19px;color:#b9c6d2}
.briciole{font-size:13px;color:var(--grigio);margin-bottom:16px;letter-spacing:1px;text-transform:uppercase}
.briciole a{color:var(--grigio);text-decoration:none}

.griglia-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
.griglia-2{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-top:34px}
.scheda{background:#fff;border:1px solid var(--linea);padding:28px;border-top:3px solid var(--blu);transition:transform .25s,box-shadow .25s}
.scheda:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(10,15,20,.08)}
.scheda p{margin:0 0 12px;color:#3b4a58}
.etichette{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none}
.etichette li{background:var(--chiaro);border:1px solid var(--linea);padding:4px 12px;font-size:14px;color:var(--acciaio);font-weight:600}

table.tabella{width:100%;border-collapse:collapse;margin-top:18px;font-size:15px;background:#fff}
.tabella th,.tabella td{border:1px solid var(--linea);padding:11px 14px;text-align:left;vertical-align:top}
.tabella th{background:var(--nero);color:#fff;font-weight:600;font-size:13px;letter-spacing:1px;text-transform:uppercase}
.tabella tr:nth-child(even) td{background:#f7f9fa}
.tabella tr:hover td{background:#e6f1f9}
.scorre{overflow-x:auto}

.elenco-spunte{list-style:none;padding:0;margin:16px 0 0}
.elenco-spunte li{padding-left:30px;position:relative;margin-bottom:10px}
.elenco-spunte li::before{content:"";position:absolute;left:4px;top:9px;width:12px;height:7px;border-left:3px solid var(--blu);border-bottom:3px solid var(--blu);transform:rotate(-45deg)}

.domande details{border-bottom:1px solid #2a3a48}
.domande summary{cursor:pointer;padding:20px 40px 20px 0;font-weight:700;color:#fff;list-style:none;position:relative;font-size:18px}
.domande summary::-webkit-details-marker{display:none}
.domande summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:30px;color:var(--blu);transition:transform .25s}
.domande details[open] summary::after{transform:rotate(45deg)}
.domande details p{margin:0;padding:0 0 20px;color:#b9c6d2}
.domande a{color:var(--blu-2)}
.blocco:not(.scuro) .domande details{border-color:var(--linea)}
.blocco:not(.scuro) .domande summary{color:var(--nero)}
.blocco:not(.scuro) .domande details p{color:#3b4a58}

.chiamata{position:relative;background:var(--nero);color:#fff;padding:80px 0;overflow:hidden}
.chiamata::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,var(--blu) 0 46%,transparent 46%);opacity:.95;clip-path:polygon(0 0,52% 0,46% 100%,0 100%)}
.chiamata .contenitore{position:relative;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.chiamata h2{color:#fff;margin:0;max-width:560px}

.modulo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.modulo label{font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;display:block;margin-bottom:6px}
.modulo input,.modulo textarea,.modulo select{width:100%;padding:13px 14px;border:1px solid var(--linea);border-radius:0;font:inherit;font-size:15px;background:#fff}
.modulo input:focus,.modulo textarea:focus,.modulo select:focus{outline:2px solid var(--blu);outline-offset:-1px}
.modulo .intera{grid-column:1/-1}

footer.piede{background:var(--nero);color:#8a9aa8;padding:60px 0 26px;font-size:15px;border-top:4px solid var(--blu)}
.piede .contenitore{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
.piede h4{color:#fff;margin:0 0 12px;font-family:var(--titoli);font-size:20px;text-transform:uppercase;letter-spacing:1px}
.piede a{color:#dfe6ec;text-decoration:none}
.piede a:hover{color:var(--blu)}
.piede ul{list-style:none;padding:0;margin:0}
.piede li{margin-bottom:7px}
.piede .legale{grid-column:1/-1;border-top:1px solid #1f2c38;padding-top:18px;font-size:13px;color:#66778a}

/* entrata mentre si scorre (solo se il JS gira) */
.js .entra{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .entra.dentro{opacity:1;transform:none}
.js .entra.ritardo-1{transition-delay:.1s}.js .entra.ritardo-2{transition-delay:.2s}.js .entra.ritardo-3{transition-delay:.3s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .entra{opacity:1;transform:none}
}
@media (max-width:1020px){
  .apertura .contenitore,.griglia-2{grid-template-columns:1fr}
  .bullone{width:220px;justify-self:start}
  .pannelli,.griglia-3{grid-template-columns:1fr 1fr}
  .settori,.numeri{grid-template-columns:1fr 1fr}
  .numero:nth-child(2){border-right:0}
  .numero:nth-child(-n+2){border-bottom:1px solid var(--linea)}
  .piede .contenitore{grid-template-columns:1fr}
  .testata .contenitore{flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
  .chiamata::before{clip-path:none;opacity:1;background:var(--blu)}
}
@media (max-width:640px){
  body{font-size:16px}
  header.testata{position:static}
  .contenitore{padding:0 16px}
  .apertura{padding:60px 0 110px}
  .bullone{display:none}
  .pannelli,.griglia-3,.settori,.modulo{grid-template-columns:1fr}
  section.blocco{padding:64px 0}
  nav.menu a{padding:7px 8px;font-size:13px}
  .nastro li{font-size:20px}
}

/* colori del logo: sui fondi scuri l'azzurro, il rosso del dado solo nei dettagli */
.apertura .occhiello,.testa-pagina .occhiello,.scuro .occhiello{color:var(--azzurro)}
.apertura .occhiello::before,.scuro .occhiello::before{background:var(--azzurro)}
.titolo-gira,.testa-pagina h1 em,.scuro h2 em{color:var(--azzurro)}
nav.menu a::after{background:var(--azzurro)}
.btn-pieno{background:var(--blu)}
.btn-pieno:hover{background:var(--blu-2)}
.numero b .piu{color:var(--rosso)}
.nastro li::after{content:"⬢";color:var(--rosso);opacity:1}
.scuro .domande summary::after{color:var(--azzurro)}
.settore:hover{border-color:var(--azzurro)}
.settore::before{background:var(--azzurro)}
.pannello:hover .num{-webkit-text-stroke-color:var(--azzurro)}
.pannello:hover .vai{color:var(--azzurro)}
.avviso-anteprima{background:var(--rosso)}
footer.piede{border-top-color:var(--blu)}

/* barra logo e menu più grande (27/10) */
.testata .contenitore{min-height:96px;max-width:1360px}
.marchio{font-size:34px;gap:14px;flex-shrink:0}
.marchio-testo{white-space:nowrap}
.marchio img{height:74px}
.marchio small{font-size:11.5px;letter-spacing:2.5px;margin-top:5px}
nav.menu ul{flex-wrap:nowrap}
nav.menu a{font-size:16px;padding:12px 11px;white-space:nowrap}
nav.menu a::after{left:11px;right:11px;bottom:5px}
nav.menu a.preventivo{padding:13px 24px;font-size:16px}
.lingua{font-size:13px;padding:6px 10px;flex-shrink:0}
@media (max-width:1300px){nav.menu a{font-size:15px;padding:10px 8px}nav.menu a::after{left:8px;right:8px}.marchio img{height:64px}.marchio{font-size:30px}.marchio small{font-size:10.5px;letter-spacing:1.8px}}
@media (max-width:1200px){.marchio-testo{display:none}}
@media (max-width:1000px){nav.menu ul{flex-wrap:wrap}.marchio-testo{display:block}}
@media (max-width:640px){.testata .contenitore{min-height:80px}.marchio img{height:58px}.marchio{font-size:30px}nav.menu a{font-size:14px;padding:8px 9px}nav.menu a.preventivo{padding:9px 16px;font-size:14px}}

/* ===== tema chiaro (27/10): niente fondi neri, il blu del logo per gli accenti ===== */
:root{--inchiostro:#12293b;--testo-2:#3e5568;--azzurrino:#eef5fa;--bordo-az:#d6e3ee;--blu-scuro:#2c5d82}
header.testata{background:rgba(255,255,255,.96);border-bottom:1px solid var(--bordo-az);box-shadow:0 2px 14px rgba(18,41,59,.06)}
.marchio{color:var(--inchiostro)}
.marchio-testo>span{color:var(--blu)}
.marchio small{color:#6b7f90}
nav.menu a{color:#1d3346}
nav.menu a[aria-current=page]{color:var(--blu)}
nav.menu a::after{background:var(--blu)}
nav.menu a.preventivo{color:#fff}
.lingua{color:#6b7f90;border-color:var(--bordo-az)}

.apertura,.testa-pagina{background:linear-gradient(160deg,#f6fafd 0%,#e4f0f9 100%);color:var(--inchiostro)}
.apertura::before,.testa-pagina::before{background:repeating-linear-gradient(115deg,rgba(69,127,170,.07) 0 2px,transparent 2px 26px)}
.apertura::after{background:radial-gradient(closest-side,rgba(132,216,252,.55),transparent 70%)}
.apertura h1,.testa-pagina h1{color:var(--inchiostro)}
.titolo-gira,.testa-pagina h1 em{color:var(--blu)}
.apertura .occhiello,.testa-pagina .occhiello{color:var(--blu)}
.apertura .occhiello::before{background:var(--blu)}
.apertura p.sotto,.testa-pagina p{color:var(--testo-2)}
.apertura p.sotto strong{color:var(--inchiostro)}
.briciole,.briciole a{color:#6b7f90}
.btn-vuoto{background:#fff;color:var(--inchiostro);box-shadow:inset 0 0 0 2px var(--blu)}
.bullone svg{filter:drop-shadow(0 26px 50px rgba(69,127,170,.30))}

section.blocco.scuro{background:var(--azzurrino);color:var(--testo-2)}
section.blocco.scuro h2,section.blocco.scuro h3{color:var(--inchiostro)}
section.blocco.scuro .intro{color:var(--testo-2)}
section.blocco.scuro .intro strong{color:var(--inchiostro)}
.scuro h2 em{color:var(--blu)}
.scuro .occhiello{color:var(--blu)}
.scuro .occhiello::before{background:var(--blu)}
.settore{background:#fff;border:1px solid var(--bordo-az);box-shadow:0 6px 18px rgba(18,41,59,.04)}
.settore b{color:var(--inchiostro)}
.settore span{color:#4d6273}
.settore:hover{border-color:var(--blu)}
.settore::before{background:var(--blu)}
.scuro .domande details{border-color:var(--bordo-az)}
.scuro .domande summary{color:var(--inchiostro)}
.scuro .domande details p{color:var(--testo-2)}
.scuro .domande summary::after{color:var(--blu)}

.pannello::before{background:var(--blu)}
.pannello:hover h3,.pannello:hover .vai{color:#fff}
.pannello:hover p{color:#e6f1f9}
.pannello:hover .num{-webkit-text-stroke-color:#fff}

.tabella th{background:var(--blu)}
.btn-scuro{background:var(--blu-scuro);color:#fff}

.chiamata{background:var(--blu-scuro)}
.chiamata::before{background:var(--blu);opacity:1}

footer.piede{background:#1f4562;color:#c4d6e4;border-top-color:var(--azzurro)}
.piede a{color:#fff}
.piede a:hover{color:var(--azzurro)}
.piede .legale{border-top-color:#35607f;color:#a9c0d2}

/* ===== via di mezzo (27/10): aperture in blu medio del logo, il resto chiaro ===== */
.apertura,.testa-pagina{background:linear-gradient(135deg,#24557a 0%,#3a74a0 55%,#5b97c4 100%);color:#fff}
.apertura::before,.testa-pagina::before{background:repeating-linear-gradient(115deg,rgba(255,255,255,.06) 0 2px,transparent 2px 26px)}
.apertura::after{background:radial-gradient(closest-side,rgba(132,216,252,.40),transparent 70%)}
.apertura h1,.testa-pagina h1{color:#fff}
.titolo-gira,.testa-pagina h1 em{color:var(--azzurro)}
.apertura .occhiello,.testa-pagina .occhiello{color:var(--azzurro)}
.apertura .occhiello::before{background:var(--azzurro)}
.apertura p.sotto,.testa-pagina p{color:#dcebf6}
.apertura p.sotto strong{color:#fff}
.briciole,.briciole a{color:#cfe2f1}
.apertura .btn-pieno{background:#fff;color:var(--blu-scuro)}
.apertura .btn-pieno:hover{background:var(--azzurro);color:var(--inchiostro)}
.btn-vuoto{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
.bullone svg{filter:drop-shadow(0 26px 50px rgba(10,30,50,.35))}
.nastro{background:var(--blu-scuro)}

/* ===== foto (27/10): le foto di AB&S prese dal sito attuale ===== */
.pannello .immagine{display:block;width:calc(100% + 64px);max-width:none;height:210px;object-fit:cover;margin:-40px -32px 22px;transition:transform .5s}
.pannello{padding-top:40px}
.pannello:hover .immagine{transform:scale(1.04)}
.galleria{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:34px 0 0;padding:0}
.galleria.quattro{grid-template-columns:repeat(4,1fr)}
.galleria figure{margin:0;background:#fff;border:1px solid var(--bordo-az);overflow:hidden}
.galleria img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s}
.galleria figure:hover img{transform:scale(1.05)}
.galleria figcaption{padding:10px 14px;font-size:14px;color:var(--testo-2);border-top:3px solid var(--blu)}
.coppia-foto{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.coppia-foto img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border:1px solid var(--bordo-az)}
@media (max-width:1020px){.galleria.quattro{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.galleria{grid-template-columns:1fr 1fr;gap:10px}.galleria figcaption{font-size:13px;padding:8px 10px}}
.galleria img,.coppia-foto img{height:auto}

/* ===== demo 16 pagine (02/11): menu a tendina, telefono, indice di pagina ===== */
nav.menu li{position:relative}
nav.menu .tendina>a::before{content:"";position:absolute;right:-1px;top:50%;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);opacity:.55}
nav.menu .tendina>a{padding-right:20px}
nav.menu ul.sotto{display:none;position:absolute;top:100%;left:0;min-width:270px;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid var(--bordo-az);border-top:3px solid var(--blu);box-shadow:0 14px 34px rgba(18,41,59,.14);padding:8px 0;z-index:30}
nav.menu li:hover>ul.sotto,nav.menu li:focus-within>ul.sotto{display:flex}
nav.menu ul.sotto a{font-size:15px;padding:10px 18px;white-space:nowrap}
nav.menu ul.sotto a::after{display:none}
nav.menu ul.sotto a:hover,nav.menu ul.sotto a[aria-current=page]{background:var(--azzurrino);color:var(--blu)}
nav.menu .tendina.dentro>a{color:var(--blu)}
nav.menu .tendina.dentro>a::after{transform:scaleX(1)}
.apri-menu{display:none;background:var(--blu);color:#fff;border:0;border-radius:3px;font:700 15px/1 inherit;padding:12px 16px;cursor:pointer;letter-spacing:.5px}
.apri-menu span{display:inline-block;width:18px;height:2px;background:#fff;box-shadow:0 -6px 0 #fff,0 6px 0 #fff;vertical-align:middle;margin-right:10px}
@media (max-width:1100px){
  .apri-menu{display:inline-block;margin-left:auto}
  .testata .contenitore{flex-wrap:wrap}
  nav.menu{display:none;width:100%;order:5;border-top:1px solid var(--bordo-az);padding:8px 0 14px}
  .menu-aperto nav.menu{display:block}
  nav.menu ul{flex-direction:column;align-items:stretch;flex-wrap:nowrap}
  nav.menu ul.sotto{display:flex;position:static;box-shadow:none;border:0;border-left:3px solid var(--bordo-az);margin:0 0 6px 12px;padding:0;min-width:0}
  nav.menu .tendina>a::before{display:none}
  nav.menu a{font-size:16px;padding:10px 8px}
  nav.menu a::after{display:none}
  nav.menu a.preventivo{margin:8px 0 0;text-align:center}
  .marchio-testo{display:block}
}
.indice{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0;list-style:none}
.indice a{display:inline-block;padding:9px 14px;border:1px solid rgba(255,255,255,.45);border-radius:3px;color:#fff;text-decoration:none;font-weight:600;font-size:14px}
.indice a:hover{background:rgba(255,255,255,.14)}
.trattamento{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:36px;padding:44px 0;border-top:1px solid var(--bordo-az);scroll-margin-top:120px}
.trattamento:first-of-type{border-top:0;padding-top:10px}
.trattamento img{width:100%;height:auto;border-radius:4px;display:block}
.trattamento h2,.trattamento h3{margin-top:0}
.trattamento .scheda-dati{margin-top:16px}
.trattamento.senza-foto{grid-template-columns:1fr}
.settore-grande{display:grid;grid-template-columns:300px minmax(0,1fr);gap:30px;padding:30px 0;border-top:1px solid var(--bordo-az);scroll-margin-top:120px}
.settore-grande img{width:100%;height:220px;object-fit:cover;border-radius:4px}
.settore-grande h3{margin-top:0}
.da-fornire{background:#fdeeea;border:1px dashed #f25335;color:#8a2a17;padding:14px 18px;border-radius:4px;font-size:15px}
.da-fornire b{color:#c23a1f}
section[id],div[id]{scroll-margin-top:120px}
@media (max-width:1020px){.trattamento,.settore-grande{grid-template-columns:1fr}.trattamento img{max-width:460px}}
.galleria img{aspect-ratio:4/3;object-fit:cover;width:100%}
.pannello .immagine{object-fit:cover}
.settore a,.scheda a{color:var(--blu);font-weight:600}
/* i pulsanti pieni dentro i riquadri restano bianchi (05/11: in Cataloghi la scritta blu spariva sul fondo blu) */
.settore a.btn-pieno,.scheda a.btn-pieno,.settore a.btn-scuro,.scheda a.btn-scuro{color:#fff}
.blocco .btn-vuoto{color:var(--blu);box-shadow:inset 0 0 0 2px var(--blu)}
nav.menu .tendina>a{padding-right:22px;margin-right:4px}
.coppia-foto.verticali img{aspect-ratio:3/4;object-position:top}
@media (max-width:1100px){.apri-menu{order:2}.lingua{order:3;margin-left:8px}}
@media (max-width:640px){.marchio{font-size:25px;gap:10px}.marchio img{height:50px}.marchio small{font-size:9px;letter-spacing:1.4px}.apri-menu{padding:11px 12px;font-size:14px}.apri-menu span{margin-right:7px}.lingua{padding:5px 7px}}
@media (max-width:640px){.testata .contenitore{gap:8px}.lingua{margin-left:0}}
a.settore{display:block;text-decoration:none;color:inherit}
a.settore:hover b{color:var(--blu)}

.visione{margin-top:26px;padding:22px 24px;background:var(--azzurrino);border-left:4px solid var(--blu);scroll-margin-top:120px}
.visione h3{margin:4px 0 10px}
.visione .motto{font-family:'Barlow Condensed',Arial Narrow,sans-serif;font-weight:700;font-size:22px;letter-spacing:.5px;color:var(--blu);margin:14px 0 0}
#prodotti .pannello .immagine{height:280px}

/* pagine legali (privacy e cookie): testata bassa e titoli da documento, non da vetrina */
.testa-legale{padding:34px 0 46px;clip-path:polygon(0 0,100% 0,100% 88%,0 100%)}
.testa-legale h1{font-size:clamp(28px,3vw,36px);margin-bottom:8px}
.testa-legale p{font-size:16px;max-width:760px}
.legale-testo{padding-top:36px;padding-bottom:56px;font-size:16px}
.legale-testo h2{font-family:"Inter",sans-serif;text-transform:none;letter-spacing:0;font-size:20px;font-weight:700;line-height:1.3;margin:34px 0 10px}
.legale-testo h2:first-child{margin-top:0}
.legale-testo p{margin:0 0 12px}
.legale-testo ul{padding-left:22px;margin:0 0 12px}
.legale-testo li{margin-bottom:5px}
.legale-testo table.tabella{font-size:14px;margin-top:6px;margin-bottom:12px}
.legale-testo .tabella th{font-size:12px;padding:8px 12px}
.legale-testo .tabella td{padding:8px 12px}
.legale-testo .btn{font-size:13px;padding:11px 20px}

/* esito del modulo di preventivo (sito pubblicato) */
.esito-modulo{padding:14px 18px;border-radius:4px;font-weight:600}
.esito-modulo.ok{background:#e8f4ec;border:1px solid #9cc9a8;color:#1d5a2c}
.esito-modulo.errore{background:#fdeeea;border:1px solid #f25335;color:#8a2a17}
.consenso a{color:var(--blu)}

/* banner del consenso ai cookie (sito pubblicato) */
.consenso-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:760px;margin:0 auto;background:#fff;border:1px solid #d6e3ee;border-top:3px solid var(--blu);box-shadow:0 18px 40px rgba(18,41,59,.18);padding:18px 22px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.consenso-cookie[hidden]{display:none}
.consenso-cookie p{margin:0;flex:1 1 320px;font-size:15px;color:#2a3b4a}
.consenso-cookie a{color:var(--blu)}
.consenso-cookie .btn{padding:11px 20px;font-size:13px;border:0;cursor:pointer}
.consenso-cookie .btn-vuoto{color:var(--blu-scuro,#2c5d82);box-shadow:inset 0 0 0 2px var(--blu)}
