/* assets/css/vetrina.css — homepage (index.php) e pagine servizio (servizio.php), 09/10/2026.
   Era dentro index.php: spostato qui quando sono nate le pagine servizio, perché l'aspetto resti uno solo. */

/* ── HOMEPAGE COMMERCIALE (09/10/2026) ─────────────────────────────────────────────────────────────────
   Classi tutte «hp-»: style.css ha già .card, .btn, .steps e simili, e qui non devono incrociarsi.
   I colori delle sezioni passano dai token che i temi ridefiniscono (--c-surface, --c-border, --text,
   --muted, --amber): col tema chiaro la pagina vira con il resto del sito. Il riquadro in alto e il
   footer restano scuri in ogni tema, come la foto. */
.hp-wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.hp-gold{color:var(--amber)}
.hp-eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--amber)}
.hp-h2{font-family:var(--title);font-size:clamp(2.2rem,4.6vw,3.6rem);letter-spacing:.03em;line-height:1;margin:10px 0 14px}
.hp-lead{color:var(--muted);font-size:1.05rem;max-width:680px}
.hp-sec{padding:84px 0}
/* style.css dà a tutti gli h3 il carattere dei titoloni (Bebas): a 1,1rem nelle schede si legge male. */
.hp-step h3,.hp-card h3,.hp-why-it h3{font-family:var(--body);font-weight:700;letter-spacing:0;line-height:1.3}
.hp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:8px;
  font-weight:700;font-size:1rem;cursor:pointer;border:1px solid transparent;transition:transform .15s,background .15s;font-family:var(--body)}
.hp-btn-gold{background:var(--amber);color:#1a1305}
.hp-btn-gold:hover{transform:translateY(-1px);filter:brightness(1.08)}
.hp-btn-ghost{border-color:var(--c-border);color:var(--text)}
.hp-btn-ghost:hover{border-color:var(--amber);color:var(--amber)}

/* ── In alto: foto, titolo e modulo ────────────────────────────────────────────────────────────────── */
.hp-hero{position:relative;padding:72px 0 64px;overflow:hidden;background:#0d0d0d;color:#ece7dd}
.hp-hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.38) saturate(.6)}
.hp-hero-ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,13,13,.92) 0%,rgba(13,13,13,.55) 55%,rgba(13,13,13,.75) 100%),
  linear-gradient(to top,#0d0d0d 0%,transparent 35%)}
.hp-hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}
.hp-hero h1{font-family:var(--title);font-size:clamp(3rem,6.2vw,5.4rem);line-height:.92;letter-spacing:.02em;margin:16px 0 20px;color:#f3efe7}
.hp-hero .hp-sub{font-size:1.12rem;color:#d6cfc4;max-width:560px}
.hp-ticks{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:22px;font-size:.92rem;color:#cfc8bd}
.hp-ticks span::before{content:"✓";color:#E8A020;font-weight:700;margin-right:7px}
.hp-qcard{background:rgba(20,20,20,.94);border:1px solid #3a3122;border-radius:14px;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.hp-qcard h2{font-family:var(--title);font-size:2rem;letter-spacing:.03em;line-height:1;margin-bottom:4px;color:#f3efe7}
.hp-qsub{color:#a9a299;font-size:.9rem;margin-bottom:18px}
.hp-qf{display:grid;gap:12px}
.hp-qf .hp-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hp-qf label{display:block;font-size:.78rem;font-weight:600;color:#cfc8bd;margin-bottom:5px;letter-spacing:.02em}
.hp-qf input,.hp-qf select{width:100%;min-height:48px;background:#0f0f0f;border:1px solid #2c2c2c;border-radius:8px;color:#ece7dd;
  font:500 16px var(--body);padding:0 14px;color-scheme:dark}
.hp-qf input:focus,.hp-qf select:focus{outline:none;border-color:#E8A020;box-shadow:0 0 0 3px rgba(232,160,32,.18)}
.hp-qf .hp-btn{width:100%;min-height:54px;font-size:1.05rem;margin-top:4px;background:#E8A020}
.hp-qmicro{margin-top:12px;font-size:.78rem;color:#8a847b;line-height:1.5}

/* ── Numeri ────────────────────────────────────────────────────────────────────────────────────────── */
.hp-trust{border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);background:var(--c-surface);padding:26px 0}
.hp-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}
.hp-trust-v{font-family:var(--title);font-size:2.3rem;line-height:1;color:var(--amber);letter-spacing:.03em}
.hp-trust-l{font-size:.85rem;color:var(--muted);margin-top:4px}

/* ── Come funziona ─────────────────────────────────────────────────────────────────────────────────── */
.hp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.hp-step{background:var(--c-surface);border:1px solid var(--c-border);border-radius:12px;padding:26px 22px;position:relative}
.hp-step-n{font-family:var(--title);font-size:3.2rem;line-height:1;color:var(--c-border)}
.hp-step h3{font-size:1.15rem;margin:8px 0 6px}
.hp-step p{color:var(--muted);font-size:.95rem}
.hp-step-tag{position:absolute;top:22px;right:20px;font-size:.72rem;font-weight:700;color:var(--amber);border:1px solid var(--amber);border-radius:99px;padding:2px 10px;opacity:.85}

/* ── Cosa trasportiamo ─────────────────────────────────────────────────────────────────────────────── */
.hp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.hp-card{display:flex;flex-direction:column;background:var(--c-surface);border:1px solid var(--c-border);border-radius:12px;overflow:hidden;
  color:var(--text);transition:border-color .15s,transform .15s}
.hp-card:hover{border-color:var(--amber);transform:translateY(-2px)}
.hp-card picture img{width:100%;height:150px;object-fit:cover;filter:saturate(.7) brightness(.85)}
.hp-card-ic{font-size:1.6rem;padding:18px 18px 0}
.hp-card-b{padding:18px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.hp-card h3{font-size:1.08rem}
.hp-card p{color:var(--muted);font-size:.9rem;flex:1}
.hp-card .hp-more{color:var(--amber);font-weight:600;font-size:.88rem;margin-top:6px}
.hp-all{margin-top:22px}
.hp-all a{color:var(--amber);font-weight:600}

/* ── Perché noi ────────────────────────────────────────────────────────────────────────────────────── */
.hp-why{background:var(--c-surface);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}
.hp-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.hp-why-photo img{border-radius:14px;border:1px solid var(--c-border);width:100%;aspect-ratio:4/3;object-fit:cover}
.hp-why-list{display:grid;gap:20px;margin-top:26px}
.hp-why-it{display:grid;grid-template-columns:44px 1fr;gap:14px}
.hp-why-ic{width:44px;height:44px;border-radius:10px;background:rgba(232,160,32,.1);border:1px solid rgba(232,160,32,.25);display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.hp-why-it h3{font-size:1.04rem}
.hp-why-it p{color:var(--muted);font-size:.93rem}

/* ── Documenti: il riquadro della vecchia homepage, con il pulsante verso l'area documenti ─────────── */
.hp-docbox{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;
  background:var(--c-surface);border:1px solid var(--c-border);border-radius:14px;padding:28px 32px}
.hp-docbox h2{font-family:var(--title);font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1;letter-spacing:.03em;margin:8px 0 10px;max-width:none}
.hp-docbox p:last-child{color:var(--muted);max-width:620px}
/* Etichette (le usano le pagine servizio sotto il titolo) */
.hp-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--c-border);background:var(--c-surface);border-radius:99px;padding:9px 16px;font-size:.9rem}

/* ── Domande ───────────────────────────────────────────────────────────────────────────────────────── */
.hp-faq{max-width:860px;margin-top:28px}
.hp-faq details{border-bottom:1px solid var(--c-border)}
.hp-faq summary{list-style:none;cursor:pointer;padding:18px 34px 18px 0;font-weight:600;font-size:1.04rem;position:relative;min-height:44px}
.hp-faq summary::-webkit-details-marker{display:none}
.hp-faq summary::after{content:"+";position:absolute;right:4px;top:14px;font-size:1.4rem;color:var(--amber)}
.hp-faq details[open] summary::after{content:"–"}
.hp-faq details p{color:var(--muted);padding:0 0 18px;max-width:760px}

/* ── Chiusura ──────────────────────────────────────────────────────────────────────────────────────── */
.hp-cta{text-align:center;background:radial-gradient(ellipse 70% 90% at 50% 0%,rgba(232,160,32,.12),transparent 70%),var(--c-surface);border-top:1px solid var(--c-border)}
.hp-cta h2{font-family:var(--title);font-size:clamp(2.6rem,6vw,4.4rem);line-height:1;letter-spacing:.03em;margin-inline:auto}  /* style.css: h2 max-width 800px */
.hp-cta p{color:var(--muted);margin:12px 0 26px;font-size:1.08rem}
.hp-cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hp-already{padding:30px 0;border-top:1px solid var(--c-border)}
.hp-already-in{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap}
.hp-already-t{font-weight:700;margin-right:8px}
.hp-already a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--c-border);border-radius:8px;font-size:.92rem;color:var(--text)}
.hp-already a:hover{border-color:var(--amber);color:var(--amber)}

/* Larghezza: colonne che si schiacciano. */
@media (max-width:1020px){
  .hp-hero-grid{grid-template-columns:1fr;gap:30px}
  .hp-cards{grid-template-columns:1fr 1fr}
  .hp-why-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .hp-sec{padding:60px 0}
  .hp-wrap{width:calc(100% - 32px)}
  .hp-hero{padding:34px 0 44px}
  /* Il modulo deve affacciarsi nella prima schermata del telefono: titolo e testo più compatti. */
  .hp-hero h1{font-size:2.6rem;margin:10px 0 12px}
  .hp-hero .hp-sub{font-size:1rem}
  .hp-ticks{margin-top:14px}
  .hp-trust-grid{grid-template-columns:1fr 1fr}
  .hp-steps,.hp-cards{grid-template-columns:1fr}
  .hp-qcard{padding:20px}
  .hp-qf .hp-row2{grid-template-columns:1fr}
  .hp-docbox{padding:22px 20px}
  .hp-docbox .hp-btn{width:100%}
}
/* Telefono girato (~844x390): la larghezza non lo vede, l'altezza sì (CLAUDE.md §23.1). Titolo più basso,
   così il modulo comincia nella prima schermata invece che sotto. */
@media (max-height:500px){
  .hp-hero{padding:24px 0 36px}
  .hp-hero h1{font-size:2.4rem;margin:8px 0 10px}
  .hp-hero .hp-sub{font-size:1rem}
  .hp-ticks{margin-top:12px}
}

/* ══ PAGINE SERVIZIO (servizio.php, 09/10/2026) ══════════════════════════════════════════════════════
   Stesse regole della home: classi «sv-» proprie, colori dai token dei temi, riquadro del modulo scuro
   in ogni tema (.hp-qcard). I testi stanno in includes/servizi_pagine.php. */
.sv-crumb{font-size:.84rem;color:var(--muted);padding:22px 0 0}
.sv-crumb a{color:var(--muted)}
.sv-crumb a:hover{color:var(--amber)}
.sv-crumb span[aria-hidden]{margin:0 6px;opacity:.6}
.sv-top{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start;padding:26px 0 56px}
/* style.css: h1 enorme (fino a 10,5rem) e max-width 820px, pensato per la vecchia home */
.sv-top h1{font-family:var(--title);font-size:clamp(2.6rem,5.4vw,4.6rem);line-height:.95;letter-spacing:.02em;margin:12px 0 18px;max-width:none}
.sv-intro p{font-size:1.05rem;margin-bottom:12px;max-width:620px}
.sv-intro p:first-child{color:var(--text)}
.sv-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.sv-top .hp-qcard{position:sticky;top:calc(var(--app-nav-h,56px) + 20px)}
.sv-come{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.sv-block{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.sv-block.sv-solo{grid-template-columns:1fr}
.sv-block picture img{width:100%;border-radius:14px;border:1px solid var(--c-border);aspect-ratio:4/3;object-fit:cover}
.sv-punti{list-style:none;display:grid;gap:12px;margin-top:20px;padding:0}
.sv-punti li{position:relative;padding-left:28px;color:var(--text)}
.sv-punti li::before{content:"✓";position:absolute;left:0;top:0;color:var(--amber);font-weight:700}
.sv-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.sv-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--c-border);border-radius:8px;color:var(--text);font-size:.94rem}
.sv-links a:hover{border-color:var(--amber);color:var(--amber)}
.sv-404{padding:80px 0 100px;text-align:center}
.sv-404 h1{font-family:var(--title);font-size:clamp(2.4rem,5vw,3.6rem);max-width:none;margin:0 auto 14px}

@media (max-width:1020px){
  .sv-top{grid-template-columns:1fr;gap:28px}
  .sv-top .hp-qcard{position:static}
  .sv-block{grid-template-columns:1fr}
}
@media (max-width:720px){
  .sv-top{padding:18px 0 40px}
  .sv-top h1{font-size:2.5rem}
  .sv-come{grid-template-columns:1fr}
  /* Il modulo deve arrivare presto: il secondo paragrafo ripete quello che dice già il riquadro
     (stima subito, conferma scritta), e le etichette si stringono. */
  .sv-intro p + p{display:none}
  .sv-chips{gap:6px;margin-top:12px}
  .sv-chips .hp-badge{padding:5px 11px;font-size:.8rem}
}
/* Telefono girato: stessa logica della home, la guardia è l'altezza (CLAUDE.md §23.1). */
@media (max-height:500px){
  .sv-top{padding-top:12px}
  .sv-top h1{font-size:2.3rem;margin:8px 0 12px}
  .sv-intro p + p{display:none}
}
