/* Base — tipografia e elementos nativos */

body{
    font-family: var(--fonte-corpo);
    font-size: var(--texto-base);
    color: var(--cor-cacau);
    background: var(--cor-linho);
    /* overflow-x:hidden REMOVIDO em 24/07/2026: apesar da suposicao
       original (overflow no elemento raiz nao quebraria sticky), medido
       ao vivo que QUEBROU o "position:sticky" do #site-header mesmo
       assim (o header parou de acompanhar o scroll). A vitrine 3D, unica
       razao dessa regra existir, esta desligada agora
       (front-page.php). Ver nota completa em 01-reset.css (regra "html"). */
}

h1, h2, h3, h4, h5, h6{
    font-family: var(--fonte-display);
    font-weight: 600;
    color: var(--cor-mata);
    line-height: 1.15;
}

h1{ font-size: var(--texto-3xl); }
h2{ font-size: var(--texto-2xl); }
h3{ font-size: var(--texto-xl); }
h4{ font-size: var(--texto-lg); }
h5, h6{ font-size: var(--texto-md); }

p{
    margin-bottom: var(--espaco-md);
}

a{
    color: var(--cor-mata);
    transition: color 0.2s ease;
}
a:hover, a:focus{
    color: var(--cor-terracota);
}
a:focus-visible{
    outline: 2px solid var(--cor-mata);
    outline-offset: 2px;
}

strong, b{
    font-weight: 700;
}

small{
    font-size: var(--texto-sm);
}

::selection{
    background: var(--cor-salvia);
    color: var(--cor-cacau);
}

/* Formulários nativos (inputs fora do escopo do WooCommerce, que tem seu proprio arquivo) */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"],
input[type="search"], input[type="number"], textarea, select{
    padding: var(--espaco-sm) var(--espaco-md);
    border: 1px solid var(--cor-cacau-70);
    border-radius: var(--raio-sm);
    background: var(--cor-branco);
    font-size: var(--texto-base);
}
input:focus, textarea:focus, select:focus{
    outline: none;
    border-color: var(--cor-mata);
    box-shadow: 0 0 0 3px rgba(47, 74, 51, 0.15);
}

/* Botão base do site (reutilizado/sobreposto em buttons.css) */
.btn{
    display: inline-block;
    font-family: var(--fonte-corpo);
    font-weight: 700;
    font-size: var(--texto-sm);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: var(--espaco-sm) var(--espaco-lg);
    border-radius: var(--raio-pill);
    transition: all 0.25s ease;
    cursor: pointer;
}
