/*
Theme Name: BPT
Theme URI: https://bodyperceptiontreatment.it
Description: Tema su misura per BPT — Body Perception Treatment. Block theme con tema chiaro/scuro su token condivisi.
Version: 0.1.0
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 8.2
Text Domain: bpt
License: GPL-2.0-or-later
*/

/* ---------------------------------------------------------------
   Token. theme.json rimanda a queste variabili: cambiarle qui
   cambia il sito intero, editor compreso.
   --------------------------------------------------------------- */

:root,
[data-theme="scuro"] {
  --bpt-bg: #171219;
  --bpt-surface: #1F1923;
  --bpt-surface-2: #241E28;
  --bpt-text: #F4EFEA;
  --bpt-muted: #BDAFC2;
  --bpt-faint: #8E7F95;
  --bpt-nav: #CDBFD2;
  --bpt-line: #2E2532;
  --bpt-line-2: #332A38;
  --bpt-border: #5A4A63;
  --bpt-accent: #E296CE;
  --bpt-accent-2: #7FB6E0;

  --bpt-band-bg: #F6F1EC;
  --bpt-band-card: #FFFFFF;
  --bpt-band-tint: #ECE2E8;
  --bpt-band-text: #241E28;
  --bpt-band-strong: #3A3340;
  --bpt-band-muted: #5C5262;
  --bpt-band-line: #DFD5DC;
  --bpt-band-border: #C9B9C4;
  --bpt-band-accent: #8E4380;
  --bpt-band-accent-2: #245C8A;

  color-scheme: dark;
}

[data-theme="chiaro"] {
  --bpt-bg: #F6F1EC;
  --bpt-surface: #FFFFFF;
  --bpt-surface-2: #EFE7EC;
  --bpt-text: #241E28;
  --bpt-muted: #5C5262;
  --bpt-faint: #8A7F91;
  --bpt-nav: #4C4453;
  --bpt-line: #E2D8DF;
  --bpt-line-2: #DFD5DC;
  --bpt-border: #C9B9C4;
  --bpt-accent: #8E4380;
  --bpt-accent-2: #245C8A;

  --bpt-band-bg: #241E28;
  --bpt-band-card: #2E2634;
  --bpt-band-tint: #3A2F3F;
  --bpt-band-text: #F4EFEA;
  --bpt-band-strong: #F4EFEA;
  --bpt-band-muted: #BDAFC2;
  --bpt-band-line: #4A3E51;
  --bpt-band-border: #5A4A63;
  --bpt-band-accent: #E296CE;
  --bpt-band-accent-2: #7FB6E0;

  color-scheme: light;
}

/* Chi non ha ancora scelto segue il sistema operativo. */
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) {
    --bpt-bg: #F6F1EC; --bpt-surface: #FFFFFF; --bpt-surface-2: #EFE7EC;
    --bpt-text: #241E28; --bpt-muted: #5C5262; --bpt-faint: #8A7F91;
    --bpt-nav: #4C4453; --bpt-line: #E2D8DF; --bpt-line-2: #DFD5DC; --bpt-border: #C9B9C4;
    --bpt-accent: #8E4380; --bpt-accent-2: #245C8A;
    --bpt-band-bg: #241E28; --bpt-band-card: #2E2634; --bpt-band-tint: #3A2F3F;
    --bpt-band-text: #F4EFEA; --bpt-band-strong: #F4EFEA; --bpt-band-muted: #BDAFC2;
    --bpt-band-line: #4A3E51; --bpt-band-border: #5A4A63;
    --bpt-band-accent: #E296CE; --bpt-band-accent-2: #7FB6E0;
    color-scheme: light;
  }
}

/* ---------------------------------------------------------------
   Marchio e regola dei titoli
   --------------------------------------------------------------- */

.bpt-marchio { display: flex; align-items: center; gap: 18px; text-decoration: none; color: var(--bpt-text); }
.bpt-marchio img { width: 68px; height: 68px; display: block; flex-shrink: 0; }
.bpt-marchio__scritta {
  display: flex; flex-direction: column;
  font-family: 'Instrument Serif', Georgia, serif;
  font-size: 22px; line-height: 1.14;
}
.bpt-marchio__scritta em { font-style: italic; }
@media (max-width: 782px) {
  .bpt-marchio img { width: 36px; height: 36px; }
  .bpt-marchio__scritta { font-size: 0; }
  .bpt-marchio__scritta::before {
    content: "BPT"; font-size: 20px; letter-spacing: 0.06em;
  }
}

/* Una parola rosa e una blu in ogni titolo d'apertura. */
.bpt-rosa { font-style: italic; color: var(--bpt-accent); }
.bpt-blu  { font-style: italic; color: var(--bpt-accent-2); }
.bpt-fascia .bpt-rosa { color: var(--bpt-band-accent); }
.bpt-fascia .bpt-blu  { color: var(--bpt-band-accent-2); }

/* Fascia chiara dentro pagina scura (e viceversa). */
.bpt-fascia {
  background: var(--bpt-band-bg);
  color: var(--bpt-band-text);
}

/* ---------------------------------------------------------------
   Interruttore del tema
   --------------------------------------------------------------- */

.bpt-tema {
  width: 46px; height: 46px; flex-shrink: 0;
  border-radius: 50%; border: 1px solid var(--bpt-border);
  background: transparent; color: var(--bpt-text);
  cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.bpt-tema svg { width: 18px; height: 18px; }
.bpt-tema .bpt-luna { display: none; }
[data-theme="chiaro"] .bpt-tema .bpt-sole { display: none; }
[data-theme="chiaro"] .bpt-tema .bpt-luna { display: block; }
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) .bpt-tema .bpt-sole { display: none; }
  :root:not([data-theme]) .bpt-tema .bpt-luna { display: block; }
}

/* Nessuna animazione per chi l'ha disattivata di sistema. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* Area cliccabile minima, regola del progetto. */
a, button, input[type="submit"] { min-height: 44px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid var(--bpt-accent-2); outline-offset: 3px;
}
