/* A2 Aesthetics – foglio di stile. Nero opaco, bianco, argento. Nessun font esterno. */
:root{
  --nero:#0b0b0c; --nero-2:#141416; --nero-3:#1d1d20;
  --bianco:#ffffff; --avorio:#f5f5f3; --grigio-chiaro:#e7e7e5;
  --argento:#bfc1c4; --argento-scuro:#8d9095; --testo:#1a1a1c; --testo-tenue:#5e6066;
  --linea:rgba(255,255,255,.12); --linea-chiara:#dcdcda;
  --raggio:14px; --max:1180px;
  --font:"Helvetica Neue",Helvetica,"Segoe UI",Roboto,Arial,system-ui,sans-serif;
  --metallo:linear-gradient(135deg,#f2f2f2 0%,#bfc1c4 35%,#eeeeee 55%,#9a9da2 100%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:17px;line-height:1.6;color:var(--testo);background:var(--avorio)}
img{max-width:100%;height:auto;display:block}
picture{display:block}
a{color:inherit}
h1,h2,h3{line-height:1.15;font-weight:300;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,6vw,3.6rem)}
h2{font-size:clamp(1.7rem,4.2vw,2.6rem)}
h3{font-size:1.25rem;font-weight:500}
p{margin:0 0 1em}
.contenitore{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}
.occhiello{display:inline-block;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--argento-scuro);margin-bottom:14px}
.scuro .occhiello{color:var(--argento)}
.salta{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:8px 12px;z-index:100}
.salta:focus{left:10px}

/* Testata */
.testata{position:sticky;top:0;z-index:50;background:rgba(11,11,12,.94);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--linea)}
.testata .contenitore{display:flex;align-items:center;justify-content:space-between;height:68px}
.marchio img{height:44px;width:auto}
.menu-pulsante{background:none;border:1px solid var(--linea);color:#fff;border-radius:10px;padding:8px 12px;font:inherit;font-size:.9rem;cursor:pointer}
.navigazione{display:none;position:absolute;left:0;right:0;top:68px;background:var(--nero);border-bottom:1px solid var(--linea);padding:10px 20px 22px}
.navigazione.aperta{display:block}
.navigazione ul{list-style:none;margin:0;padding:0}
.navigazione a{display:block;color:#e9e9e9;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--linea);font-size:1rem;letter-spacing:.02em}
.navigazione a[aria-current="page"]{color:#fff;font-weight:600}
.navigazione .pulsante{margin-top:16px;text-align:center;border-bottom:0}
@media (min-width:960px){
  .menu-pulsante{display:none}
  .navigazione{display:block;position:static;background:none;border:0;padding:0}
  .navigazione ul{display:flex;align-items:center;gap:26px}
  .navigazione a{border:0;padding:6px 0;font-size:.92rem;color:#cfd0d2}
  .navigazione a:hover,.navigazione a[aria-current="page"]{color:#fff}
  .navigazione a[aria-current="page"]{box-shadow:0 1px 0 #fff}
  .navigazione .pulsante{margin:0;padding:10px 18px}
}

/* Pulsanti */
.pulsante{display:inline-block;text-decoration:none;font-weight:600;font-size:.95rem;letter-spacing:.03em;padding:14px 24px;border-radius:999px;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:transform .15s,background .15s}
.pulsante:hover{transform:translateY(-1px)}
.pulsante-chiaro{background:#fff;color:#0b0b0c !important}
.pulsante-contorno{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}
.pulsante-scuro{background:#0b0b0c;color:#fff !important}
.pulsante-contorno-scuro{border-color:#0b0b0c;color:#0b0b0c;background:transparent}
.gruppo-pulsanti{display:flex;flex-wrap:wrap;gap:12px}

/* Sezioni */
.sezione{padding:72px 0}
.scuro{background:var(--nero);color:#eaeaea}
.scuro h1,.scuro h2,.scuro h3{color:#fff}
.chiaro{background:var(--bianco)}
.tenue{color:var(--testo-tenue)}
.scuro .tenue{color:#a9abaf}
.linea-argento{height:1px;background:var(--metallo);opacity:.6;border:0;margin:0}

/* Apertura (home) */
.apertura{background:radial-gradient(1200px 600px at 80% 10%,#232326 0%,var(--nero) 60%);color:#fff;overflow:hidden}
.apertura .contenitore{display:grid;gap:36px;padding-top:48px;padding-bottom:56px}
.apertura p.lead{font-size:1.15rem;color:#c9cacd;max-width:36em}
.apertura-foto{border-radius:var(--raggio);overflow:hidden;border:1px solid var(--linea);aspect-ratio:1/1;max-height:620px}
@media (min-width:900px){.apertura-foto{aspect-ratio:4/5}}
.apertura-foto picture{height:100%}
.apertura-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
@media (min-width:900px){.apertura .contenitore{grid-template-columns:1.1fr .9fr;align-items:center;padding-top:80px;padding-bottom:90px}}

/* Intestazione pagina interna */
.intestazione{background:var(--nero);color:#fff;padding:56px 0 48px;border-bottom:1px solid var(--linea)}
.intestazione p{color:#c3c4c7;max-width:44em;font-size:1.08rem}
.briciole{font-size:.85rem;color:#9a9ca0;margin-bottom:18px}
.briciole a{color:#c9cacd}

/* Vantaggi */
.griglia{display:grid;gap:18px}
@media (min-width:640px){.griglia-2,.griglia-4,.griglia-3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.griglia-3{grid-template-columns:repeat(3,1fr)}.griglia-4{grid-template-columns:repeat(4,1fr)}}
.riquadro{border:1px solid var(--linea-chiara);border-radius:var(--raggio);padding:26px;background:#fff}
.scuro .riquadro{background:var(--nero-2);border-color:var(--linea)}
.riquadro .numero{font-size:.8rem;letter-spacing:.2em;color:var(--argento-scuro);display:block;margin-bottom:10px}
.riquadro h3{margin-bottom:.4em}
.riquadro p{margin:0;color:var(--testo-tenue);font-size:.97rem}
.scuro .riquadro p{color:#aeb0b4}

/* Schede macchinari */
.scheda{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linea-chiara);border-radius:var(--raggio);overflow:hidden;text-decoration:none;transition:box-shadow .2s,transform .2s}
.scheda:hover{box-shadow:0 14px 40px rgba(0,0,0,.08);transform:translateY(-2px)}
.scheda-foto{position:relative;background:linear-gradient(180deg,#ffffff,#eeeeec);aspect-ratio:4/3;overflow:hidden}
.scheda-foto picture{position:absolute;inset:16px}
.scheda-foto img{width:100%;height:100%;object-fit:contain}
.scheda-foto.piena picture{inset:0}.scheda-foto.piena img{width:100%;height:100%;object-fit:cover}
.scheda-testo{padding:20px 22px 24px;display:flex;flex-direction:column;gap:6px;flex:1}
.scheda-testo h3{margin:0}
.scheda-testo p{margin:0;color:var(--testo-tenue);font-size:.95rem}
.scheda-prezzo{margin-top:auto;padding-top:12px;font-size:.92rem;color:var(--testo)}
.scheda-prezzo strong{font-weight:600}
.etichetta{display:inline-block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--argento-scuro)}

/* Pagina macchinario */
.prodotto{display:grid;gap:36px}
@media (min-width:940px){.prodotto{grid-template-columns:1fr 1fr;align-items:start}}
.prodotto-foto{background:linear-gradient(180deg,#fff,#ececea);border:1px solid var(--linea-chiara);border-radius:var(--raggio);padding:28px;display:flex;justify-content:center;align-items:center;min-height:320px}
.prodotto-foto img{max-height:520px;width:auto;margin:0 auto}
.foto-ambiente{border-radius:var(--raggio);overflow:hidden;margin-top:18px}
.foto-ambiente img{width:100%;aspect-ratio:3/2;object-fit:cover}
.elenco{padding-left:1.1em;margin:0 0 1.2em}.elenco li{margin-bottom:.35em}
table{width:100%;border-collapse:collapse;font-size:.96rem}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--linea-chiara);vertical-align:top}
th{font-weight:500;color:var(--testo-tenue);width:46%}
.tabella-prezzi td:last-child{text-align:right;font-weight:600;white-space:nowrap}
.riquadro-prezzi{background:var(--nero);color:#fff;border-radius:var(--raggio);padding:26px;margin:22px 0}
.riquadro-prezzi h3{color:#fff;margin-bottom:6px}
.riquadro-prezzi .vendita{font-size:2rem;font-weight:300;letter-spacing:-.01em;margin:0 0 14px}
.riquadro-prezzi .vendita small{font-size:.9rem;color:#a9abaf}
.riquadro-prezzi table td,.riquadro-prezzi table th{border-color:var(--linea);color:#e6e6e6}
.riquadro-prezzi th{color:#a9abaf}
.nota{font-size:.88rem;color:var(--testo-tenue);border-left:2px solid var(--argento);padding:4px 0 4px 14px;margin:18px 0}
.scuro .nota{color:#a9abaf}
.avviso{background:#f0f0ee;border:1px solid var(--linea-chiara);border-radius:10px;padding:14px 16px;font-size:.9rem;color:#3c3d41}

/* Formule */
.formula{border:1px solid var(--linea);border-radius:var(--raggio);padding:28px;background:var(--nero-2)}
.formula .durata{font-size:2.6rem;font-weight:200;color:#fff;line-height:1}
.formula .durata span{font-size:1rem;letter-spacing:.15em;text-transform:uppercase;color:var(--argento);margin-left:6px}
.passi{counter-reset:p;list-style:none;padding:0;margin:0;display:grid;gap:16px}
.passi li{counter-increment:p;position:relative;padding:20px 20px 20px 70px;background:#fff;border:1px solid var(--linea-chiara);border-radius:var(--raggio)}
.passi li::before{content:counter(p,decimal-leading-zero);position:absolute;left:20px;top:18px;font-size:1.3rem;font-weight:200;color:var(--argento-scuro)}

/* Divisa: foto + testo */
.divisa{display:grid;gap:32px;align-items:center}
@media (min-width:900px){.divisa{grid-template-columns:1fr 1fr}}
.divisa img{border-radius:var(--raggio);width:100%;object-fit:cover}
.dati-veloci{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--linea);border:1px solid var(--linea);border-radius:var(--raggio);overflow:hidden;margin:24px 0}
.dati-veloci div{background:var(--nero-2);padding:16px}
.dati-veloci b{display:block;font-size:1.25rem;font-weight:300;color:#fff}
.dati-veloci span{font-size:.8rem;color:#a2a4a8;letter-spacing:.04em}


/* Contatti e modulo */
.contatti-elenco{list-style:none;padding:0;margin:0}
.contatti-elenco li{padding:14px 0;border-bottom:1px solid var(--linea-chiara)}
.contatti-elenco span{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--argento-scuro)}
.contatti-elenco a{text-decoration:none;font-weight:500}
form{display:grid;gap:14px}
label{font-size:.88rem;font-weight:500;display:block;margin-bottom:5px}
input,select,textarea{width:100%;font:inherit;font-size:1rem;padding:12px 14px;border:1px solid #cfcfcd;border-radius:10px;background:#fff;color:var(--testo)}
input:focus,select:focus,textarea:focus{outline:2px solid #0b0b0c;outline-offset:1px}
textarea{min-height:130px;resize:vertical}
.riga-2{display:grid;gap:14px}
@media (min-width:640px){.riga-2{grid-template-columns:1fr 1fr}}
.consenso{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;font-weight:400}
.consenso input{width:auto;margin-top:4px}
.modulo{background:#fff;border:1px solid var(--linea-chiara);border-radius:var(--raggio);padding:24px}
.pulsante-whatsapp{background:#1f1f22;color:#fff !important;border-color:#1f1f22}

/* Invito finale */
.invito{background:var(--nero);color:#fff;text-align:center;padding:70px 0}
.invito p{color:#bfc0c3;max-width:38em;margin:0 auto 26px}
.invito .gruppo-pulsanti{justify-content:center}

/* Piè di pagina */
.piede{background:#060607;color:#a8aaae;font-size:.9rem;padding:56px 0 28px;border-top:1px solid var(--linea)}
.piede .griglia{grid-template-columns:1fr}
@media (min-width:800px){.piede .griglia{grid-template-columns:1.3fr 1fr 1fr}}
.piede img{height:56px;width:auto;margin-bottom:14px}
.piede h4{color:#fff;font-weight:500;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px}
.piede ul{list-style:none;padding:0;margin:0}.piede li{margin-bottom:7px}
.piede a{color:#d4d5d8;text-decoration:none}.piede a:hover{color:#fff}
.piede .legale{border-top:1px solid var(--linea);margin-top:36px;padding-top:20px;font-size:.8rem;line-height:1.7}
.segnaposto{background:#fff3b0;color:#3a3000;padding:0 4px;border-radius:3px}
.piede .segnaposto{background:#3a3418;color:#ffe680}
.prosa{max-width:760px}
.prosa h2{font-size:1.5rem;margin-top:1.6em}
.scheda-foto:not(.piena) img,.prodotto-foto img{mix-blend-mode:multiply}

.listino th{width:auto}
.listino td:nth-child(n+2),.listino th:nth-child(n+2){white-space:nowrap}
.listino td[colspan]{white-space:normal}
@media (max-width:700px){
 .listino thead{display:none}
 .listino,.listino tbody,.listino tr,.listino td{display:block;width:100%}
 .listino tr{border:1px solid var(--linea-chiara);border-radius:12px;padding:6px 14px;margin-bottom:12px;background:#fff}
 .listino td{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eee;padding:9px 0;white-space:normal}
 .listino td:last-child{border-bottom:0}
 .listino td::before{content:attr(data-etichetta);color:var(--testo-tenue);font-size:.85rem}
 .listino td[colspan]{display:block}.listino td[colspan]::before{display:block}
 .listino td:first-child{font-weight:600}
}
.divisa .apertura-foto{width:100%}

/* Apertura senza foto: marchio grande + prodotto su fondo argento */
.apertura-visuale{position:relative;min-height:380px;display:flex;align-items:center;justify-content:center}
.apertura-marchio{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:.07;pointer-events:none}
.apertura-marchio img{width:92%;max-width:560px;height:auto}
.apertura-prodotto{position:relative;width:min(100%,420px);aspect-ratio:4/5;border-radius:22px;background:radial-gradient(circle at 50% 35%,#ffffff 0%,#e9e9ea 45%,#b9bbbf 100%);border:1px solid rgba(255,255,255,.25);box-shadow:0 30px 80px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;padding:28px 28px 54px}
.apertura-prodotto picture{height:100%}
.apertura-prodotto img{height:100%;width:auto;object-fit:contain;mix-blend-mode:multiply}
.apertura-didascalia{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#4a4c50}
@media (max-width:899px){.apertura-prodotto{width:min(100%,340px)}.apertura-visuale{min-height:0}}
.pannello-marchio{background:radial-gradient(800px 400px at 70% 0%,#26262a 0%,var(--nero) 65%);border:1px solid #2a2a2e;border-radius:var(--raggio);padding:60px 40px;text-align:center;color:#c9cacd}
.pannello-marchio img{width:min(70%,300px);margin:0 auto 28px}
.pannello-marchio hr{width:50%;margin:0 auto 18px}
.pannello-marchio p{margin:0;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
/* WhatsApp: pulsante fisso e pulsante Contatti */
.wa-fisso{position:fixed;right:18px;bottom:18px;z-index:60;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--nero);color:#fff;border:1px solid var(--argento-scuro);box-shadow:0 6px 18px rgba(0,0,0,.28);text-decoration:none;transition:transform .2s ease,background .2s ease}
.wa-fisso:hover,.wa-fisso:focus-visible{background:var(--nero-3);transform:translateY(-2px)}
.wa-fisso:focus-visible{outline:2px solid var(--argento);outline-offset:3px}
.pulsante-wa{display:inline-flex;align-items:center;gap:10px;margin-top:22px}
.pulsante-wa svg{width:20px;height:20px;flex:none}
@media (prefers-reduced-motion:reduce){.wa-fisso{transition:none}.wa-fisso:hover{transform:none}}
@media print{.wa-fisso{display:none}}
.apertura p.area-servizio{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--argento);margin:4px 0 22px}
/* ---------- Transizioni (CSS puro + sito.js; disattivate con prefers-reduced-motion) ---------- */
:root{--curva:cubic-bezier(.2,.8,.2,1)}
a{transition:color .25s ease,opacity .25s ease,border-color .25s ease}
.pulsante{transition:transform .3s var(--curva),background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}
.pulsante:hover{transform:translateY(-1px)}
.navigazione a{transition:color .25s ease}
/* Testata che si riduce allo scorrimento */
.testata{transition:background-color .4s var(--curva),box-shadow .4s var(--curva)}
.testata .contenitore{transition:height .4s var(--curva)}
.marchio img{transition:height .4s var(--curva)}
.testata.ridotta{box-shadow:0 8px 24px rgba(0,0,0,.35)}
.testata.ridotta .contenitore{height:56px}
.testata.ridotta .marchio img{height:34px}
.testata.ridotta .navigazione{top:56px}
/* Zoom lento sull'immagine dell'apertura (Ken Burns) */
.apertura-prodotto{overflow:hidden}
.apertura-prodotto img{animation:zoom-lento 7s ease-in-out infinite alternate;transform-origin:50% 45%}
@keyframes zoom-lento{from{transform:scale(1)}to{transform:scale(1.08)}}
/* Zoom al passaggio sulle schede dei macchinari */
.scheda-foto img{transition:transform .9s cubic-bezier(.2,.8,.2,1);will-change:transform}
.scheda:hover .scheda-foto img,.scheda:focus-visible .scheda-foto img{transform:scale(1.08)}
/* Comparsa allo scorrimento: si attiva solo se sito.js aggiunge la classe "anima" (senza JS tutto resta visibile) */
html.anima .rivela{opacity:0;transform:translateY(12px);transition:opacity .7s var(--curva),transform .7s var(--curva);transition-delay:var(--ritardo,0s)}
html.anima .rivela.visibile{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  html.anima .rivela{opacity:1;transform:none}
  .scheda:hover .scheda-foto img,.pulsante:hover,.scheda:hover{transform:none}
}
html.anima .scheda.rivela.visibile:hover{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){html.anima .scheda.rivela.visibile:hover{transform:none}}
/* Video dei macchinari nelle pagine prodotto */
.video-macchina{margin-top:18px;border-radius:var(--raggio);overflow:hidden;border:1px solid var(--linea-chiara);background:#0b0b0c;aspect-ratio:16/9}
.video-macchina video{display:block;width:100%;height:100%;object-fit:cover}
/* Foto prodotto "studio": sfondo, ombra e riflesso sono già nell'immagine (stile_studio.py) */
.scheda-foto{background:#f3f3f2}
.scheda-foto picture,.scheda-foto.piena picture{inset:0}
.scheda-foto img,.scheda-foto:not(.piena) img{width:100%;height:100%;object-fit:cover;mix-blend-mode:normal;transform-origin:50% 60%}
.prodotto-foto{padding:0;background:#f3f3f2;min-height:0;overflow:hidden}
.prodotto-foto picture{display:block;width:100%}
.prodotto-foto img{width:100%;height:auto;max-height:none;mix-blend-mode:normal;display:block}
/* Pulsante Play sopra il fotogramma (fallback se l'avvio automatico è bloccato) */
.video-macchina{position:relative}
.video-play{position:absolute;inset:0;margin:auto;width:72px;height:72px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(11,11,12,.62);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:transform .25s var(--curva,ease),background-color .25s ease;padding:0}
.video-play[hidden]{display:none}
.video-play span{display:block;width:0;height:0;border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent #fff;margin-left:5px}
.video-play:hover,.video-play:focus-visible{background:rgba(11,11,12,.8);transform:scale(1.06)}
.video-play:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (max-width:600px){.video-play{width:60px;height:60px}.video-macchina{margin-top:14px}}
/* Area di servizio: noleggio solo Sardegna, vendita in tutta Italia */
.scheda-area{margin:2px 0 0;font-size:.74rem;letter-spacing:.04em;color:var(--testo-tenue)}
.area-prezzo{margin:-6px 0 12px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--argento)}
.area-riga{display:inline-block;margin-top:6px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--argento)}
.intestazione p.area-servizio{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--argento);margin-top:14px}
.nota-area{font-size:.88rem;color:var(--testo);background:#f5f5f3;border-left:2px solid var(--nero);padding:10px 14px;margin:6px 0 16px;border-radius:0 8px 8px 0}
.avviso-area{font-size:.86rem;color:#3a3000;background:#fff8d6;border:1px solid #efe0a0;border-radius:8px;padding:10px 12px;margin:0}
.avviso-area[hidden]{display:none}
/* Domande frequenti */
.faq{margin-top:22px;max-width:820px}
.faq details{border-bottom:1px solid var(--linea-chiara);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;padding:14px 32px 14px 0;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-weight:300;font-size:1.3rem;transition:transform .3s var(--curva,ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 16px;color:var(--testo-tenue)}
