/* ============================================================
   theme.community.css — aparência do CommunityRX (repo: landing-community)

   Valores de TODAS as variáveis do contrato rx-core (ver
   rx-core-site/css/tokens.css para a lista e o significado de cada uma).
   Carregar DEPOIS de tokens.css. rx-core não define aparência de nenhum
   produto — tudo o que é paleta, fontes e ruído de fundo do CommunityRX
   vive aqui.

   Fase 3 da separação visual (Set 2026) — identidade própria:
   - Neutros frios com um toque de verde-água (distintos do granito do
     ImóvelRX).
   - UMA cor de destaque: o teal da marca, só em acções e estados
     activos, sempre com texto escuro por cima (--rx-accent-contrast);
     teal como cor de texto usa um tom mais escuro no tema claro
     (--rx-accent-text). Nunca nos gráficos.
   - Gráficos de pessoas/temas usam a paleta de dados --cr-data-* (sem
     teal); score e factores usam só as semânticas.
   - Tipografia: Sora (títulos e números, algarismos de largura fixa),
     Figtree (texto), JetBrains Mono (datas e referências).
   ============================================================ */

/* ── Fontes (subset latin, alojadas neste repo em /fonts) ────── */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url('/fonts/sora-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('/fonts/figtree-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── Tema escuro (por omissão) ── */
:root {
  --page-max-width: 980px;

  --rx-font-display: 'Sora', 'Trebuchet MS', system-ui, sans-serif;
  --rx-font-body:    'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --rx-font-mono:    'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  /* Números de dados (score, contagens, percentagens): Sora com
     algarismos de largura fixa — ver .cr-report em report.css. */
  --cr-font-num:     var(--rx-font-display);

  --rx-surface-0: #0c1113;
  --rx-surface-1: #141b1e;
  --rx-surface-2: #1b2427;
  --rx-surface-3: #222d31;

  --rx-text-1:  #e6eeee;
  --rx-text-2:  #c3cfd0;
  --rx-text-3:  #93a3a6;
  --rx-muted-1: #66777b;
  --rx-muted-2: #859598;

  --rx-tint-1: #ffffff0a;
  --rx-tint-2: #ffffff14;
  --rx-tint-3: #ffffff24;
  --rx-border:        #243034;
  --rx-border-strong: #33434a;

  --rx-accent:          #14b8a6;
  --rx-accent-hover:    #2dd4bf;
  --rx-accent-glow:     #14b8a622;
  --rx-accent-contrast: #032b26;
  --rx-accent-text:     #2dd4bf;

  --rx-good: #4cc38a;
  --rx-bad:  #f07a6e;
  --rx-warn: #e7b54a;

  --rx-noise-opacity: 0;

  /* Paleta de dados (categorias: pessoas, temas, pares) — sem teal. */
  --cr-data-1:  #6aaee8;
  --cr-data-2:  #ab8cf0;
  --cr-data-3:  #ee8a60;
  --cr-data-4:  #ec7fb5;
  --cr-data-5:  #86c36a;
  --cr-data-6:  #d0a270;
  --cr-data-7:  #8b9cf0;
  --cr-data-8:  #d8c35a;
  --cr-data-9:  #9fb3bf;
  --cr-data-10: #d7866f;
  --cr-heat:    #6aaee8;   /* mapa de calor (intensidade) */

  --cr-card-shadow: 0 1px 2px rgba(0,0,0,0.35);

  --rx-overlay-scrim:          rgba(0,0,0,0.6);
  --rx-overlay-solid-bg:       #0c1113;
  --rx-overlay-text:           #e6eeee;
  --rx-overlay-text-sub:       #93a3a6;
  --rx-overlay-brand:          #14b8a6;
  --rx-overlay-spinner-track:  #ffffff14;
  --rx-overlay-spinner:        #14b8a6;
  --rx-overlay-box-bg:         #141b1e;
  --rx-overlay-box-border:     #243034;

  /* Rodapé do site (.site-footer, rx-core) — faixa escura nos dois
     temas; no escuro, um tom abaixo do fundo da página. */
  --rx-footer-bg:     #080c0d;
  --rx-footer-border: #243034;
  --rx-footer-text:   #e6eeee;
  --rx-footer-text-2: #93a3a6;
  --rx-footer-muted:  #66777b;
  --rx-footer-rule:   #ffffff14;
  --rx-footer-brand:  #2dd4bf;
}

/* ── Tema claro ── */
html.light {
  --rx-surface-0: #f2f5f5;
  --rx-surface-1: #ffffff;
  --rx-surface-2: #eaefef;
  --rx-surface-3: #dde4e4;

  --rx-text-1:  #0f1a1c;
  --rx-text-2:  #34424a;
  --rx-text-3:  #5f6d73;
  --rx-muted-1: #86959a;
  --rx-muted-2: #5f6d73;

  --rx-tint-1: #0000000a;
  --rx-tint-2: #00000012;
  --rx-tint-3: #0000001f;
  --rx-border:        #dde4e4;
  --rx-border-strong: #c7d1d1;

  --rx-accent:          #14b8a6;
  --rx-accent-hover:    #2dd4bf;
  --rx-accent-glow:     #14b8a626;
  --rx-accent-contrast: #032b26;
  --rx-accent-text:     #0f766e;

  --rx-good: #16734a;
  --rx-bad:  #b0281e;
  --rx-warn: #8a5a00;

  --rx-noise-opacity: 0;

  --cr-data-1:  #3a78c2;
  --cr-data-2:  #8a63d2;
  --cr-data-3:  #d0703a;
  --cr-data-4:  #c94f8c;
  --cr-data-5:  #5b9a3c;
  --cr-data-6:  #a8773f;
  --cr-data-7:  #4f63c9;
  --cr-data-8:  #a8922a;
  --cr-data-9:  #6d8795;
  --cr-data-10: #9c4f3a;
  --cr-heat:    #3a78c2;

  --cr-card-shadow: 0 1px 2px rgba(15,26,28,0.05), 0 1px 3px rgba(15,26,28,0.06);

  --rx-overlay-scrim:          rgba(255,255,255,0.6);
  --rx-overlay-solid-bg:       #f2f5f5;
  --rx-overlay-text:           #0f1a1c;
  --rx-overlay-text-sub:       #5f6d73;
  --rx-overlay-brand:          #0f766e;
  --rx-overlay-spinner-track:  #0000001f;
  --rx-overlay-spinner:        #14b8a6;
  --rx-overlay-box-bg:         #ffffff;
  --rx-overlay-box-border:     #dde4e4;

  --rx-footer-bg:     #0f1a1c;
  --rx-footer-border: #0f1a1c;
  --rx-footer-text:   #f2f5f5;
  --rx-footer-text-2: #a7b4b6;
  --rx-footer-muted:  #7b898c;
  --rx-footer-rule:   #ffffff1a;
  --rx-footer-brand:  #2dd4bf;
}

/* ── Overlay com tema congelado (ver rx-core/overlay.css) ──
   Declarado no próprio elemento: vence o que vem herdado do html.light. */
#transition-overlay.solid-dark {
  --rx-overlay-solid-bg:       #0c1113;
  --rx-overlay-text:           #e6eeee;
  --rx-overlay-text-sub:       #93a3a6;
  --rx-overlay-brand:          #14b8a6;
  --rx-overlay-spinner-track:  #ffffff14;
  --rx-overlay-spinner:        #14b8a6;
  --rx-overlay-box-bg:         #141b1e;
  --rx-overlay-box-border:     #243034;
}
#transition-overlay.solid-light {
  --rx-overlay-solid-bg:       #f2f5f5;
  --rx-overlay-text:           #0f1a1c;
  --rx-overlay-text-sub:       #5f6d73;
  --rx-overlay-brand:          #0f766e;
  --rx-overlay-spinner-track:  #0000001f;
  --rx-overlay-spinner:        #14b8a6;
  --rx-overlay-box-bg:         #ffffff;
  --rx-overlay-box-border:     #dde4e4;
}

/* Menu com sessão no telemóvel (Out 2026): "CommunityRX" é mais comprido do
   que "ImóvelRX" — ao tamanho base (1,625rem, rx-core) com o saldo, o sino
   e a conta, o menu partia em duas linhas abaixo de ~400px. Só com sessão
   (quando há saldo); o menu público, com o ☰, cabe sem isto. */
@media (max-width: 600px) {
  .nav-inner:has(.nav-balance) .nav-logo { font-size: 1.25rem; }
}
@media (max-width: 359px) {
  .nav-inner:has(.nav-balance) .nav-logo { font-size: 1.125rem; }
  .nav-inner:has(.nav-balance) .nav-right { gap: 0.375rem; }
  .nav-inner:has(.nav-balance) .nav-balance { padding: 0.3rem 0.5rem; }
  .nav-inner:has(.nav-balance) .nav-balance-dot { display: none; }
}
