:root{
  --nero:#1c1714; --testo:#3e342c; --debole:#8a7967; --crema:#faf6f0;
  --carta:#fffdf9; --linea:#e7dccb; --cognac:#a05c2c; --oro:#c9a24b;
  --max:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Inter",system-ui,-apple-system,sans-serif;background:var(--crema);color:var(--testo);line-height:1.65;font-size:16.5px}
h1,h2,h3,.serif{font-family:"Playfair Display",Georgia,serif;color:var(--nero)}
a{color:var(--cognac)}
img,svg{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

/* Banner anteprima */
.anteprima{background:var(--nero);color:#f0dfc9;text-align:center;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;padding:9px 16px}
.anteprima strong{color:var(--oro)}

/* Testata */
header.sito{position:sticky;top:0;z-index:10;background:rgba(250,246,240,.95);border-bottom:1px solid var(--linea);backdrop-filter:blur(6px)}
header.sito .wrap{display:flex;align-items:center;gap:22px;padding:16px 20px;flex-wrap:wrap}
.logo{font-family:"Playfair Display",Georgia,serif;font-size:1.35rem;color:var(--nero);text-decoration:none;letter-spacing:.03em}
.logo small{display:block;font-family:"Inter",sans-serif;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--debole)}
nav.main{margin-left:auto;display:flex;gap:20px;flex-wrap:wrap;align-items:center}
nav.main a{color:var(--testo);text-decoration:none;font-size:.92rem;font-weight:500}
nav.main a:hover,nav.main a.attivo{color:var(--cognac);text-decoration:underline}
.carrello-link{position:relative}
.conteggio{position:absolute;top:-9px;right:-13px;background:var(--cognac);color:#fff;font-size:.68rem;font-weight:700;min-width:19px;height:19px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}

/* Hero */
.hero{padding:84px 0 64px;text-align:center;background:linear-gradient(180deg,#f3e9da 0%,var(--crema) 100%)}
.hero .occhiello{letter-spacing:.28em;text-transform:uppercase;font-size:.72rem;color:var(--cognac);font-weight:700}
.hero h1{font-size:clamp(2.6rem,7vw,4.4rem);line-height:1.05;margin:16px 0}
.hero p{max-width:620px;margin:0 auto;color:var(--debole);font-size:1.08rem}
.btn{display:inline-block;margin-top:28px;padding:14px 30px;border-radius:999px;background:var(--nero);color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;border:1px solid var(--nero);cursor:pointer}
.btn:hover{background:var(--cognac);border-color:var(--cognac)}
.btn.chiaro{background:transparent;color:var(--nero)}
.btn.chiaro:hover{background:var(--nero);color:#fff}
.btn:disabled{background:#cbbba6;border-color:#cbbba6;cursor:not-allowed}

/* Sezioni */
section{padding:58px 0}
section.alt{background:var(--carta);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.sezione-testata{text-align:center;margin-bottom:34px}
.sezione-testata .occhiello{letter-spacing:.24em;text-transform:uppercase;font-size:.7rem;color:var(--cognac);font-weight:700}
.sezione-testata h2{font-size:clamp(1.7rem,4vw,2.4rem);margin-top:8px}
.sezione-testata p{color:var(--debole);max-width:560px;margin:8px auto 0}

/* Griglia prodotti */
.griglia{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:860px){.griglia{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.griglia{grid-template-columns:1fr}}
.prodotto{background:#fff;border:1px solid var(--linea);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--testo);transition:transform .18s ease,box-shadow .18s ease}
.prodotto:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(70,45,20,.1)}
.prodotto .foto{aspect-ratio:4/5;display:flex;align-items:center;justify-content:center}
.prodotto .info{padding:18px 20px 22px}
.prodotto h3{font-size:1.2rem}
.prodotto .prezzo{color:var(--debole);font-size:.95rem;margin-top:3px}
.prodotto .vai{color:var(--cognac);font-weight:600;font-size:.9rem;margin-top:8px;display:inline-block}

/* Segnaposto fotografici (solo CSS/SVG) */
.foto.f1{background:linear-gradient(155deg,#e9d8bd,#d9bd93)}
.foto.f2{background:linear-gradient(155deg,#e6ded4,#cfc2ae)}
.foto.f3{background:linear-gradient(155deg,#dfd0e8,#c3aed6)}
.foto.f4{background:linear-gradient(155deg,#d7e4d8,#aec7b0)}
.foto.f5{background:linear-gradient(155deg,#f0dcd4,#dcbab0)}
.foto.f6{background:linear-gradient(155deg,#f3e5c3,#e6cd93)}
.foto svg{width:44%;height:auto;opacity:.9}

/* Newsletter e contatti */
.blocco-centro{max-width:640px;margin:0 auto;text-align:center}
.blocco-centro p{color:var(--debole)}
form.riga{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap;justify-content:center}
form.riga input[type=email]{flex:1 1 260px;padding:14px 18px;border:1.5px solid var(--linea);border-radius:999px;font-size:1rem;background:#fff}
form.stack{max-width:560px;margin:0 auto;text-align:left}
form.stack label{font-weight:600;font-size:.9rem;display:block;margin:16px 0 6px}
form.stack input,form.stack textarea,form.stack select{width:100%;padding:13px 15px;border:1.5px solid var(--linea);border-radius:12px;font-size:1rem;background:#fff;font-family:inherit}
.messaggio-ok{display:none;margin-top:18px;background:#e9f2ec;border:1px solid #bcd8c6;color:#2f6b4f;border-radius:12px;padding:14px 18px;text-align:center;font-size:.95rem}

/* Scheda prodotto */
.scheda{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:start}
@media(max-width:860px){.scheda{grid-template-columns:1fr}}
.galleria .principale{border:1px solid var(--linea);border-radius:20px;overflow:hidden}
.galleria .principale .foto{aspect-ratio:4/5;display:flex;align-items:center;justify-content:center}
.galleria .principale svg{width:46%}
.miniature{display:flex;gap:10px;margin-top:10px}
.miniature button{flex:1;border:2px solid var(--linea);border-radius:12px;overflow:hidden;cursor:pointer;padding:0;background:#fff}
.miniature button.sel{border-color:var(--cognac)}
.miniature .foto{aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.miniature svg{width:52%}
.dettagli .occhiello{letter-spacing:.22em;text-transform:uppercase;font-size:.7rem;color:var(--cognac);font-weight:700}
.dettagli h1{font-size:clamp(2rem,5vw,2.8rem);margin:8px 0 6px}
.dettagli .prezzo{font-size:1.25rem;color:var(--debole)}
.dettagli p{margin-top:16px}
.dettagli ul{margin:14px 0 0 20px}
.dettagli .azioni{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
.nota-piccola{font-size:.86rem;color:var(--debole);margin-top:14px}

/* Carrello */
.riga-carrello{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--linea);border-radius:16px;padding:16px 18px;margin-bottom:12px;flex-wrap:wrap}
.riga-carrello .mini{width:76px;height:92px;border-radius:10px;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.riga-carrello .mini svg{width:58%}
.riga-carrello .nome{font-weight:600;color:var(--nero)}
.riga-carrello .azioni-riga{margin-left:auto;display:flex;gap:10px;align-items:center}
.qty{display:inline-flex;align-items:center;gap:8px}
.qty button{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--linea);background:#fff;cursor:pointer;font-size:1rem;line-height:1}
.rimuovi{background:none;border:none;color:var(--rosso,#a33327);cursor:pointer;font-weight:600;font-size:.9rem}
.vuoto{text-align:center;color:var(--debole);background:#fff;border:1px dashed var(--linea);border-radius:16px;padding:38px 20px}
.riepilogo{background:#fff;border:1px solid var(--linea);border-radius:16px;padding:22px;margin-top:20px}
.riepilogo table{width:100%;border-collapse:collapse}
.riepilogo td{padding:8px 0;font-size:.98rem}
.riepilogo td:last-child{text-align:right}
.riepilogo tr.totale td{border-top:1px solid var(--linea);font-weight:700;color:var(--nero);padding-top:14px}

/* Footer */
footer{background:var(--nero);color:#cdb69c;padding:42px 0 30px;font-size:.9rem;margin-top:20px}
footer .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:860px){footer .wrap{grid-template-columns:1fr}}
footer h3{color:#fff;font-size:1.05rem;margin-bottom:8px}
footer a{color:#eec27a;text-decoration:none}
footer a:hover{text-decoration:underline}
footer ul{list-style:none}
footer li{margin:5px 0}
.copyright{grid-column:1/-1;border-top:1px solid #3d2c20;padding-top:18px;color:#9a8266;font-size:.84rem}
