/* يعتمد على tenant-theme.css (متغيرات الهوية) — يُحمَّل قبل هذا الملف */

html {
  position: relative;
  min-height: 100%;
  /* قاعدة مرنة للقراءة على الجوال دون كسر تخطيط rem بالكامل */
  font-size: clamp(15px, 0.2rem + 3.2vw, 17px);
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--wasl-font-sans, "Tajawal", system-ui, sans-serif);
  margin-bottom: 0;
  background: linear-gradient(
    180deg,
    var(--wasl-color-page-start, #f6f8fb) 0%,
    var(--wasl-color-page-end, #ffffff) 40%
  );
  color: var(--wasl-color-text, #1a2744);
  overflow-x: hidden;
}

img,
svg:not(:root),
video {
  max-width: 100%;
  height: auto;
}

.wasl-nav {
  background: var(--wasl-nav-gradient, linear-gradient(90deg, #0d6efd 0%, #6f42c1 100%));
}

.wasl-hero {
  background: var(
    --wasl-hero-gradient,
    linear-gradient(120deg, #0d6efd 0%, #6610f2 55%, #6f42c1 100%)
  );
}

.wasl-hero h1 {
  font-size: clamp(1.45rem, 1.1rem + 2.2vw, 2.35rem);
}

.wasl-hero .lead {
  font-size: clamp(0.95rem, 0.9rem + 0.35vw, 1.15rem);
}

@media (max-width: 576px) {
  .wasl-hero {
    padding: 1.25rem !important;
  }

  .wasl-hero .btn-lg {
    width: 100%;
  }
}

/* شريط علوي: لمس أسهل على الشاشات اللمسية */
@media (pointer: coarse) {
  .wasl-nav .navbar-nav .nav-link {
    min-height: 2.75rem;
    display: flex;
    align-items: center;
  }

  .wasl-nav .navbar-nav .btn {
    min-height: 2.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}

.card.wasl-card {
  border: none;
  border-radius: 1rem;
  box-shadow: var(--wasl-card-shadow, 0 0.35rem 1.2rem rgba(13, 110, 253, 0.08));
  background-color: var(--wasl-color-surface, #fff);
}

@media (max-width: 576px) {
  .card.wasl-card {
    border-radius: 0.75rem;
  }
}

.badge-wasl {
  background: var(--wasl-badge-bg, #e7f1ff);
  color: var(--wasl-badge-fg, #0d6efd);
}

.table-responsive {
  border-radius: 0.75rem;
  -webkit-overflow-scrolling: touch;
}

.wasl-table-wrap {
  -webkit-overflow-scrolling: touch;
}

/* منطقة أوامر النماذج */
.wasl-form-actions .btn-primary {
  min-height: 3.25rem;
}

@media (pointer: coarse) {
  .wasl-form-actions .btn-primary,
  .wasl-touch-target {
    min-height: 2.75rem;
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
  }
}

/* عناوين صفحات: لا تفيض على الشاشات الضيقة */
.wasl-page-title {
  font-size: clamp(1.15rem, 1rem + 1vw, 1.5rem);
  word-break: break-word;
}

/* حاوية المحتوى: هوامش جانبية مريحة على الجوال */
main {
  min-width: 0;
}

.container.flex-grow-1 {
  padding-left: max(0.75rem, env(safe-area-inset-left, 0));
  padding-right: max(0.75rem, env(safe-area-inset-right, 0));
}

footer.footer {
  background-color: var(--wasl-footer-bg, #f8f9fa) !important;
  border-color: var(--wasl-footer-border, #dee2e6) !important;
}

/* تركيز واضح للوصولية */
.btn:focus-visible,
.nav-link:focus-visible,
.form-control:focus-visible {
  outline: 2px solid var(--wasl-brand, #0d6efd);
  outline-offset: 2px;
}

/* بطاقات اختيار مستوى الرعاية (الشركة) */
.sponsorship-tier-card {
  cursor: pointer;
}

.sponsorship-tier-card .tier-radio {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sponsorship-tier-card .sponsorship-tier-inner {
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  border-color: var(--bs-border-color-translucent, #dee2e6) !important;
}

.sponsorship-tier-card:hover .sponsorship-tier-inner {
  border-color: rgba(var(--wasl-brand-rgb), 0.45) !important;
}

.sponsorship-tier-card:has(.tier-radio:checked) .sponsorship-tier-inner {
  border-color: var(--bs-primary, var(--wasl-brand, #005f6a)) !important;
  box-shadow: 0 0 0 0.2rem rgba(var(--wasl-brand-rgb), 0.2);
}

.sponsorship-tier-card:has(.tier-radio:focus-visible) .sponsorship-tier-inner {
  outline: 2px solid var(--bs-primary, var(--wasl-brand, #005f6a));
  outline-offset: 2px;
}

/* تسجيل الدخول والتسجيل — نفس هوية اللوحات */
.wasl-auth-page {
  padding-top: 1.5rem;
  padding-bottom: 2.5rem;
}

@media (min-width: 768px) {
  .wasl-auth-page {
    padding-top: 2.5rem;
    padding-bottom: 3rem;
  }
}

.wasl-auth-mark {
  width: 3rem;
  height: 3rem;
  border-radius: 0.85rem;
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 800;
  font-size: 1.25rem;
  background: linear-gradient(145deg, #005f6a 0%, #007a87 100%);
  box-shadow: 0 10px 28px rgba(0, 95, 106, 0.22);
}

.wasl-auth-card {
  border-radius: 1.25rem !important;
  box-shadow: 0 12px 32px -4px rgba(0, 95, 106, 0.1) !important;
}

.wasl-auth-card .btn-primary {
  border-radius: 0.65rem;
  min-height: 2.85rem;
  font-weight: 700;
}
