/* Design tokens — identidade herdada do POSICIONA 7D (docs/produto/04-design-system-e-ui.md) */

@font-face { font-family: 'Playfair Display'; src: url('/vendor/fontes/playfair-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Montserrat'; src: url('/vendor/fontes/montserrat-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/vendor/fontes/inter-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/vendor/fontes/inter-500.woff2') format('woff2'); font-weight: 500; font-display: swap; }

:root {
  /* primitivos da marca */
  --carper-preto:     #0D0D0D;
  --carper-grafite:   #232323;
  --carper-creme:     #F5F0E8;
  --carper-bege:      #B8B0A2;
  --carper-ouro:      #A37E2C;   /* fill, borda, gradiente */
  --carper-ouro-esc:  #8A6A24;
  --carper-ouro-cla:  #D4B96A;   /* texto sobre fundo escuro — 10,1:1 */
  --carper-ouro-tex:  #6B4F17;   /* texto sobre fundo claro  — 7,6:1  */
  --carper-terracota: #B35F00;
  --carper-verde:     #014D40;

  /* tipografia */
  --fonte-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --fonte-ui:      'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --fonte-corpo:   'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --fonte-mono:    ui-monospace, 'Cascadia Mono', 'Segoe UI Mono', Menlo, monospace;

  --t-3xl: 2rem;    --t-2xl: 1.5rem;  --t-xl: 1.25rem;  --t-lg: 1.125rem;
  --t-md: 1rem;     --t-sm: .875rem;  --t-xs: .75rem;   --t-2xs: .6875rem;

  /* espaçamento (base 4px) */
  --e-1: .25rem; --e-2: .5rem; --e-3: .75rem; --e-4: 1rem;
  --e-5: 1.25rem; --e-6: 1.5rem; --e-8: 2rem; --e-10: 2.5rem; --e-12: 3rem;

  /* raios e sombras */
  --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-xl: 24px; --r-full: 999px;
  --sombra-sm: 0 1px 2px rgba(0,0,0,.24);
  --sombra-md: 0 4px 12px rgba(0,0,0,.28);
  --sombra-lg: 0 12px 32px rgba(0,0,0,.36);
  --sombra-xl: 0 20px 48px rgba(0,0,0,.44);

  /* camadas */
  --z-base: 0; --z-sticky: 100; --z-drawer: 200; --z-modal: 300; --z-toast: 400; --z-arraste: 500;

  --transicao: 160ms cubic-bezier(.2,.6,.3,1);
  --ease-out: cubic-bezier(.2,.6,.3,1);
}

/* ---------- tema escuro (padrão) ---------- */
:root, :root[data-tema="escuro"] {
  --bg:            #0D0D0D;
  --superficie-1:  #161616;
  --superficie-2:  #1E1E1E;
  --superficie-3:  #262626;
  --superficie-int:#111111;
  --borda:         #2E2E2E;
  --borda-forte:   #3D3D3D;

  --texto:         #F5F0E8;
  --texto-2:       #C9C3B8;
  --texto-fraco:   #9A9A8A;

  --ouro:          var(--carper-ouro);
  --ouro-texto:    var(--carper-ouro-cla);
  --ouro-lavagem:  rgba(163,126,44,.10);
  --ouro-borda:    rgba(163,126,44,.42);

  --ok:            #4ADE80;
  --ok-bg:         rgba(74,222,128,.12);
  --ok-borda:      rgba(74,222,128,.38);
  --atencao:       #F2B544;
  --atencao-bg:    rgba(242,181,68,.12);
  --atencao-borda: rgba(242,181,68,.38);
  --risco:         #FF6B6B;
  --risco-bg:      rgba(255,107,107,.12);
  --risco-borda:   rgba(255,107,107,.40);
  --neutro:        #8A8A8A;
  --neutro-bg:     rgba(138,138,138,.10);

  --foco:          #7FB2FF;
  color-scheme: dark;
}

/* ---------- tema claro ---------- */
:root[data-tema="claro"] {
  --bg:            #FBF9F5;
  --superficie-1:  #FFFFFF;
  --superficie-2:  #F5F2EC;
  --superficie-3:  #EFEBE3;
  --superficie-int:#F2EEE7;
  --borda:         #DFD9CE;
  --borda-forte:   #C6BEB0;

  --texto:         #1A1A1A;
  --texto-2:       #4A463F;
  --texto-fraco:   #6E685E;

  --ouro:          var(--carper-ouro);
  --ouro-texto:    var(--carper-ouro-tex);
  --ouro-lavagem:  rgba(163,126,44,.10);
  --ouro-borda:    rgba(163,126,44,.45);

  --ok:            #16794A;
  --ok-bg:         rgba(22,121,74,.10);
  --ok-borda:      rgba(22,121,74,.35);
  --atencao:       #8A5A00;
  --atencao-bg:    rgba(138,90,0,.10);
  --atencao-borda: rgba(138,90,0,.35);
  --risco:         #B3261E;
  --risco-bg:      rgba(179,38,30,.10);
  --risco-borda:   rgba(179,38,30,.35);
  --neutro:        #6E685E;
  --neutro-bg:     rgba(110,104,94,.10);

  --foco:          #1A5FBF;
  color-scheme: light;
}

@media (prefers-color-scheme: light) {
  :root:not([data-tema]) {
    --bg: #FBF9F5; --superficie-1: #FFFFFF; --superficie-2: #F5F2EC; --superficie-3: #EFEBE3;
    --superficie-int: #F2EEE7; --borda: #DFD9CE; --borda-forte: #C6BEB0;
    --texto: #1A1A1A; --texto-2: #4A463F; --texto-fraco: #6E685E;
    --ouro-texto: var(--carper-ouro-tex);
    --ok: #16794A; --ok-bg: rgba(22,121,74,.10); --ok-borda: rgba(22,121,74,.35);
    --atencao: #8A5A00; --atencao-bg: rgba(138,90,0,.10); --atencao-borda: rgba(138,90,0,.35);
    --risco: #B3261E; --risco-bg: rgba(179,38,30,.10); --risco-borda: rgba(179,38,30,.35);
    --neutro: #6E685E; --neutro-bg: rgba(110,104,94,.10); --foco: #1A5FBF;
    color-scheme: light;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
