
/* The Lifetime List — avorio e filetto rosso sono gli stessi della grafica dei video
   (regola 3 del restyling del 20/09): sito e video devono sembrare la stessa cosa. */
:root{
  --bg:#15120f; --bg-alt:#1c1814; --card:#201b16; --border:#332c24;
  --gold:#f0b84e; --gold-dim:#c99a3d; --text:#f2ede4; --text-dim:#b9b0a2;
  --avorio:#f4efe4; --rosso:#b3231f;
  --serif:Didot,"Playfair Display",Georgia,"Times New Roman",serif;
  --corpo:Charter,Georgia,"Iowan Old Style","Times New Roman",serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--corpo);
  -webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.muted{color:var(--text-dim);font-size:.88rem}
.kicker{display:block;color:var(--rosso);text-transform:uppercase;letter-spacing:2px;
  font-size:.72rem;font-weight:700;margin-bottom:10px;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif}

.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 24px;border-bottom:1px solid var(--border);position:sticky;top:0;
  background:rgba(21,18,15,.94);backdrop-filter:blur(8px);z-index:10;flex-wrap:wrap}
.site-header .brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:2.5px;
  font-size:.9rem;font-family:-apple-system,BlinkMacSystemFont,sans-serif}
.site-header .brand img{width:34px;height:34px;border-radius:50%}
.site-header nav{display:flex;gap:22px;flex-wrap:wrap}
.site-header nav a{color:var(--text-dim);font-size:.9rem;
  font-family:-apple-system,BlinkMacSystemFont,sans-serif}
.site-header nav a:hover{color:var(--gold)}

.hero{max-width:1120px;margin:0 auto;padding:64px 20px 26px}
.hero h1{margin:0 0 16px;font-family:var(--serif);font-weight:500;font-size:3.1rem;line-height:1.08;
  letter-spacing:-.5px}
.hero-copy{margin:0;color:var(--text-dim);line-height:1.62;max-width:64ch;font-size:1.05rem}
.hero-small{padding:52px 20px 20px}
.hero-small h1{font-size:2.3rem}

.band{max-width:1120px;margin:0 auto;padding:22px 20px 56px}
.band-alt{border-top:1px solid var(--border);padding-top:48px}
.band-head{margin-bottom:26px}
.band-head h2{margin:0 0 8px;font-family:var(--serif);font-weight:500;font-size:2rem}
.band-head p{margin:0;color:var(--text-dim);max-width:62ch;line-height:1.55}
.band-more{margin:28px 0 0}
.band-more a{color:var(--gold);font-weight:700;letter-spacing:.4px}

.ep-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));margin-top:22px}
.ep-card,.guide-card{display:block;background:var(--card);border:1px solid var(--border);
  border-radius:4px;overflow:hidden;transition:transform .15s,border-color .15s}
.ep-card:hover,.guide-card:hover{transform:translateY(-4px);border-color:var(--gold-dim)}
.ep-thumb{aspect-ratio:16/9;background:var(--bg-alt)}
.ep-thumb img{width:100%;height:100%;object-fit:cover}
.ep-body,.guide-card{padding:18px 20px 20px}
.ep-body{padding:18px 20px 20px}
.ep-card h3,.guide-card h3{margin:0 0 9px;font-family:var(--serif);font-weight:500;font-size:1.22rem;
  line-height:1.28}
.ep-hook{margin:0 0 16px;color:var(--text-dim);font-size:.92rem;line-height:1.55}
.ep-foot{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  border-top:1px solid var(--border);padding-top:12px;font-size:.76rem;flex-wrap:wrap}
.ep-date{color:var(--text-dim);letter-spacing:.4px}
.ep-cta{color:var(--gold);font-weight:700;letter-spacing:.6px;text-transform:uppercase;
  font-family:-apple-system,BlinkMacSystemFont,sans-serif}
.ep-card-big{display:grid;grid-template-columns:1.2fr 1fr;align-items:stretch;margin-bottom:6px}
.ep-card-big .ep-body{padding:32px 36px;display:flex;flex-direction:column;justify-content:center}
.ep-card-big h3{font-size:2rem;line-height:1.16}
.ep-card-big .ep-hook{font-size:1rem}
.guide-card{display:flex;flex-direction:column;justify-content:space-between}

.ivory{background:var(--avorio);color:#1a1712;max-width:none;padding:44px 20px 52px;
  border-top:3px solid var(--rosso)}
.ivory .kicker{max-width:1120px;margin:0 auto 18px}
.ivory-cols{max-width:1120px;margin:0 auto;display:grid;gap:30px;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.ivory-cols h3{margin:0 0 8px;font-family:var(--serif);font-weight:600;font-size:1.22rem}
.ivory-cols p{margin:0;line-height:1.6;font-size:.95rem;color:#4a4136}

.container{max-width:760px;margin:0 auto;padding:26px 20px 64px}
/* ⛔ 22/09: la guida a due colonne in 760px lasciava ZERO larghezza al testo del prodotto
   (misurato: colonna centrale 0px). La pagina che vende e' larga; quella che si legge resta a 760. */
.container-wide{max-width:1180px}
.container-wide .guida-intro,.container-wide>h1,.container-wide>.riga-dati{max-width:820px}
.breadcrumb{color:var(--text-dim);font-size:.78rem;text-transform:uppercase;letter-spacing:1.4px;
  margin:0 0 22px;font-family:-apple-system,BlinkMacSystemFont,sans-serif}
.breadcrumb a{color:var(--gold)}
.container h1{font-family:var(--serif);font-weight:500;font-size:2.5rem;line-height:1.14;margin:0 0 12px}
.container h2{font-family:var(--serif);font-weight:500;font-size:1.65rem;line-height:1.24;
  margin:2.1em 0 .5em;border-top:2px solid var(--rosso);padding-top:18px}
.container h3{font-family:var(--serif);font-weight:500;font-size:1.25rem;margin:1.6em 0 .4em}
.container p{line-height:1.72;font-size:1.06rem}
.riga-dati{color:var(--text-dim);font-size:.85rem;letter-spacing:.4px;margin:0 0 6px}
.guida-intro{font-size:1.12rem;line-height:1.68;color:#e7e0d4}
/* ---- 22/09/2026: i prodotti si devono VEDERE (richiesta utente). Bottone pieno oro, righe
   prodotto, tre scelte in cima, colonna appiccicata, fascia negozio. Stile dal mockup Stitch
   «guida shop» (SITI_SOAP/prove_stitch/findsvault_guida_shop_22set.html). */
.btn-buy{display:inline-block;background:var(--gold);color:#15120f;font-family:-apple-system,
  BlinkMacSystemFont,"Helvetica Neue",sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.06em;
  text-transform:uppercase;padding:13px 20px;border:1px solid var(--gold);white-space:nowrap;text-align:center}
.btn-buy:hover{background:#ffd795;border-color:#ffd795}
.btn-nav{padding:9px 14px;font-size:.72rem}
.btn-mini{padding:8px 12px;font-size:.7rem}
.picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin:26px 0 34px}
.pick{background:var(--card);border:1px solid var(--border);padding:22px;display:flex;flex-direction:column}
.pick-lab{color:var(--rosso);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:.68rem;
  font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.pick h3{font-family:var(--serif);font-size:1.22rem;margin:0 0 8px;border:0;padding:0}
.pick p{color:var(--text-dim);font-size:.95rem;margin:0 0 12px;flex:1}
.pick .btn-buy{width:100%}
.code-chip{display:inline-block;background:var(--avorio);color:#15120f;font-family:ui-monospace,
  SFMono-Regular,Menlo,monospace;font-size:.74rem;padding:4px 9px;margin:0 0 12px}
.prod-list{margin:0 0 28px}
.prod-row{display:grid;grid-template-columns:120px minmax(0,1fr) 220px;gap:20px;align-items:center;
  border-top:1px solid var(--border);padding:20px 0}
.prod-row:last-child{border-bottom:1px solid var(--border)}
.prod-ph{height:120px;background:var(--bg-alt);border:1px solid var(--border);display:flex;
  align-items:center;justify-content:center;text-align:center;padding:8px;color:#6f6557;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;word-break:break-word}
.prod-txt h3{font-family:var(--serif);font-size:1.12rem;margin:0 0 6px;border:0;padding:0}
.prod-txt p{margin:0 0 10px;color:var(--text-dim);font-size:.97rem}
.prod-cta{display:flex;flex-direction:column;align-items:stretch;gap:6px}
.prod-note{color:var(--text-dim);font-size:.72rem;text-align:center}
.guida-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:38px;align-items:start}
.side-sticky{position:sticky;top:18px;display:flex;flex-direction:column;gap:16px}
.side-box{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--rosso);padding:18px}
.side-h{font-size:1.1rem;margin:6px 0 10px;border:0;padding:0}
.mini-row{display:flex;justify-content:space-between;align-items:center;gap:12px;
  border-top:1px solid var(--border);padding:12px 0}
.mini-row:first-of-type{border-top:0}
.mini-nome{font-size:.92rem;color:var(--text)}
.side-ep{display:block;margin-top:8px}
.side-ep img{width:100%;height:auto;border:1px solid var(--border)}
.side-ep span{display:block;margin-top:8px;font-size:.92rem;color:var(--text)}
.shop-band{background:var(--bg-alt);border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);padding:44px 0;margin:48px 0 0}
.shop-band h2{border:0;padding:0;margin:6px 0 20px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.tile{background:var(--card);border:1px solid var(--border);padding:16px 18px;display:block}
.tile:hover{border-color:var(--gold-dim)}
.tile-nome{display:block;font-family:var(--serif);font-size:1.05rem;color:var(--text)}
.tile-n{display:block;margin-top:6px;color:var(--text-dim);font-size:.8rem}
.buy-inline{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--rosso);
  padding:22px 24px;margin:34px 0}
.buy-inline h2{border:0;padding:0;margin:6px 0 12px;font-size:1.35rem}
.buy-inline .muted{margin:12px 0}
@media(max-width:900px){
  .guida-layout{grid-template-columns:1fr}
  .side-sticky{position:static}
  .prod-row{grid-template-columns:80px minmax(0,1fr);row-gap:12px}
  .prod-ph{height:80px}
  .prod-cta{grid-column:1/-1}
  .btn-nav{display:none}
}

.player{position:relative;margin:26px 0 30px;aspect-ratio:16/9;border-radius:4px;overflow:hidden;
  border:1px solid var(--border)}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.episodio{font-size:1.08rem;line-height:1.74;color:#e7e0d4}
.episodio p{margin:0 0 1.2em}
.episodio sup.fonte{font-size:.6em;vertical-align:super;margin-left:2px}
.episodio sup.fonte a{color:var(--gold-dim)}
.episodio sup.fonte a:hover{color:var(--gold)}

.toc{background:var(--bg-alt);border:1px solid var(--border);border-top:3px solid var(--rosso);
  border-radius:4px;padding:20px 24px;margin:28px 0}
.toc-head{display:block;text-transform:uppercase;letter-spacing:2px;font-size:.7rem;
  color:var(--text-dim);font-weight:700;margin-bottom:10px;
  font-family:-apple-system,BlinkMacSystemFont,sans-serif}
.toc ol{margin:0;padding-left:20px;line-height:1.85}
.toc a{color:var(--gold)}

.lifetime-list{line-height:1.72;padding-left:20px}
.lifetime-list li{margin-bottom:15px}
.buy{color:var(--gold);font-weight:700;white-space:nowrap}
.gruppo-nota{color:var(--text-dim);line-height:1.62;margin:0 0 16px}
.codes-wrap{overflow-x:auto;margin:10px 0 26px}
.codes{background:var(--avorio);color:#1a1712;border-collapse:collapse;min-width:320px}
.codes th,.codes td{border:1px solid #cdc3b0;padding:8px 15px;text-align:left;font-size:.95rem}
.codes th{border-top:3px solid var(--rosso);font-family:var(--serif);font-weight:600}
.disclosure{color:var(--text-dim);font-size:.86rem;border-left:3px solid var(--rosso);
  padding-left:13px;line-height:1.55}
.audible{color:var(--text-dim);font-size:.92rem;line-height:1.6}
.audible a,.episodi-collegati a{color:var(--gold)}
.episodi-collegati{line-height:1.9;padding-left:20px}
.verso-guida{background:var(--bg-alt);border:1px solid var(--border);border-top:3px solid var(--rosso);
  border-radius:4px;padding:26px 28px;margin:40px 0 10px}
.verso-guida h2{border:0;padding:0;margin:0 0 10px;font-size:1.4rem}
.verso-guida p{margin:0 0 12px;color:var(--text-dim);font-size:1rem}
ol.fonti{color:var(--text-dim);font-size:.9rem;line-height:1.65;padding-left:22px}
ol.fonti li{margin-bottom:9px;scroll-margin-top:90px;word-break:break-word}
ol.fonti li:target{background:rgba(240,184,78,.13);outline:2px solid var(--gold-dim);
  outline-offset:5px;border-radius:2px}
ol.fonti a{color:var(--gold-dim)}

/* ---- pagina pilastro e scorrimento infinito ---- */
.pilastro{padding-top:8px}
.pilastro-card{display:block;background:var(--bg-alt);border:1px solid var(--border);
  border-top:3px solid var(--rosso);border-radius:4px;padding:30px 34px;transition:border-color .15s}
.pilastro-card:hover{border-color:var(--gold-dim)}
.pilastro-card h2{margin:0 0 12px;font-family:var(--serif);font-weight:500;font-size:1.9rem;line-height:1.18}
.pilastro-card p{margin:0 0 18px;color:var(--text-dim);line-height:1.6;max-width:70ch}
.sede{color:var(--text-dim)}
.sentinella{display:flex;justify-content:center;padding:34px 0}
.spinner{width:26px;height:26px;border:2px solid var(--border);border-top-color:var(--gold);
  border-radius:50%;animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-top-color:var(--border)}}
@media(max-width:760px){.pilastro-card{padding:20px 22px}.pilastro-card h2{font-size:1.4rem}}

.site-footer{border-top:1px solid var(--border);background:var(--bg-alt);padding:44px 24px 28px}
.footer-cols{max-width:1120px;margin:0 auto;display:grid;gap:30px;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.footer-col a{display:block;color:var(--text-dim);font-size:.9rem;margin-bottom:7px}
.footer-col a:hover{color:var(--gold)}
.footer-col p{color:var(--text-dim);font-size:.9rem;line-height:1.55;margin:8px 0 0}
.footer-brand{font-weight:700;letter-spacing:2.5px;font-size:.9rem;
  font-family:-apple-system,BlinkMacSystemFont,sans-serif}
.footer-head{display:block;text-transform:uppercase;letter-spacing:1.6px;font-size:.7rem;
  color:var(--text-dim);font-weight:700;margin-bottom:12px;
  font-family:-apple-system,BlinkMacSystemFont,sans-serif}
.footer-legal{max-width:1120px;margin:32px auto 0;color:var(--text-dim);font-size:.78rem;
  border-top:1px solid var(--border);padding-top:18px}

@media(max-width:760px){
  .hero{padding:44px 20px 20px}
  .hero h1{font-size:2.1rem}
  .ep-card-big{grid-template-columns:1fr}
  .ep-card-big h3{font-size:1.4rem}
  .ep-card-big .ep-body{padding:20px 22px 24px}
  .container h1{font-size:1.85rem}
  .container h2{font-size:1.32rem}
  .band-head h2{font-size:1.5rem}
}
