/* ============================================================
   Deliberato — temi combinati (Carta · Notte · Giorno)
   Carta = base (deliberato.css). Notte/Giorno = override scoped
   sotto html[data-theme="..."].
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400;0,6..96,500;0,6..96,600;0,6..96,700;1,6..96,400;1,6..96,500&display=swap');

.suits-bg { display: none; }
html[data-theme="notte"] .suits-bg,
html[data-theme="giorno"] .suits-bg { display: block; }


/* ============ TEMA: NOTTE ============ */

/* ============================================================
   Deliberato — tema "Suits"
   Corporate-noir: nero caldo, ottone, Bodoni. Manhattan di notte.
   Caricato DOPO deliberato.css e council.css → vince sulle variabili.
   ============================================================ */
html[data-theme="notte"] {
  /* nero caldo + ottone */
  --paper:        #14120c;
  --paper-deep:   #0e0c07;
  --surface:      #1c190f;
  --surface-2:    #232014;
  --ink:          #f1ead8;
  --ink-2:        #d4ccb6;
  --muted:        #9b927a;
  --faint:        #6e6651;
  --line:         #322d1d;
  --line-soft:    #28230f;
  --line-strong:  #4a4230;

  --accent:       #c6a052;   /* ottone */
  --accent-deep:  #a8843a;
  --accent-tint:  rgba(198,160,82,.15);
  --on-accent:    #14120c;

  --display: 'Bodoni Moda', 'Spectral', Georgia, serif;

  --shadow-card: 0 1px 2px rgba(0,0,0,.4), 0 16px 40px -20px rgba(0,0,0,.7);
  --shadow-lift: 0 2px 4px rgba(0,0,0,.5), 0 30px 70px -28px rgba(0,0,0,.85);
}
html[data-theme="notte"] body { background: var(--paper-deep); }
html[data-theme="notte"] ::selection { background: var(--accent); color: var(--on-accent); }
/* ── atmosfera notturna: bagliore città + griglia "grattacielo" ── */
html[data-theme="notte"] .suits-bg { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; background: var(--paper-deep); }
html[data-theme="notte"] .suits-bg::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(80% 55% at 82% -8%, rgba(198,160,82,.16), transparent 60%),
    radial-gradient(70% 50% at 12% 108%, rgba(120,96,40,.10), transparent 60%),
    linear-gradient(180deg, #15130d 0%, #100e08 55%, #0c0a06 100%);
}
html[data-theme="notte"] .suits-bg::after {
  content: ""; position: absolute; inset: 0; opacity: .5;
  background-image:
    repeating-linear-gradient(90deg, rgba(241,234,216,.018) 0 1px, transparent 1px 64px),
    repeating-linear-gradient(0deg, rgba(241,234,216,.014) 0 1px, transparent 1px 64px);
  -webkit-mask-image: radial-gradient(120% 80% at 50% 0%, #000 30%, transparent 78%);
  mask-image: radial-gradient(120% 80% at 50% 0%, #000 30%, transparent 78%);
}
/* ── header: targa d'ottone ── */
html[data-theme="notte"] .site-header { background: color-mix(in srgb, var(--paper-deep) 80%, transparent); border-bottom-color: var(--line); }
html[data-theme="notte"] .brand__mark { color: var(--ink); letter-spacing: -.01em; }
html[data-theme="notte"] .brand__tag { color: var(--accent); letter-spacing: .22em; font-weight: 500; }
html[data-theme="notte"] .site-nav a { color: var(--ink-2); }
html[data-theme="notte"] .site-nav a:hover { color: var(--accent); }
/* ── hero: didone drammatica ── */
html[data-theme="notte"] .hero__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  color: var(--accent); letter-spacing: .26em; font-size: 11.5px; font-weight: 500;
}
html[data-theme="notte"] .hero__eyebrow::before,
html[data-theme="notte"] .hero__eyebrow::after { content: ""; width: 26px; height: 1px; background: var(--accent); opacity: .6; }
html[data-theme="notte"] .hero__eyebrow::after { display: none; }
html[data-theme="notte"] .hero h1 {
  font-family: var(--display);
  font-weight: 600;
  font-size: clamp(40px, 6.4vw, 76px);
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--ink);
}
html[data-theme="notte"] .hero h1 .accent { color: var(--accent); font-style: italic; font-weight: 500; }
html[data-theme="notte"] .hero__sub { color: var(--ink-2); }
/* ── form: vetro scuro, focus ottone, CTA oro ── */
html[data-theme="notte"] .delib {
  background: linear-gradient(180deg, rgba(36,32,20,.92), rgba(24,21,13,.92));
  border-color: var(--line-strong);
  box-shadow: var(--shadow-card), 0 0 0 1px rgba(198,160,82,.06) inset;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
html[data-theme="notte"] .delib__label span { color: var(--ink-2); }
html[data-theme="notte"] .delib__field {
  background: rgba(12,10,6,.6); color: var(--ink); border-color: var(--line-strong);
}
html[data-theme="notte"] .delib__field::placeholder { color: var(--faint); }
html[data-theme="notte"] .delib__field:focus { border-color: var(--accent); background: rgba(12,10,6,.85); box-shadow: 0 0 0 3px var(--accent-tint); }
html[data-theme="notte"] .chip { background: rgba(241,234,216,.04); border-color: var(--line-strong); color: var(--ink-2); }
html[data-theme="notte"] .chip:hover { border-color: var(--accent); color: var(--accent); background: rgba(198,160,82,.08); }
html[data-theme="notte"] .speed__opt { background: rgba(12,10,6,.45); border-color: var(--line-strong); }
html[data-theme="notte"] .speed__opt:hover { border-color: var(--accent-deep); }
html[data-theme="notte"] .speed__opt::before { border-color: var(--line-strong); }
html[data-theme="notte"] .speed__opt:has(input:checked) { background: rgba(198,160,82,.07); border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-tint); }
html[data-theme="notte"] .speed__opt:has(input:checked)::before { background: var(--accent); border-color: var(--accent); box-shadow: inset 0 0 0 3px var(--surface); }
html[data-theme="notte"] .speed__name { color: var(--ink); }
html[data-theme="notte"] .speed__meta { color: var(--muted); }
/* bottone primario: ottone spazzolato */
html[data-theme="notte"] .btn {
  background: linear-gradient(180deg, #d8b365, #bd9343);
  color: #1a1710; font-weight: 700; letter-spacing: .01em;
  box-shadow: 0 1px 0 rgba(255,240,200,.45) inset, 0 10px 24px -12px rgba(198,160,82,.6);
}
html[data-theme="notte"] .btn:hover { background: linear-gradient(180deg, #e3c179, #c89c48); box-shadow: 0 1px 0 rgba(255,240,200,.5) inset, 0 14px 30px -12px rgba(198,160,82,.7); }
html[data-theme="notte"] .btn--ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1px var(--line-strong); }
html[data-theme="notte"] .btn--ghost:hover { background: rgba(198,160,82,.07); color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
/* ── council in dark mode ── */
html[data-theme="notte"] .cl-head { border-bottom-color: var(--line); }
html[data-theme="notte"] .cl-decision { color: var(--ink); border-left-color: var(--accent); }
html[data-theme="notte"] .cl-track { background: rgba(12,10,6,.5); border-color: var(--line); }
html[data-theme="notte"] .cl-status[data-state="active"] { background: rgba(198,160,82,.06); }
html[data-theme="notte"] .cl-section__head { border-bottom-color: var(--line); }
html[data-theme="notte"] .cl-section__num { color: var(--accent); }
html[data-theme="notte"] .cl-advisor { background: linear-gradient(180deg, rgba(34,30,18,.7), rgba(22,19,11,.7)); border-color: var(--line); }
html[data-theme="notte"] .cl-advisor.is-done { border-color: var(--line-strong); }
html[data-theme="notte"] .cl-advisor__seal { background: var(--surface-2); color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent-deep); font-weight: 700; }
html[data-theme="notte"] .cl-advisor.is-done .cl-advisor__seal { background: linear-gradient(180deg, #d8b365, #bd9343); color: #1a1710; box-shadow: none; }
html[data-theme="notte"] .cl-advisor__body { color: var(--ink-2); }
html[data-theme="notte"] [data-council-layout="timeline"] .cl-advisors::before { background: var(--line-strong); }
html[data-theme="notte"] .cl-review { background: rgba(12,10,6,.4); }
html[data-theme="notte"] .cl-review__by { color: var(--accent); }
html[data-theme="notte"] .cl-review__text { color: var(--ink-2); }
/* verdetto: documento incorniciato d'ottone */
html[data-theme="notte"] .cl-verdict {
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(198,160,82,.14), transparent 55%),
    linear-gradient(180deg, #1a160d, #110e07);
  color: var(--ink);
  border: 1px solid var(--accent-deep);
  box-shadow: var(--shadow-lift), 0 0 0 1px rgba(198,160,82,.18) inset, 0 0 60px -20px rgba(198,160,82,.4);
}
html[data-theme="notte"] .cl-verdict::before { display: none; }
html[data-theme="notte"] .cl-verdict .eyebrow { color: var(--accent); }
html[data-theme="notte"] .cl-verdict__seal { border-color: var(--accent-deep); color: var(--accent); }
html[data-theme="notte"] .cl-verdict__title { font-family: var(--display); color: var(--ink); }
html[data-theme="notte"] .cl-verdict__rec { color: var(--ink); border-bottom-color: var(--line-strong); font-family: var(--display); font-weight: 400; }
html[data-theme="notte"] .cl-vblock h4 { color: var(--accent); }
html[data-theme="notte"] .cl-vblock p { color: var(--ink-2); }
html[data-theme="notte"] .cl-confidence { background: rgba(12,10,6,.5); border-color: var(--line-strong); }
html[data-theme="notte"] .cl-confidence__label { color: var(--muted); }
html[data-theme="notte"] .cl-confidence__note { color: var(--ink-2); }
html[data-theme="notte"] .cl-plan__title { font-family: var(--display); }
html[data-theme="notte"] .cl-plan__row { border-top-color: var(--line-strong); }
html[data-theme="notte"] .cl-plan__when { color: var(--accent); }
html[data-theme="notte"] .cl-plan__what { color: var(--ink-2); }
html[data-theme="notte"] .cl-foot__upsell { color: var(--ink-2); }
html[data-theme="notte"] .cl-disclaimer { color: var(--faint); }
/* ── footer ── */
html[data-theme="notte"] .site-footer { background: var(--paper-deep); border-top-color: var(--line); }
html[data-theme="notte"] .site-footer__brand { color: var(--ink); }
html[data-theme="notte"] .site-footer__legal { color: var(--faint); }
html[data-theme="notte"] .site-footer__col a { color: var(--muted); }
html[data-theme="notte"] .site-footer__col a:hover { color: var(--accent); }
/* la section-head generica (se usata) */
html[data-theme="notte"] .section-head h2 { color: var(--ink); }
html[data-theme="notte"] .eyebrow.neutral { color: var(--faint); }

/* ============ TEMA: GIORNO ============ */

/* ============================================================
   Deliberato — tema "Suits · Giorno"
   Hall di marmo: avorio/travertino, ottone caldo, inchiostro grafite-blu.
   Caricato DOPO deliberato.css e council.css.
   ============================================================ */
html[data-theme="giorno"] {
  /* marmo + travertino */
  --paper:        #f3eee3;
  --paper-deep:   #ece5d6;
  --surface:      #fbf8f1;
  --surface-2:    #f4efe3;
  --ink:          #20242c;   /* grafite-blu (completo navy) */
  --ink-2:        #3c424d;
  --muted:        #6b6e74;
  --faint:        #9a958a;
  --line:         #e0d8c6;
  --line-soft:    #ebe4d5;
  --line-strong:  #cbc0a8;

  --accent:       #9a7322;   /* ottone caldo, leggibile su chiaro */
  --accent-deep:  #7c5a17;
  --accent-tint:  rgba(154,115,34,.14);
  --on-accent:    #fbf8f1;

  --display: 'Bodoni Moda', 'Spectral', Georgia, serif;

  --shadow-card: 0 1px 2px rgba(32,24,8,.05), 0 14px 36px -20px rgba(60,46,16,.28);
  --shadow-lift: 0 2px 6px rgba(32,24,8,.08), 0 28px 64px -26px rgba(60,46,16,.4);
}
html[data-theme="giorno"] body { background: var(--paper-deep); }
html[data-theme="giorno"] ::selection { background: var(--accent); color: var(--on-accent); }
/* ── atmosfera: luce di marmo + venatura sottile ── */
html[data-theme="giorno"] .suits-bg { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; background: var(--paper-deep); }
html[data-theme="giorno"] .suits-bg::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(78% 52% at 84% -10%, rgba(154,115,34,.12), transparent 60%),
    radial-gradient(70% 50% at 8% 110%, rgba(203,192,168,.35), transparent 60%),
    linear-gradient(180deg, #f6f1e7 0%, #efe8d9 55%, #e9e1d0 100%);
}
html[data-theme="giorno"] .suits-bg::after {
  content: ""; position: absolute; inset: 0; opacity: .6;
  background-image:
    repeating-linear-gradient(90deg, rgba(60,46,16,.04) 0 1px, transparent 1px 72px),
    repeating-linear-gradient(0deg, rgba(60,46,16,.03) 0 1px, transparent 1px 72px);
  -webkit-mask-image: radial-gradient(120% 80% at 50% 0%, #000 28%, transparent 80%);
  mask-image: radial-gradient(120% 80% at 50% 0%, #000 28%, transparent 80%);
}
/* ── header ── */
html[data-theme="giorno"] .site-header { background: color-mix(in srgb, var(--paper) 84%, transparent); border-bottom-color: var(--line); }
html[data-theme="giorno"] .brand__mark { color: var(--ink); }
html[data-theme="giorno"] .brand__tag { color: var(--accent); letter-spacing: .22em; font-weight: 600; }
html[data-theme="giorno"] .site-nav a { color: var(--ink-2); }
html[data-theme="giorno"] .site-nav a:hover { color: var(--accent); }
/* ── hero ── */
html[data-theme="giorno"] .hero__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  color: var(--accent); letter-spacing: .26em; font-size: 11.5px; font-weight: 600;
}
html[data-theme="giorno"] .hero__eyebrow::before { content: ""; width: 26px; height: 1px; background: var(--accent); opacity: .55; }
html[data-theme="giorno"] .hero h1 {
  font-family: var(--display); font-weight: 600;
  font-size: clamp(40px, 6.4vw, 76px); line-height: 1.05; letter-spacing: -0.015em;
  color: var(--ink);
}
html[data-theme="giorno"] .hero h1 .accent { color: var(--accent); font-style: italic; font-weight: 500; }
html[data-theme="giorno"] .hero__sub { color: var(--ink-2); }
/* ── form ── */
html[data-theme="giorno"] .delib {
  background: linear-gradient(180deg, var(--surface), #f7f2e8);
  border-color: var(--line-strong);
  box-shadow: var(--shadow-card), 0 0 0 1px rgba(154,115,34,.05) inset;
}
html[data-theme="giorno"] .delib__label span { color: var(--ink-2); }
html[data-theme="giorno"] .delib__field { background: #fffdf8; color: var(--ink); border-color: var(--line-strong); }
html[data-theme="giorno"] .delib__field::placeholder { color: var(--faint); }
html[data-theme="giorno"] .delib__field:focus { border-color: var(--accent); background: #fff; box-shadow: 0 0 0 3px var(--accent-tint); }
html[data-theme="giorno"] .chip { background: var(--surface-2); border-color: var(--line-strong); color: var(--ink-2); }
html[data-theme="giorno"] .chip:hover { border-color: var(--accent); color: var(--accent); background: #fff; }
html[data-theme="giorno"] .speed__opt { background: #fffdf8; border-color: var(--line-strong); }
html[data-theme="giorno"] .speed__opt:hover { border-color: var(--accent-deep); }
html[data-theme="giorno"] .speed__opt::before { border-color: var(--line-strong); }
html[data-theme="giorno"] .speed__opt:has(input:checked) { background: rgba(154,115,34,.06); border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-tint); }
html[data-theme="giorno"] .speed__opt:has(input:checked)::before { background: var(--accent); border-color: var(--accent); box-shadow: inset 0 0 0 3px #fff; }
html[data-theme="giorno"] .speed__name { color: var(--ink); }
html[data-theme="giorno"] .speed__meta { color: var(--muted); }
/* bottone: ottone caldo */
html[data-theme="giorno"] .btn {
  background: linear-gradient(180deg, #b58c33, #97701f);
  color: #fef9ec; font-weight: 700; letter-spacing: .01em;
  box-shadow: 0 1px 0 rgba(255,244,214,.4) inset, 0 10px 24px -14px rgba(154,115,34,.7);
}
html[data-theme="giorno"] .btn:hover { background: linear-gradient(180deg, #c39a3d, #a37c26); box-shadow: 0 1px 0 rgba(255,244,214,.5) inset, 0 14px 30px -14px rgba(154,115,34,.8); }
html[data-theme="giorno"] .btn--ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1px var(--line-strong); }
html[data-theme="giorno"] .btn--ghost:hover { background: rgba(154,115,34,.06); color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
/* ── council ── */
html[data-theme="giorno"] .cl-head { border-bottom-color: var(--line); }
html[data-theme="giorno"] .cl-decision { color: var(--ink); border-left-color: var(--accent); }
html[data-theme="giorno"] .cl-track { background: var(--surface); border-color: var(--line); }
html[data-theme="giorno"] .cl-status[data-state="active"] { background: var(--surface-2); }
html[data-theme="giorno"] .cl-section__head { border-bottom-color: var(--line); }
html[data-theme="giorno"] .cl-section__num { color: var(--accent); }
html[data-theme="giorno"] .cl-advisor { background: linear-gradient(180deg, var(--surface), #f6f1e7); border-color: var(--line); }
html[data-theme="giorno"] .cl-advisor.is-done { border-color: var(--line-strong); }
html[data-theme="giorno"] .cl-advisor__seal { background: var(--surface-2); color: var(--accent-deep); box-shadow: inset 0 0 0 1px var(--accent); font-weight: 700; }
html[data-theme="giorno"] .cl-advisor.is-done .cl-advisor__seal { background: linear-gradient(180deg, #b58c33, #97701f); color: #fef9ec; box-shadow: none; }
html[data-theme="giorno"] .cl-advisor__body { color: var(--ink-2); }
html[data-theme="giorno"] [data-council-layout="timeline"] .cl-advisors::before { background: var(--line-strong); }
html[data-theme="giorno"] .cl-review { background: var(--surface-2); }
html[data-theme="giorno"] .cl-review__by { color: var(--accent-deep); }
html[data-theme="giorno"] .cl-review__text { color: var(--ink-2); }
/* verdetto: lastra di marmo incorniciata d'ottone (chiaro) */
html[data-theme="giorno"] .cl-verdict {
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(154,115,34,.12), transparent 55%),
    linear-gradient(180deg, #fbf8f1, #f1ead9);
  color: var(--ink);
  border: 1px solid var(--accent);
  box-shadow: var(--shadow-lift), 0 0 0 1px rgba(154,115,34,.12) inset;
}
html[data-theme="giorno"] .cl-verdict::before { display: none; }
html[data-theme="giorno"] .cl-verdict .eyebrow { color: var(--accent); }
html[data-theme="giorno"] .cl-verdict__seal { border-color: var(--accent); color: var(--accent-deep); }
html[data-theme="giorno"] .cl-verdict__title { font-family: var(--display); color: var(--ink); }
html[data-theme="giorno"] .cl-verdict__rec { color: var(--ink); border-bottom-color: var(--line-strong); font-family: var(--display); font-weight: 400; }
html[data-theme="giorno"] .cl-vblock h4 { color: var(--accent-deep); }
html[data-theme="giorno"] .cl-vblock p { color: var(--ink-2); }
html[data-theme="giorno"] .cl-confidence { background: var(--surface-2); border-color: var(--line-strong); }
html[data-theme="giorno"] .cl-confidence__label { color: var(--muted); }
html[data-theme="giorno"] .cl-confidence__value[data-level="MEDIA"] { background: var(--accent); color: #fff; }
html[data-theme="giorno"] .cl-confidence__note { color: var(--ink-2); }
html[data-theme="giorno"] .cl-plan__title { font-family: var(--display); }
html[data-theme="giorno"] .cl-plan__row { border-top-color: var(--line); }
html[data-theme="giorno"] .cl-plan__when { color: var(--accent-deep); }
html[data-theme="giorno"] .cl-plan__what { color: var(--ink-2); }
html[data-theme="giorno"] .cl-foot__upsell { color: var(--ink-2); }
html[data-theme="giorno"] .cl-disclaimer { color: var(--faint); }

/* ============ CHROME CONDIVISO (nav CTA in ottone, entrambi i temi) ============ */
html[data-theme="giorno"] .site-nav__cta,
html[data-theme="notte"] .site-nav__cta {
  background: linear-gradient(180deg, #c39a3d, #a37c26);
  color: #1a1710; box-shadow: 0 1px 0 rgba(255,244,214,.4) inset;
}
html[data-theme="notte"] .site-nav__cta {
  background: linear-gradient(180deg, #d8b365, #bd9343);
}
html[data-theme="giorno"] .site-nav__cta:hover,
html[data-theme="notte"] .site-nav__cta:hover {
  filter: brightness(1.06); box-shadow: 0 8px 20px -12px rgba(198,160,82,.7);
}
html[data-theme="notte"] .step__n,
html[data-theme="giorno"] .step__n { background: var(--surface); }

/* ── footer ── */
html[data-theme="giorno"] .site-footer { background: var(--surface-2); border-top-color: var(--line); }
html[data-theme="giorno"] .site-footer__brand { color: var(--ink); }
html[data-theme="giorno"] .site-footer__legal { color: var(--faint); }
html[data-theme="giorno"] .site-footer__col a { color: var(--muted); }
html[data-theme="giorno"] .site-footer__col a:hover { color: var(--accent); }
html[data-theme="giorno"] .section-head h2 { color: var(--ink); }
html[data-theme="giorno"] .eyebrow.neutral { color: var(--faint); }
