/* =========================================================
   PROFEON — BASE
   base.css
   Objetivo: reset + comportamento padrão do HTML.
   NÃO coloca layout (row/container) e NÃO coloca componentes.
   (Tokens: tokens.css | Texto: typography.css | Layout: layout.css)
========================================================= */
/* =========================
   Reset mínimo + box model
========================= */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Remove espaços padrão e garante altura total */
html,
body {
    height: 100%;
}

body {
    margin: 0;
}

/* =========================
   Corpo da página (base)
   - tipografia (font, cor) fica no typography.css
========================= */
body {
    background: var(--bg);
}

/* =========================
   Mídia / imagens
========================= */
img,
svg,
video,
canvas {
    display: block;

    /* evita gaps em inline */
    max-width: 100%;
    height: auto;
}

/* Imagens de placeholder padrão (se a imagem quebrar) */
img {
}

/* =========================
   Links
========================= */
a {
    color: inherit;

    /* herda cor do texto por padrão */
    text-decoration: none;

    /* você controla underline nos componentes */
}

a:hover {
    text-decoration: none;
}

/* =========================
   Form / inputs (base)
   - estilo visual vai em elements.css
========================= */
button,
input,
textarea,
select {
    font: inherit;
    color: inherit;
}

/* Remove estilo nativo "esquisito" em alguns browsers */
button {
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
}

button:disabled {
    cursor: not-allowed;
}

/* Textarea não estoura layout */
textarea {
    resize: vertical;
}

/* =========================
   Listas
========================= */
ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* =========================
   Tabelas
========================= */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* =========================
   Acessibilidade / foco
   - mantém um foco padrão consistente
========================= */
:focus-visible {
    outline: none;
    box-shadow: var(--ring);
    border-radius: var(--r-sm);
}

/* =========================
   Seleção de texto
========================= */
::selection {
    background: rgba(94, 155, 245, 0.25);

    /* var(--primary) em alpha */
}

/* =========================
   Preferência de animação do usuário
========================= */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}