/* ============================================================
 * farpa DS · theme · HIGH CONTRAST · v1.0.0
 * ------------------------------------------------------------
 * WCAG AAA absoluto. Contraste 21:1 (preto puro sobre branco puro).
 * Acento amarelo segurança #FFD500 sobre preto.
 * REQUISITO FÍSICO do Founder (baixa visão).
 * Ativado via [data-theme="hc"] · botão hc-toggle no header.
 * ============================================================ */

[data-theme="hc"] {
  /* Surfaces */
  --bg:           var(--c-hc-white);
  --bg-subtle:    #F8F8F8;
  --bg-strong:    var(--c-hc-yellow);
  --bg-inverse:   var(--c-hc-black);

  /* Foreground */
  --fg:           var(--c-hc-black);     /* 21:1 sobre white */
  --fg-soft:      #1A1A1A;
  --fg-muted:     #2E2E2E;               /* 14.7:1 · ainda AAA */
  --fg-inverse:   var(--c-hc-white);

  /* Accent · preto sobre amarelo segurança */
  --accent:        var(--c-hc-black);
  --accent-fg:     var(--c-hc-yellow);
  --accent-soft:   var(--c-hc-yellow);
  --accent-strong: var(--c-hc-black);

  /* Borders · grossas para visibilidade */
  --border:        var(--c-hc-black);
  --border-subtle: var(--c-hc-black);
  --border-strong: var(--c-hc-black);
  --border-focus:  var(--c-hc-black);

  /* Accent rule · filete preto sobre amarelo · grossura compensada */
  --accent-rule:   var(--c-hc-black);

  /* Wash · em HC tudo é amarelo segurança ou branco · wash = amarelo */
  --bg-wash:       var(--c-hc-yellow);

  /* Focus ring · grossa em amarelo */
  --focus-ring:    0 0 0 4px var(--c-hc-yellow), 0 0 0 6px var(--c-hc-black);

  /* Status mantém alto contraste */
  --error:         #B91C1C;
  --error-bg:      var(--c-hc-yellow);
  --success:       #15803D;
  --success-bg:    var(--c-hc-yellow);
  --warning:       #B45309;
  --warning-bg:    var(--c-hc-yellow);

  /* Shadows desligadas (visual ruído alto contraste) */
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --shadow-xl: none;

  /* Monograma · laranja segurança · destaque máximo sobre branco/preto (Modo 1) */
  --mark-fill-tint: #FF6B1A;

  color-scheme: light;
}

/* Bordas mais grossas em todos os componentes em HC */
[data-theme="hc"] * {
  border-width: max(2px, 0.125rem) !important;
}

[data-theme="hc"] :focus-visible {
  outline: 4px solid var(--c-hc-black) !important;
  outline-offset: 2px !important;
}

/* ============================================================
 * farpa DS · AAA opt-in override · Wave 3 · ADR 032
 * ------------------------------------------------------------
 * Ativado via [data-contrast="aaa"] (separado de [data-theme="hc"]).
 * Paleta P1: cobalto #1E3A8A · âmbar #B45309 · paper #FAF7F2.
 * Toggle U3: função setContrast('aaa') em theme.js.
 * NÃO sobrescreve [data-theme="hc"] — os dois podem coexistir.
 * ============================================================ */
[data-contrast="aaa"] {
  /* Surfaces P1 */
  --bg:           var(--c-paper-aaa);    /* #FAF7F2 · base paleta P1 */
  --bg-subtle:    #F3F0E8;
  --bg-strong:    #E6E1D5;

  /* Foreground P1 */
  --fg:           var(--c-ink-aaa);      /* #1B1A17 · 17.8:1 sobre paper-aaa */
  --fg-soft:      #3D3B37;               /* 8.7:1 sobre paper-aaa */
  --fg-muted:     var(--fg-muted-aaa);   /* #3D3B37 · override · supera AA+AAA */

  /* Accent P1 · cobalto como accent primário */
  --accent:       var(--c-cobalt-900);   /* #1E3A8A · 10.2:1 sobre paper-aaa */
  --accent-fg:    var(--c-paper-aaa);
  --accent-soft:  #E8EDF8;
  --accent-strong: #162D6E;

  /* Banner art.50 · âmbar */
  --accent-amber:      var(--c-amber-500);
  --accent-amber-bg:   var(--c-amber-bg);
  --accent-amber-text: #3B1F05;          /* 9.1:1 sobre amber-bg */

  /* Borders */
  --border:        var(--c-cobalt-900);
  --border-subtle: #8EA3CC;
  --border-strong: var(--c-cobalt-900);
  --border-focus:  var(--c-cobalt-900);

  /* Focus ring · cobalto */
  --focus-ring: 0 0 0 3px #6B83BA, 0 0 0 5px var(--c-cobalt-900);

  color-scheme: light;
}

[data-contrast="aaa"] :focus-visible {
  outline: 3px solid var(--c-cobalt-900) !important;
  outline-offset: 2px !important;
}
