* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  direction: rtl;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.04), transparent 24%),
    radial-gradient(circle at bottom left, rgba(255,255,255,.02), transparent 18%),
    var(--bg);
  color: var(--text);
  font-family: "Cairo", "IBM Plex Sans Arabic", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { appearance: none; border: 0; }
img { max-width: 100%; }
input, select, textarea {
  width: 100%;
  min-height: 44px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 94%, #000 6%);
  color: var(--text);
  padding: 0 12px;
  outline: none;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--line-strong);
  box-shadow: 0 0 0 4px rgba(212,175,55,.12);
}
small, p { margin: 0; }
.hidden, .is-hidden { display: none !important; }
.mono { font-variant-numeric: tabular-nums; }
.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
}
.app-header, .app-search, .app-hero, .app-main, .app-footer { width: 100%; }
.app-main { padding-bottom: calc(var(--footer-height) + var(--safe-bottom)); }
.app-overlays { position: fixed; inset: 0; pointer-events: none; z-index: var(--z-modal); }

.app-overlays > * { pointer-events: auto; }
