/* Famyro Area Guide — global rules v1.0 */
body {
  overflow-x: hidden;
  background: var(--famyro-color-cream);
}

a {
  text-decoration-thickness: 2px;
  text-underline-offset: 0.18em;
}

a:hover {
  text-decoration-color: var(--famyro-color-green-dark);
}

:focus-visible {
  outline: 3px solid var(--famyro-color-green-dark);
  outline-offset: 4px;
}

::selection {
  background: var(--famyro-color-yellow);
  color: var(--famyro-color-ink-strong);
}

.famyro-skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: var(--famyro-z-modal);
  padding: 10px 14px;
  border: var(--famyro-border-width) solid var(--famyro-color-ink-strong);
  border-radius: var(--famyro-radius-sm);
  background: var(--famyro-color-surface);
  box-shadow: var(--famyro-shadow-sm);
  font-family: var(--famyro-font-heading);
  font-weight: 800;
  transform: translateY(-160%);
  transition: transform var(--famyro-transition-fast);
}

.famyro-skip-link:focus {
  transform: translateY(0);
}

.famyro-surface {
  border: var(--famyro-border-width) solid var(--famyro-color-ink);
  border-radius: var(--famyro-radius-lg);
  background: var(--famyro-color-surface);
  box-shadow: var(--famyro-shadow-md);
}

.famyro-divider {
  border: 0;
  border-top: var(--famyro-border-width) solid var(--famyro-color-ink);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
