/* pj-negozio: solo variabili del sito ospite (--fondo --superficie --testo --testo-2 --linea --accento --errore…),
   spazi in rem, niente opacity. Gli stati non si distinguono mai solo dal colore: c'è sempre il testo. */
.negozio-nav ul{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;list-style:none;margin:0 0 1.2rem;padding:0}
.negozio-nav a[aria-current=page]{font-weight:700;text-decoration:underline}

.negozio-elenco{list-style:none;margin:1rem 0;padding:0;display:grid;gap:1rem;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))}
.negozio-scheda{border:1px solid var(--linea);border-radius:.45rem;padding:.8rem 1rem;background:var(--superficie);min-width:0}
.negozio-scheda h2{font-size:1.1rem;margin:.5rem 0 .3rem;overflow-wrap:anywhere}
.negozio-scheda p{margin:.25rem 0}
.negozio-foto{display:block;max-width:100%;height:auto;border-radius:.3rem}
.negozio-foto-piccola{display:block;max-width:12rem;height:auto;border-radius:.3rem}
.negozio-prezzo{font-weight:700;font-size:1.15rem}
.negozio-tipo{color:var(--testo-2);font-size:.92rem}
.negozio-esaurito{color:var(--errore)}

.negozio-dettaglio{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));align-items:start}
.negozio-dettaglio figure{margin:0}
.negozio-aggiungi input[type=number],.negozio-in-riga input[type=number]{width:5rem}
.negozio-in-riga{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:0}

.negozio-totali{display:grid;grid-template-columns:max-content auto;gap:.2rem 1.5rem;justify-content:start;margin:1rem 0}
.negozio-totali dt{margin:0}
.negozio-totali dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.negozio-totale{font-weight:700;font-size:1.15rem;border-top:1px solid var(--linea);padding-top:.3rem}

/* carrello e cassa: a sinistra il lavoro, a destra il riquadro del riepilogo (fermo durante lo scorrimento); su schermo stretto uno sotto l'altro */
.negozio-colonne{display:grid;gap:1.5rem;align-items:start}
.negozio-principale{min-width:0}
.negozio-riquadro{border:1px solid var(--linea);border-radius:.6rem;background:var(--superficie);padding:1rem 1.25rem;min-width:0}
.negozio-riquadro h2{font-size:1.2rem;margin:0 0 .6rem}
.negozio-riquadro .negozio-totali{justify-content:stretch;grid-template-columns:1fr auto}
.negozio-pieno{display:block;text-align:center}
@media (min-width:60rem){
  .negozio-colonne{grid-template-columns:minmax(0,1fr) 23rem}
  .negozio-riquadro{position:sticky;top:8rem;z-index:5;box-shadow:0 .25rem .8rem var(--ombra,transparent)}
}
.negozio-righe{list-style:none;margin:0 0 1rem;padding:0}
.negozio-riga{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--linea)}
.negozio-riga:first-child{border-top:1px solid var(--linea)}
.negozio-riga-nome{display:flex;flex-direction:column;gap:.15rem;grid-column:1 / -1;overflow-wrap:anywhere}
.negozio-riga-nome a{font-weight:700}
.negozio-riga-quantita{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0}
.negozio-riga-totale{margin:0;font-weight:700;text-align:right;white-space:nowrap}
.negozio-riga-togli{margin:0;grid-column:1 / -1}
@media (min-width:36rem){
  .negozio-riga{grid-template-columns:minmax(0,1fr) auto 6rem auto}
  .negozio-riga-nome{grid-column:auto}
  .negozio-riga-togli{grid-column:auto}
}
.negozio-riepilogo{list-style:none;margin:0 0 .5rem;padding:0}
.negozio-riepilogo li{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0;overflow-wrap:anywhere}
.importo{font-variant-numeric:tabular-nums;white-space:nowrap}
.negozio-indirizzi{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr))}
.negozio-indirizzi li{border:1px solid var(--linea);border-radius:.45rem;padding:.7rem 1rem;background:var(--superficie);min-width:0;overflow-wrap:anywhere}
.negozio-documenti{padding-left:1.2rem}
.negozio-testo-lungo{max-width:46rem}
.negozio-testo-lungo blockquote{border-left:.25rem solid var(--linea);margin:1rem 0;padding:.2rem 1rem}
.negozio-colonne-stampa{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
@media print{
  body > header,body > footer,.testata,.nav-sezione,.piede,.salta,.negozio-no-stampa,.negozio-nav,.menu-utente,.aspetto{display:none}
  .negozio-ricevuta{max-width:none}
}
.negozio-pagamento{border:1px solid var(--linea);border-radius:.45rem;margin:1rem 0;padding:.6rem 1rem}
.negozio-pagamento legend{font-weight:700;padding:0 .3rem}
.negozio-testo-termini{max-height:16rem;overflow-y:auto}
.negozio-azioni{display:flex;flex-wrap:wrap;gap:.8rem;margin:1rem 0}
.negozio-azioni form{margin:0}
.negozio-indirizzo{font-style:normal;margin:0 0 1rem}
.negozio-storico{padding-left:1.2rem}
.negozio-storico li{margin:.3rem 0;overflow-wrap:anywhere}

/* Indirizzi e segreti lunghi (gestione, notifiche della fattura elettronica): vanno a capo, niente scorrimento orizzontale a 320 pixel. */
.negozio-codice { overflow-wrap: anywhere; word-break: break-all; }

/* canoni (0.4) */
.canone-riepilogo{margin:1.5rem 0}
.canone-avviso{margin:.5rem 0}
.canoni-confronto th,.canoni-confronto td{vertical-align:top}

.canoni-lista{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}
.canoni-lista>li{border:1px solid var(--linea);border-radius:.45rem;padding:.8rem 1rem;background:var(--superficie);min-width:0;overflow-wrap:anywhere}
.canoni-lista h3{font-size:1.1rem;margin:0 0 .4rem}
.canoni-lista dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.15rem .8rem;margin:.4rem 0}
.canoni-lista dt{margin:0}.canoni-lista dd{margin:0}
.canoni-azioni{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.6rem 0 0}
.canoni-codice{font-family:ui-monospace,monospace;overflow-wrap:anywhere}
.canoni-matrice td,.canoni-matrice th{vertical-align:top}
.canoni-matrice select{max-width:100%}
.canoni-matrice input[type=number]{width:7rem}
.canoni-cella{display:flex;flex-direction:column;gap:.3rem;min-width:8rem}
.canoni-finestra{max-width:min(32rem,92vw);border:1px solid var(--linea);border-radius:.6rem;background:var(--superficie);color:var(--testo);padding:1rem 1.25rem}
.canoni-finestra::backdrop{background:var(--fondo)}

/* 0.5: titoli dei moduli nelle tabelle dei canoni (fascia piena, colori invertiti: contrasto sempre quello del testo sul fondo) */
.canoni-modulo{background:var(--testo);color:var(--fondo);text-align:left;font-size:1.1rem;font-weight:700;padding:.55rem .8rem}
tbody:not(:first-of-type) .canoni-modulo{border-top:.9rem solid var(--fondo)}
.canoni-matrice select{font-size:.9rem;padding:.25rem .3rem;min-width:9.5rem}
.canoni-matrice td{min-width:10rem}
.canoni-matrice th[scope=row]{min-width:12rem}

/* profilo d'acquisto a passi (0.5) */
.profilo-passi{display:flex;flex-wrap:wrap;gap:.4rem 1rem;list-style:none;margin:1rem 0;padding:0;counter-reset:passo}
.profilo-passi li{counter-increment:passo;padding:.3rem .7rem;border:1px solid var(--linea);border-radius:.45rem;background:var(--superficie)}
.profilo-passi li::before{content:counter(passo) ". "}
.profilo-passi li[aria-current=step]{background:var(--testo);color:var(--fondo);font-weight:700}
.profilo-passo{border:0;margin:0 0 1rem;padding:0;min-width:0}
.profilo-passo:focus{outline:2px solid var(--accento,currentColor);outline-offset:.2rem}
.profilo-passo h2{font-size:1.25rem;margin:.5rem 0}
.profilo-passo[hidden],.profilo-ente[hidden],.profilo-persona[hidden]{display:none}
.profilo-azioni{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}
.profilo-riepilogo{margin:0 0 1rem}
.profilo-azioni [hidden],.profilo-riepilogo[hidden],.profilo-passi[hidden]{display:none}

/* conti per i bonifici e vetrine esterne (0.6) */
.negozio-conto{margin:.6rem 0;padding-top:.6rem;border-top:1px solid var(--linea)}

.canone-vie{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr);align-items:start}
@media (min-width:48rem){.canone-vie{grid-template-columns:repeat(2,minmax(0,1fr))}}
.canone-via{min-width:0;margin:0}
.canone-via .spunta label{display:inline-block;vertical-align:top;max-width:calc(100% - 2rem)}
.canone-prezzo{display:block;font-weight:400;text-wrap:balance}

/* Documenti da stampare (0.7): ricevuta e copia di cortesia della fattura su carta intestata, foglio A4 verticale */
@page{size:A4 portrait;margin:15mm 15mm 22mm}
.documento{max-width:21cm;margin:0 auto}
.documento-testata{display:flex;gap:1rem;align-items:center;padding:0 0 .8rem;margin:0 0 1rem;border-bottom:2px solid var(--testo)}
.documento-logo{height:4rem;width:auto;max-width:40%;object-fit:contain}
.documento-lettering{font-size:2.2rem;font-weight:800;letter-spacing:.06em;line-height:1;margin:0;color:var(--accento);white-space:nowrap}
.documento-venditore{margin-left:auto;text-align:right;min-width:0}
.documento-nome{font-size:1.05rem;font-weight:700;margin:0}
.documento-recapiti{margin:.2rem 0 0;font-size:.9rem}
.documento-piede{margin:2rem 0 0;padding-top:.6rem;border-top:1px solid var(--linea);font-size:.85rem}
@media print{
  .documento{max-width:none;padding-bottom:12mm}
  html,body{background:none}
  .documento-piede{position:fixed;bottom:0;left:0;right:0;margin:0}
  .documento tr,.documento .negozio-totali,.documento .negozio-colonne-stampa{break-inside:avoid}
  .documento .tabella{overflow:visible}
  .documento .tabella table{width:100%}
  .documento h1{font-size:1.5rem;margin-top:0}
}
