/* ===========================================================
   GTX · Tema único (claro / escuro)
   Fonte de verdade das cores do app. Antes isso estava
   duplicado no :root de 30 telas.

   Os tokens de forma (--radius, --shadow) continuam locais em
   cada tela, porque variam de página pra página por design.
   =========================================================== */

:root{
  color-scheme:light;

  /* superfícies */
  --bg:#F3EBE4;           /* fundo da página */
  --bg-2:#EDE2D9;         /* fundo alternativo / trilhos */
  --card:#FFFBF8;         /* cartão elevado */

  /* texto */
  --ink:#2A2320;          /* texto principal */
  --ink-soft:#7A6E66;     /* texto secundário */
  --ink-faint:#B4A79D;    /* apoio / placeholder */

  /* marca */
  --accent:#D8574F;       /* coral — fundo de botão e destaque */
  --accent-deep:#B23F3D;  /* coral em texto (precisa de mais contraste) */
  --accent-wash:#F6E1DC;  /* fundo de badge coral */
  --accent-wash-2:#F7E0DE;

  --line:#E4D8CE;

  /* estados */
  --ok:#7C9A73;    --ok-deep:#5A7351;   --ok-wash:#E9EFE6;
  --warn:#C97A2B;  --warn-deep:#9A6B1F; --warn-wash:#F6E9D6;  --warn-line:#E9C889;
  --err:#C0453E;   --err-line:#E7BDB9;
  --wa:#25936b;    --wa-wash:#E2F0EA;                          /* WhatsApp */
  --bi:#7C4DA8;    --bi-wash:#F0E7F7;   --bi-line:#D9C3EC;     /* bi-série */
  --info:#5B6B8C;  --info-wash:#E4E8F0;
  --neutral-wash:#EEE7E0;                                      /* chip "inativo" */

  /* gradientes decorativos de cabeçalho */
  --hero-a:#E6D5CA;        --hero-b:#CDBAAD;
  --hero-coral-a:#F2DED6;  --hero-coral-b:#E9C9BD;

  --overlay:rgba(42,35,32,.55);  /* véu atrás de modal */
  --shadow-rgb:80,50,40;         /* sombra quente no claro */

  /* Superfícies escuras por design: topbar, sidebar, card de recado,
     player de vídeo. Continuam escuras nos DOIS temas — se fossem
     invertidas, viravam cartões brancos estourando a tela à noite. */
  --dark:#2A2320;
  --media-bg:#2F2823;              /* letterbox de vídeo/foto */
  --on-dark:#F3EBE4;               /* texto sobre --dark */
  --on-dark-soft:#D9CEC5;
  --on-dark-faint:#C9BDB4;
}

/* Paleta escura — desenhada, não invertida: mantém o marrom quente
   da marca em vez de cair num cinza neutro.
   O coral --accent NÃO muda. No fundo escuro ele rende 4.13:1 como
   texto (contra 3.78:1 no tema claro) e o botão coral com texto
   branco fica idêntico, então a marca sai intacta e ainda ganha
   contraste. */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;

    --bg:#16110F;
    --bg-2:#1F1815;
    --card:#26201C;

    --ink:#F4ECE6;
    --ink-soft:#B8AAA0;
    --ink-faint:#9C8D81;

    --accent:#D8574F;       /* a marca não muda — ver nota acima */
    --accent-deep:#F49A93;  /* é sempre texto, então clareia */
    --accent-wash:#3B221F;
    --accent-wash-2:#422622;

    --line:#3A2E28;

    --ok:#9CBB92;    --ok-deep:#B4CFAA;   --ok-wash:#1F2B1C;
    --warn:#E3A75C;  --warn-deep:#EFBE7E; --warn-wash:#2F2214;  --warn-line:#4A3717;
    --err:#EE7B72;   --err-line:#5E2F2C;
    --wa:#3FBF8F;    --wa-wash:#142C23;
    --bi:#B98FE0;    --bi-wash:#2A1E38;   --bi-line:#46356B;
    --info:#9FB0D0;  --info-wash:#1C2230;
    --neutral-wash:#2A231F;

    --hero-a:#2A231F;        --hero-b:#1C1614;
    --hero-coral-a:#3B221F;  --hero-coral-b:#291815;

    --dark:#2E2621;

    --overlay:rgba(0,0,0,.66);
    --shadow-rgb:0,0,0;
  }
}

:root[data-theme="dark"]{
  color-scheme:dark;

  --bg:#16110F;
  --bg-2:#1F1815;
  --card:#26201C;

  --ink:#F4ECE6;
  --ink-soft:#B8AAA0;
  --ink-faint:#9C8D81;

  --accent:#D8574F;       /* a marca não muda — ver nota acima */
  --accent-deep:#F49A93;  /* é sempre texto, então clareia */
  --accent-wash:#3B221F;
  --accent-wash-2:#422622;

  --line:#3A2E28;

  --ok:#9CBB92;    --ok-deep:#B4CFAA;   --ok-wash:#1F2B1C;
  --warn:#E3A75C;  --warn-deep:#EFBE7E; --warn-wash:#2F2214;  --warn-line:#4A3717;
  --err:#EE7B72;   --err-line:#5E2F2C;
  --wa:#3FBF8F;    --wa-wash:#142C23;
  --bi:#B98FE0;    --bi-wash:#2A1E38;   --bi-line:#46356B;
  --info:#9FB0D0;  --info-wash:#1C2230;
  --neutral-wash:#2A231F;

  --hero-a:#2A231F;        --hero-b:#1C1614;
  --hero-coral-a:#3B221F;  --hero-coral-b:#291815;

  --dark:#2E2621;

  --overlay:rgba(0,0,0,.66);
  --shadow-rgb:0,0,0;
}

/* Imagens e vídeo perdem um pouco do brilho no escuro, pra não
   estourar a tela num quarto sem luz. */
:root[data-theme="dark"] img:not([data-no-dim]),
:root[data-theme="dark"] video:not([data-no-dim]){filter:brightness(.92)}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) img:not([data-no-dim]),
  :root:not([data-theme="light"]) video:not([data-no-dim]){filter:brightness(.92)}
}

/* Aparência padrão do seletor de tema. Uma tela pode sobrescrever
   com CSS próprio — ".tema-seg button" vence por especificidade. */
[data-gtx-tema]{display:flex;gap:4px;background:var(--bg-2);border-radius:100px;padding:3px}
.gtx-tema-btn{flex:1;border:none;background:none;cursor:pointer;padding:7px 4px;border-radius:100px;
  font-family:inherit;font-size:12px;font-weight:600;color:var(--ink-soft);white-space:nowrap;
  transition:color .18s ease,background .18s ease}
.gtx-tema-btn[aria-checked="true"]{background:var(--card);color:var(--ink)}
.gtx-tema-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

/* Transição só na troca manual de tema (a classe é posta e removida
   pelo theme-gtx.js), pra não custar performance em scroll normal. */
.gtx-theme-anim,.gtx-theme-anim *{
  transition:background-color .22s ease,color .22s ease,border-color .22s ease !important
}
@media (prefers-reduced-motion:reduce){
  .gtx-theme-anim,.gtx-theme-anim *{transition:none !important}
}
