/* ============================================================================
   SISTEMA DI DESIGN CONDIVISO (.shz-site)
   Tutte le pagine/moduli del sito usano queste CLASSI e questi TOKEN.
   Per cambiare grafica in un colpo: sovrascrivi le variabili --sh-* (lo fa il
   modulo "Varianti di stile"). Nessun selettore generico: niente conflitti col tema.
   ============================================================================ */
.shz-site {
  --sh-bg: #181512; --sh-surface: #211c17; --sh-card: #262017;
  --sh-text: #f3ecdd; --sh-muted: #a99c87; --sh-primary: #e0a23e; --sh-ink: #241a08;
  --sh-border: #3a3329; --sh-radius: 16px; --sh-pill: 999px;
  --sh-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --sh-head: Georgia, "Times New Roman", serif;
  --sh-maxw: 1040px;
  color: var(--sh-text); font-family: var(--sh-font); line-height: 1.6;
}
.shz-site *, .shz-site *::before, .shz-site *::after { box-sizing: border-box; }
.shz-site .shz-wrap { max-width: var(--sh-maxw); margin: 0 auto; }

.shz-site .shz-eyebrow { color: var(--sh-primary); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: .72rem; margin: 0 0 6px; }
.shz-site .shz-title { font-family: var(--sh-head); font-weight: 800; font-size: clamp(1.7rem, 4vw, 2.6rem); line-height: 1.1; margin: 0 0 10px; color: var(--sh-text); }
.shz-site .shz-subtitle { font-family: var(--sh-head); font-size: 1.35rem; margin: 0 0 10px; color: var(--sh-text); }
.shz-site .shz-lead { color: var(--sh-muted); font-size: 1.05rem; margin: 0 0 18px; max-width: 62ch; }

.shz-site .shz-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.shz-site .shz-btn { display: inline-block; background: var(--sh-primary); color: var(--sh-ink); font-weight: 800; text-decoration: none; border: 0; border-radius: var(--sh-pill); padding: 12px 22px; cursor: pointer; font-size: 1rem; }
.shz-site .shz-btn:hover { filter: brightness(1.06); }
.shz-site .shz-btn--ghost { background: transparent; color: var(--sh-text); border: 1px solid var(--sh-border); }

.shz-site .shz-hero { background: var(--sh-surface); border-radius: var(--sh-radius); padding: clamp(24px, 5vw, 54px); position: relative; overflow: hidden; background-size: cover; background-position: center; }
.shz-site .shz-hero--img::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(24,21,18,.35), rgba(24,21,18,.85)); }
.shz-site .shz-hero > * { position: relative; }

.shz-site .shz-section { padding: clamp(26px, 5vw, 50px) 0; }
.shz-site .shz-section__head { margin-bottom: 18px; }

.shz-site .shz-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.shz-site .shz-card { background: var(--sh-surface); border: 1px solid var(--sh-border); border-radius: var(--sh-radius); padding: 20px; }
.shz-site .shz-card h3 { margin: 0 0 6px; color: var(--sh-text); font-size: 1.1rem; }
.shz-site .shz-card p { margin: 0; color: var(--sh-muted); font-size: .95rem; }

.shz-site .shz-badge { display: inline-flex; align-items: center; gap: 8px; background: var(--sh-card); border: 1px solid var(--sh-border); border-radius: var(--sh-pill); padding: 8px 14px; color: var(--sh-text); font-weight: 600; }

.shz-site .shz-prose p { color: var(--sh-muted); margin: 0 0 14px; }
.shz-site .shz-prose p:last-child { margin-bottom: 0; }

.shz-site .shz-media { border-radius: var(--sh-radius); overflow: hidden; border: 1px solid var(--sh-border); }
.shz-site .shz-media img { display: block; width: 100%; height: 100%; object-fit: cover; }

.shz-site .shz-split { display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; align-items: center; }

.shz-site .shz-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.shz-site .shz-gallery a { display: block; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: var(--sh-card); }
.shz-site .shz-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; }
.shz-site .shz-gallery a:hover img { transform: scale(1.06); }

.shz-site .shz-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.shz-site .shz-contact ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.shz-site .shz-contact li { color: var(--sh-muted); }
.shz-site .shz-contact strong { color: var(--sh-text); }
.shz-site .shz-contact a { color: var(--sh-primary); text-decoration: none; }
.shz-site .shz-map { border: 0; width: 100%; min-height: 300px; border-radius: var(--sh-radius); display: block; }

@media (max-width: 760px) {
  .shz-site .shz-split, .shz-site .shz-contact { grid-template-columns: 1fr; }
}
