/* ==========================================================================
   BASE / RESET
   Minimal reset — kept intentionally small for performance.
   ========================================================================== */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

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

body {
  font-family: var(--font-main);
  background-color: var(--color-bg-page);
  direction: rtl;
  min-height: 100vh;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
}

button {
  font: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

fieldset {
  border: none;
  min-width: 0;
}

legend {
  padding: 0;
}

/* ==========================================================================
   ACCESSIBILITY — global baseline
   Applies on every page (this file is linked everywhere).
   ========================================================================== */

/* Visible keyboard-focus ring on every interactive element. Mouse/touch
   clicks don't get the ring (":focus-visible" — not plain ":focus"), so
   this only shows up for the people who actually need it: keyboard and
   switch-device users. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--color-pink-accent);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Respect the OS-level "reduce motion" preference: stop decorative
   animation/transition/scroll-behavior for anyone who has asked their
   system for it, site-wide rather than page-by-page. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
