/* Leumi — global modern/mobile-friendly overrides */
:root {
  --sh-accent: #1a1a8e;
  --sh-accent-2: #0066ff;
  --sh-accent-glow: 0 10px 30px -8px rgba(211, 52, 28, .45);
  --sh-radius: 14px;
  --sh-ink: #0f0f14;
}

/* Clearer Arabic-friendly type stack applied everywhere */
html, body, input, button, select, textarea, .btn, .card, h1, h2, h3, h4, h5, p, span, div, a, label {
  font-family: 'Tajawal', 'Cairo', 'Segoe UI', system-ui, -apple-system, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

html { -webkit-text-size-adjust: 100%; }
body {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0;
  overflow-x: hidden;
}

/* Mobile-first spacing: comfortable tap targets & safe-area */
@supports (padding: max(0px)) {
  body {
    padding-left: max(env(safe-area-inset-left), 0px);
    padding-right: max(env(safe-area-inset-right), 0px);
  }
}

/* Bigger, easier tap targets on phones */
button, .btn, input[type="submit"], input[type="button"], a.btn {
  min-height: 48px;
  font-weight: 700;
  letter-spacing: .2px;
  transition: transform ..15s ease, box-shadow .2s ease, background .2s ease, opacity .2s ease;
}
button:active, .btn:active { transform: translateY(1px) scale(.99); }

input, select, textarea {
  font-size: 16px !important; /* prevents iOS zoom */
}

/* Accent boost — vibrant primary buttons where present */
.btn-primary, .primary-btn, button.primary,
button[type="submit"]:not(.eye):not(.linklike) {
  background: linear-gradient(135deg, var(--sh-accent), var(--sh-accent-2)) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: var(--sh-accent-glow);
}
.btn-primary:hover, .primary-btn:hover, button.primary:hover,
button[type="submit"]:not(.eye):not(.linklike):hover {
  filter: brightness(1.05);
  box-shadow: 0 14px 36px -8px rgba(22,54,95,.55);
}
.btn-primary:disabled, button[type="submit"]:disabled { opacity: .55; box-shadow: none; }

/* Nicer focus rings for accessibility */
:focus-visible {
  outline: 2px solid var(--sh-accent) !important;
  outline-offset: 2px;
  border-radius: 6px;
}

/* Selection color */
::selection { background: var(--sh-accent); color: #fff; }

/* Softer, more modern cards */
.card, .panel {
  border-radius: var(--sh-radius);
}

/* Mobile refinements */
@media (max-width: 480px) {
  body { font-size: 15.5px; }
  h1 { font-size: 24px; line-height: 1.25; }
  h2 { font-size: 20px; line-height: 1.3; }
  .card, .panel { border-radius: 16px; }
  button, .btn { min-height: 50px; font-size: 16px; }
}

/* Gentle entrance for main content */
@keyframes shFadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
main, .stage, .container, .card { animation: shFadeUp .45s ease both; }
