/* ============================================================
   Mercati — Base / reset leve + estilos de elemento
   ============================================================ */

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

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--surface);
  color:var(--text);
  font-family:var(--font-sans);
  font-size:var(--text-base);
  line-height:var(--leading-normal);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* ---------- Títulos ---------- */
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:var(--weight-semibold);
  line-height:var(--leading-tight);
  letter-spacing:var(--tracking-snug);
  color:var(--text);
  margin:0;
}
h1{font-size:var(--text-4xl);letter-spacing:var(--tracking-tight)}
h2{font-size:var(--text-2xl)}
h3{font-size:var(--text-xl)}
h4{font-size:var(--text-lg)}

p{margin:0}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}

strong{font-weight:var(--weight-bold)}

/* ---------- Helpers de texto ---------- */
.eyebrow{
  font-family:var(--font-mono);
  font-size:var(--text-2xs);
  font-weight:var(--weight-bold);
  letter-spacing:var(--tracking-wider);
  text-transform:uppercase;
  color:var(--brand);
}
.eyebrow--amber{color:var(--accent)}
.label{
  font-family:var(--font-mono);
  font-size:var(--text-2xs);
  font-weight:var(--weight-bold);
  letter-spacing:var(--tracking-wide);
  text-transform:uppercase;
  color:var(--text-soft);
}
.mono{font-family:var(--font-mono)}
.display{font-family:var(--font-display)}

/* ---------- Foco visível acessível ---------- */
:where(button,a,input,select,textarea,[tabindex]):focus-visible{
  outline:none;
  box-shadow:var(--shadow-focus);
  border-radius:var(--radius-sm);
}

/* ---------- Seleção ---------- */
::selection{background:var(--amber-soft);color:var(--ink)}
