:root{
  /* Brand òrigo — tema chiaro tortora */
  --tortora:#c9bea7;        /* fondo pagina (tortora del logo) */
  --tortora-d:#bdb199;      /* tortora più scuro per bande/gradiente */
  --crema:#efeae0;          /* avorio: card e superfici in rilievo */
  --nero:#1c1a17;           /* nero caldo del logo (testo) */
  --oro:#b1872b;            /* oro del wordmark */
  --oro-2:#caa24a;          /* oro più chiaro per hover/gradiente */
  /* Ruoli */
  --bg:var(--tortora);
  --card:var(--crema);
  --fg:var(--nero);
  --muted:#6f6657;
  --line:rgba(28,26,23,.14);
  --ok:#3f7d57; --err:#a6412f;
  --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--fg);
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  line-height:1.55; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
a{color:inherit}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.08;margin:.2em 0 .4em}
h1{font-size:clamp(2.1rem,7vw,3.4rem)}
.lead{font-size:1.1rem}
.muted{color:var(--muted)}
.eyebrow{letter-spacing:.24em;text-transform:uppercase;font-size:.72rem;color:var(--oro);margin:0}

/* ---- Wordmark (ricostruzione del logo in testo) ---- */
.wordmark{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:600; letter-spacing:.01em; line-height:1;
  font-size:1.9rem; color:var(--fg); white-space:nowrap;
}
.wordmark .o{
  color:var(--oro);
  background:linear-gradient(135deg,var(--oro-2),var(--oro) 50%,#8f6f23);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.wordmark.small{font-size:1.5rem}
.wordmark.big{font-size:clamp(3.2rem,16vw,6rem)}
/* dicitura del logo */
.descriptor{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;
  letter-spacing:.28em;text-transform:uppercase;font-size:.82rem;color:var(--fg);margin:.35rem 0 0}
.payoff{letter-spacing:.2em;text-transform:uppercase;font-size:.7rem;color:var(--muted);margin:.5rem 0 0}

/* ---- Nav ---- */
.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  padding:12px 18px;background:rgba(201,190,167,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{text-decoration:none;display:inline-flex;align-items:center}
.nav .links{display:flex;gap:.3rem;align-items:center}
.nav .links a{padding:.45rem .7rem;border-radius:10px;text-decoration:none;color:var(--muted);font-size:.95rem}
.nav .links a.on{color:var(--fg)}
.nav .links a.cta{background:var(--oro);color:#fff;font-weight:600}
.nav .links a.cta:hover{background:var(--oro-2)}

main{min-height:60vh}
.page{max-width:900px;margin:0 auto;padding:34px 18px 60px}
.page.center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}

/* ---- Hero ---- */
.hero{position:relative;padding:76px 18px 60px;text-align:center;
  background:radial-gradient(1100px 480px at 50% -10%,#d6ccb6,var(--bg))}
.hero .wordmark.big{margin:.2rem 0 .1rem}
.hero .descriptor{margin-bottom:.2rem}
.hero p.lead{max-width:620px;margin:.8rem auto 1.6rem;color:var(--muted)}
.hero .actions{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}

.btn{display:inline-block;border:0;cursor:pointer;font:inherit;text-decoration:none;
  padding:.8rem 1.3rem;border-radius:12px;font-weight:600;transition:transform .05s ease,background .15s ease}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--oro);color:#fff}
.btn.primary:hover{background:var(--oro-2)}
.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--nero)}
.btn.ghost:hover{border-color:var(--oro);color:var(--oro)}
.btn.small{padding:.5rem .8rem;font-size:.85rem}

/* ---- Cards / bande ---- */
.band{max-width:960px;margin:0 auto;padding:30px 18px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 1px 2px rgba(28,26,23,.05)}
.card h3{margin-top:0;color:var(--nero);font-size:1.5rem}
.info-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:20px}

/* ---- Form ---- */
.form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-top:22px;display:grid;gap:14px;box-shadow:0 1px 2px rgba(28,26,23,.05)}
.form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--muted)}
.form .row{display:grid;gap:14px;grid-template-columns:1fr 1fr 1fr}
.form .row.two{grid-template-columns:1fr 1fr}
input,select,textarea{width:100%;background:#fff;color:var(--fg);border:1px solid var(--line);
  border-radius:10px;padding:.7rem .8rem;font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--oro)}
.form label.check{flex-direction:row;align-items:flex-start;gap:.6rem;color:var(--fg)}
.form label.check input{width:auto;margin-top:.2rem}
.msg{border-radius:10px;padding:.7rem .9rem;margin:0}
.msg.err{background:rgba(166,65,47,.12);color:var(--err);border:1px solid rgba(166,65,47,.4)}
.big-check{font-size:3rem;color:var(--ok)}

/* ---- Footer ---- */
.foot{border-top:1px solid var(--line);padding:30px 18px;text-align:center;color:var(--muted);font-size:.9rem;background:var(--tortora-d)}
.foot .brand{justify-content:center}
.foot .descriptor{margin:.3rem 0 .7rem}

/* ---- Age gate ---- */
.age-gate{position:fixed;inset:0;z-index:100;background:rgba(28,26,23,.55);display:flex;align-items:center;justify-content:center;padding:20px}
.age-gate[hidden]{display:none}
.age-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px;max-width:380px;text-align:center;box-shadow:0 20px 60px rgba(28,26,23,.25)}
.age-card h2{margin:.4rem 0}
.age-actions{display:flex;gap:.7rem;justify-content:center;margin-top:16px}

/* ---- Admin ---- */
.admin-body{background:var(--bg)}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px;max-width:380px;width:100%;text-align:center;box-shadow:0 10px 40px rgba(28,26,23,.15)}
.login-card .wordmark{display:inline-block;margin-bottom:.3rem}
.login-card form{display:grid;gap:12px;margin-top:14px;text-align:left}
.login-card label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted)}
.admin-top{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--tortora-d)}
.admin-top .brand{display:flex;align-items:center;gap:.5rem}
.admin-right{display:flex;align-items:center;gap:.8rem}
.admin-right form{margin:0}
.admin-wrap{max-width:1000px;margin:0 auto;padding:20px 18px}
.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:16px}
.tabs a{padding:.45rem .8rem;border-radius:10px;text-decoration:none;color:var(--muted);border:1px solid var(--line);font-size:.85rem}
.tabs a.on{background:var(--oro);color:#fff;border-color:var(--oro);font-weight:600}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--card);border-radius:var(--radius);overflow:hidden}
th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
td.actions{display:flex;gap:.4rem;flex-wrap:wrap}
td.actions form{margin:0}
code{background:var(--bg);padding:.1rem .35rem;border-radius:6px;font-size:.85rem}
.empty{padding:40px 0;text-align:center}

@media(max-width:720px){
  .band,.info-grid{grid-template-columns:1fr}
  .form .row,.form .row.two{grid-template-columns:1fr}
  .nav .links a{padding:.4rem .5rem;font-size:.9rem}
  .nav .links a.cta{padding:.4rem .7rem}
}
