/* layout prodotto "base": galleria, configuratore e carta d'identita' (collegato da ms_layout() solo sulla scheda prodotto) */
.gallery-main{aspect-ratio:1;border-radius:1.75rem;background:#fff;border:1px solid var(--c-line);display:flex;align-items:center;justify-content:center;overflow:hidden}
.gallery-main img{width:86%;height:86%;object-fit:contain}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.6rem;margin-top:.75rem}
.mini{aspect-ratio:1;border-radius:.9rem;border:1px solid var(--c-line);background:#fff;padding:.25rem;cursor:pointer}
.mini img{width:100%;height:100%;object-fit:contain}
.mini:hover,.mini:focus-visible{border-color:var(--c-ink)}
.configuratore .passo{border:0;margin:0 0 1.5rem;padding:0}
.configuratore legend{font-size:1rem;font-weight:700;margin-bottom:.75rem;float:none;width:auto}
.colori-scelta{display:flex;flex-wrap:wrap;gap:.6rem}
.colore{position:relative;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;border:1px solid var(--c-line);border-radius:999px;padding:.25rem .9rem .25rem .3rem;cursor:pointer;background:#fff;font-size:.95rem}
.colore input{position:absolute;opacity:0;pointer-events:none}
.colore:has(input:checked){border-color:var(--c-ink);box-shadow:0 0 0 1px var(--c-ink)}
.colore:has(input:focus-visible){outline:2px solid var(--c-primary);outline-offset:2px}
.colore.esaurito .nome{color:var(--c-muted);text-decoration:line-through}
.pallino{display:inline-block;width:32px;height:32px;border-radius:50%;border:1px solid rgba(0,0,0,.18)}
.modalita{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem}
.modo{position:relative;display:flex;flex-direction:column;min-height:72px;padding:.75rem .9rem;border-radius:1rem;border:1px solid var(--c-line);background:#fff;cursor:pointer}
.modo input{position:absolute;opacity:0;pointer-events:none}
.modo:has(input:checked){border:2px solid var(--c-primary);background:var(--c-soft);padding:calc(.75rem - 1px) calc(.9rem - 1px)}
.modo:has(input:focus-visible){outline:2px solid var(--c-primary);outline-offset:2px}
.modo small{color:var(--c-muted)}
.qta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.qta-preset{min-width:64px;min-height:44px;border-radius:.75rem;border:1px solid var(--c-ink);background:#fff;font-weight:600;color:var(--c-ink)}
.qta-preset:hover,.qta-preset[aria-pressed="true"]{background:var(--c-ink);color:#fff}
.qta input{width:120px}
.posizione{background:#fff;border:1px solid var(--c-line);border-radius:1rem;padding:.85rem 1rem;margin-bottom:.6rem}
.pos-opzioni{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}
.pos-opzioni .form-select{width:auto}
.posizione:has(.pos-check:not(:checked)) .pos-opzioni{display:none}
.riepilogo-prezzo{background:#fff;border:1px solid var(--c-line);border-radius:1.5rem;padding:1.4rem}
.prezzo-grande{font-family:var(--font-display);font-size:2.75rem;line-height:1}
.consegna{font-weight:600;margin:.4rem 0 0}
.consegna.pronto{color:var(--c-ok)}
.consegna.in_arrivo{color:var(--c-wait)}
.consegna.su_richiesta{color:var(--c-muted)}
.errore{color:#b3261e;font-weight:600;margin:.4rem 0 0}
.errore:empty{display:none}
.co2-riepilogo{font-size:.9rem;color:var(--c-muted);margin:.4rem 0 0}
.co2-riepilogo:empty{display:none}

/* carta d'identita' (fascia scura) */
.carta .co2-valore{font-family:var(--font-display);font-size:3.25rem;line-height:1.05;color:#fff}
.carta ul{padding-left:1.1rem;margin:0}
.carta li{margin-bottom:.25rem}
.carta .specifiche dt{color:color-mix(in srgb,#fff 60%,var(--c-ink))}
.carta details summary{cursor:pointer;color:#fff}
.carta .trasparenza-voci ul{list-style:none;padding:0;columns:2}


/* griglia della scheda: galleria e dettagli a sinistra, configuratore a destra su due righe (su telefono: galleria, configuratore, dettagli) */
.scheda-grid{display:grid;grid-template-columns:1fr;gap:3rem}
@media (min-width:992px){
  .scheda-grid{grid-template-columns:1fr 1fr;grid-template-areas:"galleria conf" "extra conf";grid-template-rows:auto 1fr;align-items:start;column-gap:3rem;row-gap:2.5rem}
  .scheda-galleria{grid-area:galleria}
  .scheda-conf{grid-area:conf}
  .scheda-extra{grid-area:extra}
}
.scheda-extra{display:grid;gap:2rem}

/* badge dell'Indice di Trasparenza: anello con il punteggio, porta alla carta d'identita' */
.badge-trasparenza{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 1.4rem;border-radius:1.5rem;background:#fff;border:1px solid var(--c-line);
  color:var(--c-ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.badge-trasparenza:hover{border-color:var(--c-primary);box-shadow:0 10px 30px rgba(var(--c-ink-rgb),.08);color:var(--c-ink)}
.badge-trasparenza .anello{flex:0 0 104px;width:104px;height:104px}
.anello-fondo{fill:none;stroke:var(--c-soft);stroke-width:10}
.anello-valore{fill:none;stroke:var(--c-primary);stroke-width:10;stroke-linecap:round}
.anello-num{font-family:var(--font-display);font-size:40px;fill:var(--c-ink)}
.anello-su{font-size:12px;fill:var(--c-muted);letter-spacing:.04em}
.badge-trasparenza .link-carta{color:var(--c-primary)}
.scheda-dettagli{background:#fff;border:1px solid var(--c-line);border-radius:1.5rem;padding:1.5rem 1.6rem}

/* telefono: barra in basso con prezzo e carrello (layout/prodotto/base.php #barra-acquisto), nascosta quando il riepilogo e' sullo schermo;
   da 992 px in su non c'e' (il Bootstrap ridotto del sito non ha d-lg-none) */
.barra-acquisto{display:none}
@media (max-width:991.98px){
  .barra-acquisto{position:fixed;left:0;right:0;bottom:0;z-index:1030;display:flex;align-items:center;justify-content:space-between;gap:.75rem;
    padding:.6rem 16px calc(.6rem + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--c-line);
    box-shadow:0 -6px 20px rgba(var(--c-ink-rgb),.08);transition:transform .2s ease}
  .barra-acquisto.nascosta{transform:translateY(110%)}
  .barra-testo{line-height:1.2;min-width:0}
  .barra-testo strong{font-family:var(--font-display);font-size:1.5rem;font-weight:400;margin-right:.25rem}
  .barra-acquisto .btn{min-height:44px;white-space:nowrap}
  body:has(.barra-acquisto){padding-bottom:76px}
}
@media (prefers-reduced-motion:reduce){.barra-acquisto{transition:none}}
