/* ==========================================================================
   ACADEMIA INFÂNCIA — BASE
   Reset mínimo + tipografia e elementos base. Consome tokens de tokens.css.
   (Derivado do guia de estilo, mas sem o scope body.ai-guide-page.)
   ========================================================================== */

body {
    background: var(--c-white);
    color: var(--c-text);
    font-family: var(--font-body);
    font-weight: var(--fw-regular);
    line-height: var(--lh-body);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body,
input,
select,
textarea,
button {
    font-family: var(--font-body);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: var(--fw-light);
    color: var(--c-ink);
    line-height: var(--lh-tight);
    letter-spacing: -.01em;
    margin-block: 0 var(--sp-3);
}

p { margin: 0 0 var(--sp-4); }

a { color: var(--c-accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--c-accent-700); }

img { max-width: 100%; height: auto; display: block; }

*, *::before, *::after { box-sizing: border-box; }

:focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: var(--r-sm); }

/* Acessibilidade — texto só para leitores de ecrã */
.ai-sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Helpers tipográficos */
.nowrap { white-space: nowrap; }
.mx-auto { margin-inline: auto; }
.muted { color: var(--c-muted); }
.eyebrow {
    display: inline-block;
    font-family: var(--font-body);
    font-size: var(--fs-xs);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-caps);
    text-transform: uppercase;
    color: var(--c-accent);
    margin-bottom: var(--sp-3);
}
.lead { font-size: var(--fs-lg); line-height: var(--lh-snug); color: var(--c-muted); }
