/**
 * Tipografia global — Imobiliária Space
 * Família: Source Sans 3 (eixo óptico) — legível em UI densa, PT-BR e mobile.
 * Monospace: só para IDs, código e dados tabulares.
 */
:root {
  --font-sans: "Source Sans 3", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, "Cascadia Code", "Segoe UI Mono", "SFMono-Regular", Menlo, Consolas, monospace;

  /* Escala de leitura (desktop denso) */
  --text-xs: 0.75rem;    /* 12px @ 16 */
  --text-sm: 0.875rem;   /* 14px */
  --text-md: 1rem;       /* 16px — corpo / piso de legibilidade */
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;

  --lh-tight: 1.25;
  --lh-snug: 1.375;
  --lh-body: 1.5;
  --lh-relaxed: 1.65;

  --tracking-body: 0.01em;
  --tracking-ui: 0.005em;
}

/* Mobile / touch: um pouco mais de ar e tamanho mínimo confortável */
@media (max-width: 768px) {
  :root {
    --text-xs: 0.8125rem;  /* 13px */
    --text-sm: 0.9375rem;  /* 15px */
    --text-md: 1.0625rem;  /* 17px */
    --text-base: 1.0625rem;
    --lh-body: 1.55;
    --lh-relaxed: 1.7;
    --tracking-body: 0.015em;
  }
}

html {
  font-family: var(--font-sans);
  font-size: 100%;
  line-height: var(--lh-body);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-md);
  line-height: var(--lh-body);
  letter-spacing: var(--tracking-body);
  font-optical-sizing: auto;
  font-synthesis: none;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-optical-sizing: auto;
}

code,
kbd,
samp,
pre,
.font-mono,
[data-font="mono"] {
  font-family: var(--font-mono);
  font-optical-sizing: none;
  letter-spacing: 0;
}

/* Preferência do SO: reduzir tracking apertado quando o usuário pede menos movimento */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* Evita zoom automático do iOS em inputs sem inflar chips/botões densos */
@media (max-width: 768px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  select,
  textarea {
    font-size: max(16px, 1em);
  }
}
