/* =========================================================================
   Blog inChurch — tokens.css (gerado de replica/design/tokens.json)
   Valores do design system da inChurch, organizados por papel (fundo, texto, destaque...).
   Componentes usam SÓ estas variáveis; nenhum hex solto fora deste arquivo.
   Tema claro fixo (sem prefers-color-scheme): escuro é escolha de seção.
   Mobile-first: media queries só em min-width (768, 1025).
   ========================================================================= */

@font-face{font-family:Involve;src:url(../fonts/Involve-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Involve;src:url(../fonts/Involve-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Involve;src:url(../fonts/Involve-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Involve Fallback";src:local("Arial"),local("Helvetica");size-adjust:101.5%;ascent-override:78.8%;descent-override:19.7%;line-gap-override:32.5%}

:root{
  /* cor: papéis */
  --c-bg:#FFFFFF;
  --c-surface:#FBFBFB;
  --c-surface-tint:#F6FFE5;
  --c-border:#E6E6E6;
  --c-border-input:#808080;
  --c-text:#1A1A1A;
  --c-text-muted:#616161;
  --c-accent:#9FD644;
  --c-accent-hover:#90BE42;
  --c-accent-active:#83AC3B;
  --c-on-accent:#1A1A1A;
  --c-accent-text:#5E7D28;
  --c-dark:#083C2F;
  --c-dark-2:#0B4A3A;            /* topo do degradê da seção escura */
  --c-dark-3:#05261E;            /* base do degradê */
  --c-on-dark:#FFFFFF;
  --c-on-dark-muted:#C9D6CF;
  --c-accent-on-dark:#96E035;
  --c-danger:#B42318;            /* exceção funcional: só erro de form */
  --c-danger-on-dark:#FFD7D3;
  --c-success:#5E7D28;

  /* derivados (rgba dos tokens, como o base.css faz) */
  --c-accent-tint:rgba(144,190,66,.16);
  --c-overlay:rgba(8,60,47,.72);  /* fundo do modal e do menu off-canvas */
  --c-img-scrim:linear-gradient(180deg,rgba(8,60,47,0) 15%,rgba(8,60,47,.72) 50%,rgba(8,60,47,.95) 100%);
  --c-zebra:rgba(26,26,26,.03);
  --grad-marca:linear-gradient(135deg,#96E035,#90BE42);
  --grad-dark:linear-gradient(160deg,var(--c-dark-2),var(--c-dark) 55%,var(--c-dark-3));

  /* tipo */
  --font-sans:Involve,"Involve Fallback",Montserrat,Arial,Helvetica,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --fs-xs:.75rem;     --lh-xs:1rem;
  --fs-sm:.875rem;    --lh-sm:1.25rem;
  --fs-base:1rem;     --lh-base:1.625rem;
  --fs-read:1.0625rem;--lh-read:1.75rem;      /* 17/28 mobile → 18/30 ≥768 */
  --fs-lg:1.25rem;    --lh-lg:1.3;
  --fs-xl:1.375rem;   --lh-xl:1.15;           /* h2 mobile 22 → 28 */
  --fs-display:1.75rem;--lh-display:1.1;      /* h1 mobile 28 → 40 */
  --tr-tight:-1.2px; --tr-snug:-.4px; --tr-body:-.2px; --tr-caps:.6px;

  /* espaço (8pt) */
  --s0:0; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px;
  --s6:32px; --s7:48px; --s8:64px; --s9:96px; --s10:128px;

  /* forma */
  --r-btn:5px; --r-sm:8px; --r-md:16px; --r-lg:24px; --r-xl:32px; --r-pill:100px;
  --sh-card:0 1px 2px rgba(26,26,26,.06),0 4px 12px rgba(26,26,26,.06);
  --sh-card-hover:0 2px 4px rgba(26,26,26,.06),0 12px 28px rgba(26,26,26,.10);
  --sh-cta:0 6px 18px rgba(144,190,66,.28);
  --sh-pop:0 16px 40px rgba(8,60,47,.24);

  /* movimento */
  --t-fast:150ms; --t:200ms; --t-slow:250ms;
  --ease:cubic-bezier(.2,.8,.2,1); --ease-out:cubic-bezier(.16,1,.3,1);

  /* layout */
  --container:1216px;
  --read-width:720px;
  --read-wide:960px;
  --header-h:64px;
  --bar-h:40px;
  --gutter:var(--s5);

  /* foco: verde-texto passa 3:1; o --verde do base.css (2,18:1) não passa */
  --focus:2px solid var(--c-accent-text);
  --focus-dark:2px solid var(--c-accent-on-dark);
}

@media (min-width:768px){
  :root{
    --fs-read:1.125rem; --lh-read:1.875rem;
    --fs-xl:1.75rem;    --lh-xl:1.15;
    --fs-display:2.25rem;
    --header-h:72px;
    --gutter:var(--s6);
  }
}
@media (min-width:1025px){
  :root{ --fs-display:2.5rem; }
}

@media (prefers-reduced-motion:reduce){
  :root{ --t-fast:0ms; --t:0ms; --t-slow:0ms; }
}
