/* =====================================================================
   Minas Terra — Design tokens
   Cores de marca extraídas do logotipo. Valores podem ser sobrescritos pelo
   CMS: o layout injeta um bloco style com :root { --marca-sol: ... } a partir de
   configuracoes_site (somente cores validadas como #RRGGBB no servidor).
   Contrastes medidos (WCAG 2.x) documentados em docs/FASE-2-DESIGN-SYSTEM.md
   ===================================================================== */

@font-face {
  font-family: "Anton";
  src: url("../fonts/anton-latin-400-normal.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
  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: "Anton";
  src: url("../fonts/anton-latin-ext-400-normal.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2-variations");
  font-weight: 100 900; font-style: normal; font-display: swap;
  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: "Inter";
  src: url("../fonts/inter-latin-ext-wght-normal.woff2") format("woff2-variations");
  font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-latin-wght-italic.woff2") format("woff2-variations");
  font-weight: 100 900; font-style: italic; font-display: swap;
  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;
}

:root {
  /* ---- Marca (logo) ---------------------------------------------- */
  --marca-sol:        #D43220;  /* sol do logo — títulos grandes, ilustrações, detalhes */
  --marca-sol-escuro: #B32A1A;  /* botões: texto branco 6,44:1 */
  --marca-sol-claro:  #F7D9D3;
  --marca-ambar:      #E9A23B;  /* nascer do sol — destaques sobre fundo escuro (6,85:1) */
  --marca-montanha:   #4A6230;  /* verde do logo */
  --marca-floresta:   #1F2B17;  /* fundo imersivo */
  --marca-terra:      #75563E;  /* terra do logo */
  --marca-terra-clara:#866851;
  --marca-cafe:       #2A231A;  /* texto principal (13,9:1 sobre papel) */
  --marca-papel:      #F6F2EA;  /* branco quente */
  --marca-areia:      #E4D8C4;
  --marca-nevoa:      #EDE7DB;

  /* ---- Semânticos ------------------------------------------------- */
  --cor-fundo:          var(--marca-papel);
  --cor-superficie:     #FFFDF9;
  --cor-superficie-2:   var(--marca-nevoa);
  --cor-texto:          var(--marca-cafe);
  --cor-texto-suave:    #5C5045;   /* 7,0:1 sobre papel */
  --cor-texto-inverso:  var(--marca-papel);
  --cor-borda:          #D6CAB6;
  --cor-borda-forte:    #9C8C78;   /* bordas de campos (3,2:1 — WCAG 1.4.11) */
  --cor-primaria:       var(--marca-sol-escuro);
  --cor-primaria-hover: #962214;
  --cor-sobre-primaria: #FFFFFF;
  --cor-secundaria:     var(--marca-montanha);
  --cor-link:           var(--marca-sol-escuro);
  --cor-foco:           #1D5FD1;   /* anel de foco: azul, distinto da marca, 5,2:1 sobre papel */
  --cor-foco-externo:   #FFFFFF;

  --cor-sucesso:  #2F6B3F;  --cor-sucesso-fundo:  #E3F0E5;
  --cor-alerta:   #8A5A00;  --cor-alerta-fundo:   #FBF0D9;
  --cor-erro:     #B42318;  --cor-erro-fundo:     #FBE7E5;
  --cor-info:     #1F5A96;  --cor-info-fundo:     #E3EDF8;

  /* Dificuldade 1–5 (sempre acompanhada de rótulo e ícone) */
  --dif-1: #4A7A3A; --dif-2: #7A8B2E; --dif-3: #B7791F; --dif-4: #C2541B; --dif-5: #8E1F12;

  /* ---- Tipografia ------------------------------------------------- */
  --fonte-display: "Anton", "Impact", "Arial Narrow", sans-serif;
  --fonte-texto:   "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --fs-hero:  clamp(3.25rem, 8.5vw + 1rem, 10rem);
  --fs-h1:    clamp(2.5rem, 5vw + 1rem, 5.5rem);
  --fs-h2:    clamp(2rem, 3.5vw + 1rem, 4rem);
  --fs-h3:    clamp(1.375rem, 1.2vw + 1rem, 2rem);
  --fs-h4:    1.25rem;
  --fs-lead:  clamp(1.125rem, .5vw + 1rem, 1.375rem);
  --fs-corpo: 1.0625rem;
  --fs-peq:   .9375rem;
  --fs-micro: .8125rem;
  --lh-display: .92;
  --lh-titulo:  1.15;
  --lh-corpo:   1.6;
  --tracking-display: .005em;
  --tracking-rotulo: .08em;

  /* ---- Espaço (base 4px) ----------------------------------------- */
  --s-1: .25rem;  --s-2: .5rem;   --s-3: .75rem;  --s-4: 1rem;
  --s-5: 1.5rem;  --s-6: 2rem;    --s-7: 3rem;    --s-8: 4rem;
  --s-9: 6rem;    --s-10: 8rem;   --s-11: 10rem;
  --secao-y: clamp(4rem, 8vw, 9rem);
  --gutter: clamp(1rem, 4vw, 3rem);
  --largura-max: 90rem;      /* 1440px */
  --largura-texto: 68ch;

  /* ---- Forma ------------------------------------------------------ */
  --raio-1: 4px; --raio-2: 8px; --raio-3: 14px; --raio-4: 24px; --raio-pilula: 999px;
  --sombra-1: 0 1px 2px rgb(42 35 26 / .06), 0 2px 8px rgb(42 35 26 / .06);
  --sombra-2: 0 4px 12px rgb(42 35 26 / .08), 0 16px 40px rgb(42 35 26 / .10);
  --sombra-3: 0 24px 64px rgb(20 26 14 / .28);
  --alvo-min: 44px;

  /* ---- Movimento -------------------------------------------------- */
  --ease-saida:   cubic-bezier(.22, 1, .36, 1);
  --ease-entrada: cubic-bezier(.64, 0, .78, 0);
  --ease-mascara: cubic-bezier(.65, 0, .35, 1);
  --dur-micro: 160ms;
  --dur-comp:  280ms;
  --dur-secao: 800ms;

  /* ---- Camadas ---------------------------------------------------- */
  --z-header: 50; --z-menu: 60; --z-dialog: 80; --z-toast: 90; --z-skip: 100;

  color-scheme: light;
}

/* Contexto escuro para seções imersivas (hero, "por que nós", rodapé) */
.tema-escuro {
  --cor-fundo:         var(--marca-floresta);
  --cor-superficie:    #283821;
  --cor-superficie-2:  #31432A;
  --cor-texto:         var(--marca-papel);
  --cor-texto-suave:   #CFC6B5;   /* 8,75:1 sobre floresta */
  --cor-borda:         #43573A;
  --cor-borda-forte:   #8A9B7E;
  --cor-link:          var(--marca-ambar);
  --cor-foco:          #8CB8FF;
  --cor-foco-externo:  #0B1408;
  color-scheme: dark;
  background-color: var(--cor-fundo);
  color: var(--cor-texto);
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-micro: 1ms; --dur-comp: 1ms; --dur-secao: 1ms; }
}
