/**
 * ESTILOS GLOBAIS & ACESSIBILIDADE
 * Casamento Geovana & Lourenço
 */

/* ==========================================================================
   1. SELEÇÃO & FOCO ACESSÍVEL
   ========================================================================== */
::selection {
  background-color: var(--canva-nude);
  color: var(--canva-espresso);
}

:focus-visible {
  outline: 2px solid var(--canva-terracotta);
  outline-offset: 3px;
  border-radius: var(--radius-sm);
}

/* ==========================================================================
   2. SKIP TO CONTENT LINK (ACESSIBILIDADE WCAG)
   ========================================================================== */
.skip-link {
  position: absolute;
  top: -100px;
  left: var(--space-16);
  z-index: var(--z-skiplink);
  background-color: var(--canva-espresso);
  color: var(--pure-white);
  padding: var(--space-12) var(--space-24);
  border-radius: var(--radius-sm);
  font-size: var(--text-small);
  font-weight: 600;
  letter-spacing: var(--tracking-wide);
  text-decoration: none;
  transition: top var(--transition-fast);
}

.skip-link:focus {
  top: var(--space-16);
}

/* ==========================================================================
   3. TIPOGRAFIA BASE
   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: var(--leading-tight);
  color: var(--color-primary);
  text-wrap: balance;
}

h1 {
  font-size: var(--text-heading-1);
}

h2 {
  font-size: var(--text-heading-2);
}

h3 {
  font-size: var(--text-heading-3);
}

p {
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--leading-relaxed);
  color: var(--color-text);
  max-width: 70ch;
}

.font-script {
  font-family: var(--font-script);
}

.font-display {
  font-family: var(--font-display);
}

.font-body {
  font-family: var(--font-body);
}

/* ==========================================================================
   4. UTILITÁRIOS DE ACESSIBILIDADE
   ========================================================================== */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* Bloqueio de scroll no body para menu mobile */
body.no-scroll {
  overflow: hidden;
  touch-action: none;
}
