/* ═══════════════════════════════════════════
   IBEC Theme — Design Tokens (Shared Layer)
   Grupo IBEC • Educação • Tecnologia • Gestão

   Este arquivo é carregado em TODAS as páginas do site,
   incluindo as páginas de portal do plugin IBEC Horizon.
   Contém apenas tokens (CSS variables) + reset mínimo
   compartilhado — sem estilos de componentes do tema.

   O plugin Horizon consome estas variáveis em seu próprio CSS:
     color: var(--hz-blue);
     font-family: var(--hz-font);

   Documentação: PLUGIN-INTEGRATION.md
   ═══════════════════════════════════════════ */

:root {
  /* Core Palette */
  --hz-blue: #0E3B7E;
  --hz-navy: #071D49;
  --hz-deep: #051538;
  --hz-gold: #F2B705;
  --hz-gold-light: #FDD835;
  --hz-gold-glow: rgba(242, 183, 5, .22);

  /* Neutrals */
  --hz-ink: #0F1D33;
  --hz-body: #344054;
  --hz-muted: #667085;
  --hz-subtle: #98A2B3;
  --hz-line: #E4E8EF;
  --hz-bg: #F7F9FC;
  --hz-white: #FFFFFF;

  /* Surface */
  --hz-surface: #FFFFFF;
  --hz-surface-alt: #F8FAFD;
  --hz-glass: rgba(255,255,255,.06);
  --hz-glass-border: rgba(255,255,255,.12);

  /* Spacing Scale (4-8-12-16... 8px base) */
  --hz-space-1: 4px;
  --hz-space-2: 8px;
  --hz-space-3: 12px;
  --hz-space-4: 16px;
  --hz-space-5: 20px;
  --hz-space-6: 24px;
  --hz-space-7: 32px;
  --hz-space-8: 40px;
  --hz-space-9: 48px;
  --hz-space-10: 56px;
  --hz-space-11: 64px;
  --hz-space-12: 80px;
  --hz-space-13: 96px;
  --hz-space-14: 120px;
  --hz-space-16: 160px;

  /* Radius */
  --hz-radius-sm: 12px;
  --hz-radius-md: 18px;
  --hz-radius-lg: 24px;
  --hz-radius-xl: 32px;
  --hz-radius-pill: 999px;

  /* Shadows */
  --hz-shadow-sm: 0 2px 8px rgba(15,29,51,.06);
  --hz-shadow-md: 0 12px 32px rgba(15,29,51,.08);
  --hz-shadow-lg: 0 24px 64px rgba(15,29,51,.12);
  --hz-shadow-xl: 0 32px 80px rgba(15,29,51,.16);
  --hz-shadow-gold: 0 14px 34px rgba(242,183,5,.24);

  /* Typography */
  --hz-font: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --hz-font-display: 'Instrument Sans', 'DM Sans', system-ui, sans-serif;
  --hz-font-mono: ui-monospace, 'SF Mono', 'Consolas', monospace;

  /* Transitions */
  --hz-ease: cubic-bezier(.4, 0, .2, 1);
  --hz-ease-spring: cubic-bezier(.175, .885, .32, 1.275);
  --hz-duration: .3s;
  --hz-duration-slow: .5s;

  /* Layout */
  --hz-container: 1200px;
  --hz-container-wide: 1440px;
  --hz-gutter: 20px;
  --hz-header-h: 76px;
  --hz-z-header: 100;
  --hz-z-modal: 1000;
}

/* ─── Reset mínimo compartilhado (frontend + portais) ─── */
*, *::before, *::after { box-sizing: border-box; }

/* Aplica DM Sans em qualquer página do site, incluindo as do plugin.
   Selector incluindo `.ibec-portal, [class*="etm-"]` para forçar herança
   onde o plugin possa ter quebrado a cadeia com `font-family: initial`. */
html {
  font-family: var(--hz-font);
  -webkit-text-size-adjust: 100%;
}

body,
.ibec-portal,
[class*="etm-"] {
  font-family: var(--hz-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Tipografia base de headings em DM Sans (display) — útil quando o
   plugin renderiza títulos sem ter CSS próprio aplicado. */
.ibec-portal h1, .ibec-portal h2, .ibec-portal h3,
.ibec-portal h4, .ibec-portal h5, .ibec-portal h6,
[class*="etm-"] h1, [class*="etm-"] h2, [class*="etm-"] h3,
[class*="etm-"] h4, [class*="etm-"] h5, [class*="etm-"] h6 {
  font-family: var(--hz-font-display);
  color: var(--hz-ink);
  letter-spacing: -.02em;
  font-weight: 800;
  line-height: 1.15;
}

/* Acessibilidade — skip-link visível ao focar (compartilhado). */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background: var(--hz-white);
  clip: auto !important;
  color: var(--hz-navy);
  display: block;
  font-size: 14px;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 12px 20px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: var(--hz-z-modal);
}
