@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Cairo:wght@300;400;500;600;700;800&display=swap');

body {
  font-family: 'Plus Jakarta Sans', 'Cairo', sans-serif;
}

.rtl-dir {
  direction: rtl;
  font-family: 'Cairo', 'Plus Jakarta Sans', sans-serif;
}

.ltr-dir {
  direction: ltr;
  font-family: 'Plus Jakarta Sans', 'Cairo', sans-serif;
}

/* Soft premium animated elements */
.pulse-glow {
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7);
  animation: pulsing 1.6s infinite cubic-bezier(0.66, 0, 0, 1);
}
@keyframes pulsing {
  to {
    box-shadow: 0 0 0 8px rgba(34, 197, 94, 0);
  }
}

/* --- Mobile ergonomics ---------------------------------------------------
   99% of use is on a phone, so these are not edge cases.                   */

/* Apple and Google both put the minimum comfortable tap target at ~44px.
   Icon-only buttons were rendering around 36px (and some inline ones at
   16px), which is a miss-tap every time on a real thumb. */
.tap-target {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Keep the bottom bar clear of the iPhone home indicator. */
.safe-bottom {
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* iOS Safari zooms the whole page when you focus an input whose text is
   under 16px, and never zooms back out. Forcing 16px on phones is the only
   reliable fix; desktop keeps the smaller, denser type. */
@media (max-width: 767px) {
  input,
  select,
  textarea {
    font-size: 16px !important;
  }
}
