/* Shared Always Ready AI typography, color and interaction foundations.
   Loaded after page styles so public, legal and account pages agree. */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Outfit:wght@300;400;500;600;700;800&family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&display=swap');
:root {
  --font: 'Outfit', system-ui, sans-serif;
  --font-heading: 'DM Serif Display', Georgia, serif;
  --bg: #f7f5f0; --card: #fff; --text: #0c1117;
  --muted: #616976; --border: #e5e2db; --input-bg: #faf9f7;
  --accent: #0a7d70; --accent-hover: #08685e;
  --teal-500: #0a7d70; --teal-600: #08685e;
  --radius: 12px; --radius-lg: 16px; --radius-xl: 20px;
}
body { font-family: var(--font); color: var(--text); background: var(--bg); }
button, input, select, textarea { font-family: inherit; }
h1, h2, .header h1 { font-family: var(--font-heading); font-weight: 400; }
html[lang^='ar'] { --font: 'IBM Plex Sans Arabic', system-ui, sans-serif; --font-heading: var(--font); }
html[lang^='ar'] h1, html[lang^='ar'] h2 { font-weight: 600; letter-spacing: 0; }
.btn-primary { background: var(--accent); }
.btn-primary:hover:not(:disabled) { background: var(--accent-hover); }
.btn-outline { background: transparent; border: 1px solid #bdc8c4; color: #0a7d70; }
.btn-outline:hover:not(:disabled) { background: #e6f5f2; border-color: #0a7d70; }
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #0a7d70; outline-offset: 4px;
}
.site-return { display: inline-flex; align-items: center; gap: .4rem; color: #0a7d70; font-size: .95rem; font-weight: 600; text-decoration: none; padding: .6rem 0; }
.site-return:hover { text-decoration: underline; }
.site-return-block { text-align: center; margin: 1rem 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
footer { color: #b8bdc5; }
footer .footer-links a { color: #56d7c3; }
.topnav .nav-back { color: #0a7d70; }
@media (max-width: 420px) {
  .topnav .logo-text { font-size: 1.06rem; }
  .topnav .nav-back { font-size: .81rem; gap: .25rem; }
  nav.topnav { padding-inline: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
