
:root{
  --pietra:#E9DFC4; --pietra-chiara:#F7F2E4; --crema:#FFFDF7;
  --inchiostro:#2A2118; --maiolica:#1F5C74; --maiolica-scura:#164457;
  --ocra:#D6A029; --fico:#5F7A44; --fico-scuro:#4A6135;
  --cotto:#AD4B2B; --cotto-scuro:#8E3B21;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Work Sans',sans-serif;color:var(--inchiostro);background:var(--pietra);line-height:1.6;}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:600;line-height:1.15;margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}
h2{font-size:clamp(1.5rem,3.2vw,2.2rem);}
p{margin:0 0 1em;}
a{color:var(--maiolica);}
img{max-width:100%;display:block;}
.contenitore{max-width:1120px;margin:0 auto;padding:0 24px;}

header.intestazione{position:sticky;top:0;z-index:50;background:var(--pietra-chiara);border-bottom:2px solid var(--inchiostro);}
.barra-nav{position:relative;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;max-width:1120px;margin:0 auto;gap:16px;}
.marchio{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--inchiostro);}
.marchio svg{width:40px;height:40px;flex-shrink:0;}
.marchio span{font-family:'Fraunces',serif;font-weight:600;font-size:1.25rem;}
nav.menu{display:flex;gap:24px;list-style:none;margin:0;padding:0;align-items:center;}
nav.menu a{text-decoration:none;color:var(--inchiostro);font-weight:500;font-size:.95rem;position:relative;padding:4px 0;}
nav.menu a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--ocra);transition:width .2s;}
nav.menu a:hover::after,nav.menu a.attivo::after{width:100%;}
nav.menu a.attivo{color:var(--cotto);}
.azioni-nav{display:flex;align-items:center;gap:14px;}
.btn-whatsapp{display:flex;align-items:center;gap:8px;background:var(--fico);color:#fff;padding:9px 16px;border-radius:30px;text-decoration:none;font-weight:600;font-size:.87rem;white-space:nowrap;}
.btn-whatsapp:hover{background:var(--fico-scuro);}
.hamburger{display:none;background:none;border:2px solid var(--inchiostro);border-radius:8px;padding:7px 10px;cursor:pointer;}

.fascia{height:14px;background:repeating-linear-gradient(-45deg,var(--maiolica) 0 10px,var(--ocra) 10px 20px);}

.bottone{display:inline-block;padding:13px 26px;border-radius:8px;font-weight:600;text-decoration:none;font-size:1rem;border:2px solid var(--inchiostro);}
.bottone-primario{background:var(--cotto);color:#fff;border-color:var(--inchiostro);}
.bottone-primario:hover{background:var(--cotto-scuro);}
.bottone-secondario{background:transparent;color:var(--inchiostro);}
.bottone-secondario:hover{background:var(--inchiostro);color:var(--crema);}
.azioni-riga{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;}

.eroe{padding:60px 0 56px;}
.eroe-griglia{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.tag-scritto{font-family:'Caveat',cursive;font-size:1.35rem;color:var(--cotto);display:inline-block;transform:rotate(-3deg);margin-bottom:4px;}

.placeholder-foto{background:var(--pietra-chiara);border:2px dashed var(--maiolica);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--maiolica-scura);text-align:center;padding:30px;min-height:240px;}
.placeholder-foto svg{width:46px;height:46px;opacity:.8;}
.placeholder-foto span{font-size:.82rem;font-weight:500;max-width:220px;}

.sezione{padding:56px 0;}
.sezione-alt{background:var(--pietra-chiara);}
.intro-sezione{max-width:680px;}

.griglia-schede{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px;margin-top:32px;}
.scheda{background:var(--crema);border:2px solid var(--inchiostro);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;}
.scheda .placeholder-foto{border:none;border-radius:0;min-height:190px;}
.scheda-corpo{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.pezzo-unico{align-self:flex-start;background:var(--ocra);color:var(--inchiostro);font-family:'Caveat',cursive;font-size:1.05rem;font-weight:600;padding:1px 12px;border-radius:20px;transform:rotate(-2deg);}
.scheda-corpo h3{font-size:1.1rem;margin:0;}
.scheda-corpo p{font-size:.9rem;color:#463c2c;margin:0;flex:1;}
.scheda-corpo .bottone{text-align:center;font-size:.88rem;padding:9px 14px;margin-top:4px;}

.due-colonne{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px;}
.scheda-teaser{background:var(--crema);border:2px solid var(--inchiostro);border-radius:14px;overflow:hidden;}
.scheda-teaser .placeholder-foto{border:none;border-radius:0;}
.scheda-teaser-corpo{padding:24px;}

.passi{counter-reset:passo;display:grid;gap:24px;margin-top:32px;}
.passo{display:flex;gap:20px;align-items:flex-start;background:var(--crema);border:2px solid var(--inchiostro);border-radius:14px;padding:20px 22px;}
.passo-num{counter-increment:passo;background:var(--maiolica);color:#fff;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:600;flex-shrink:0;font-size:1.1rem;}
.passo-num::before{content:counter(passo);}
.nota-box{background:var(--pietra-chiara);border-left:4px solid var(--ocra);padding:16px 20px;border-radius:8px;font-size:.92rem;margin-top:28px;}

.video-contenitore{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:14px;border:2px solid var(--inchiostro);}
.video-contenitore iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
.video-placeholder{position:relative;padding-bottom:56.25%;height:0;border-radius:14px;border:2px dashed var(--maiolica);background:var(--pietra-chiara);}
.video-placeholder .centro{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--maiolica-scura);text-align:center;padding:20px;}
.video-placeholder svg{width:50px;height:50px;}

.form-contatto{display:grid;gap:16px;max-width:100%;}
.form-contatto label{font-weight:600;font-size:.9rem;display:block;margin-bottom:6px;}
.form-contatto input,.form-contatto select,.form-contatto textarea{width:100%;padding:11px 13px;border:2px solid var(--inchiostro);border-radius:8px;font-family:inherit;font-size:1rem;background:var(--crema);}
.form-contatto textarea{min-height:130px;resize:vertical;}
.contatti-griglia{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start;margin-top:30px;}
.scheda-contatto{background:var(--crema);border:2px solid var(--inchiostro);border-radius:14px;padding:24px;}
.scheda-contatto h3{font-size:1.1rem;}
.riga-contatto{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:.95rem;}

footer.piede{background:var(--inchiostro);color:var(--pietra-chiara);padding:44px 0 24px;margin-top:20px;}
.piede-griglia{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px;margin-bottom:26px;}
.piede h4{font-family:'Fraunces',serif;margin:0 0 10px;color:#fff;font-size:1.05rem;}
.piede p, .piede a{color:var(--pietra-chiara);font-size:.9rem;}
.piede a{text-decoration:none;display:block;margin-bottom:8px;}
.piede a:hover{color:var(--ocra);}
.piede-marchio{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.piede-marchio svg{width:34px;height:34px;}
.piede-marchio span{font-family:'Fraunces',serif;font-weight:600;color:#fff;font-size:1.1rem;}
.piede-credit{border-top:1px solid #4a4030;padding-top:16px;font-size:.8rem;text-align:center;opacity:.85;}
.piede-credit a{display:inline;color:var(--ocra);}

@media (max-width:820px){
  .eroe-griglia, .due-colonne, .contatti-griglia, .piede-griglia{grid-template-columns:1fr;}
  nav.menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--pietra-chiara);flex-direction:column;align-items:flex-start;padding:20px 24px;border-bottom:2px solid var(--inchiostro);gap:16px;}
  nav.menu.aperto{display:flex;}
  .hamburger{display:block;}
}

/* ---- Admin ---- */
.admin-body{max-width:760px;margin:0 auto;padding:44px 24px 60px;}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:16px;flex-wrap:wrap;}
.admin-topbar h1{margin:0;font-size:1.6rem;}
.admin-card{background:var(--crema);border:2px solid var(--inchiostro);border-radius:14px;padding:26px;margin-bottom:26px;}
.admin-tabs{display:flex;gap:10px;margin-bottom:18px;}
.admin-tab{padding:8px 18px;border-radius:20px;border:2px solid var(--inchiostro);background:transparent;cursor:pointer;font-weight:600;font-family:inherit;font-size:.9rem;color:var(--inchiostro);text-decoration:none;display:inline-block;}
.admin-tab.attivo{background:var(--inchiostro);color:var(--crema);}
.admin-lista{list-style:none;padding:0;margin:0;display:grid;gap:10px;max-height:420px;overflow-y:auto;}
.admin-lista li{display:flex;gap:12px;align-items:center;background:var(--pietra-chiara);border-radius:8px;padding:8px 12px;}
.admin-lista img{width:48px;height:48px;object-fit:cover;border-radius:6px;flex-shrink:0;border:1px solid var(--inchiostro);}
.admin-lista .titolo-riga{font-weight:600;font-size:.92rem;}
.admin-lista .data-riga{font-size:.78rem;opacity:.7;}
.messaggio-ok{background:#e4efe0;border:2px solid var(--fico);color:var(--fico-scuro);padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.92rem;}
.messaggio-errore{background:#f5e3dd;border:2px solid var(--cotto);color:var(--cotto-scuro);padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.92rem;}
.admin-login{max-width:380px;margin:90px auto;padding:0 24px;}
.admin-login h1{font-size:1.5rem;text-align:center;}
