/* ============================================================
   QURAN APP — AUTH
   auth.css · login · register · logout
   ============================================================ */

/* ============================================================
   AUTH LAYOUT (login + register)
   ============================================================ */
.auth-layout {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

/* ---------- Brand panel (left) ---------- */
.auth-brand {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--space-12);
  color: #fff;
  overflow: hidden;

  background:
    radial-gradient(circle at 20% 0%, rgba(117, 192, 138, 0.25) 0%, transparent 45%),
    radial-gradient(circle at 100% 100%, rgba(251, 191, 36, 0.12) 0%, transparent 45%),
    linear-gradient(155deg,
      var(--mudhamatan-800) 0%,
      var(--mudhamatan-900) 45%,
      var(--mudhamatan-950) 100%);
}

/* Geometric pattern overlay */
.auth-brand::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23fbbf24' stroke-opacity='0.06' stroke-width='1'%3E%3Cpath d='M40 4 L76 40 L40 76 L4 40 Z'/%3E%3Cpath d='M40 18 L62 40 L40 62 L18 40 Z'/%3E%3Ccircle cx='40' cy='40' r='6'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: radial-gradient(circle at center, black 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(circle at center, black 30%, transparent 75%);
}

.auth-brand__content {
  position: relative;
  z-index: 1;
}

.auth-brand__logo {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-16);

  font-size: var(--text-lg);
  font-weight: var(--font-semibold);
  letter-spacing: var(--tracking-tight);
  color: #fff;
}
.auth-brand__logo-mark {
  width: 36px; height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;

  background: linear-gradient(135deg,
    var(--mudhamatan-400),
    var(--mudhamatan-600));
  border-radius: var(--radius-sm);       /* rectangle */
  color: var(--gold-300);
  font-family: var(--font-arabic);
  font-weight: 700;
  font-size: 1.1rem;
  box-shadow: 0 4px 12px rgba(31, 122, 68, 0.4);
}

.auth-brand__headline {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: var(--font-bold);
  line-height: 1.15;
  letter-spacing: var(--tracking-tight);
  margin-bottom: var(--space-5);
  max-width: 22ch;
  background: linear-gradient(180deg, #fff 0%, rgba(200, 230, 210, 0.85) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.auth-brand__subtext {
  font-size: var(--text-md);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.75);
  max-width: 42ch;
}

.auth-brand__quote {
  position: relative;
  z-index: 1;
  padding: var(--space-5);

  border-left: 3px solid var(--gold-400);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  font-size: var(--text-sm);
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.88);
}
.auth-brand__quote .arabic {
  display: block;
  margin-bottom: var(--space-3);
  font-size: 1.4em;
  color: var(--gold-400);
  line-height: 2;
}
.auth-brand__quote cite {
  display: block;
  margin-top: var(--space-3);
  font-style: normal;
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

/* ---------- Form panel (right) ---------- */
.auth-form-panel {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-8);
  background: var(--color-bg);
}

.auth-card {
  width: 100%;
  max-width: 400px;
}

.auth-card__header {
  text-align: center;
  margin-bottom: var(--space-8);
}
.auth-card__logo {
  display: none;
  width: 52px; height: 52px;
  margin: 0 auto var(--space-4);

  align-items: center;
  justify-content: center;

  background: linear-gradient(135deg,
    var(--mudhamatan-500),
    var(--mudhamatan-700));
  border-radius: var(--radius-sm);
  color: var(--gold-300);
  font-family: var(--font-arabic);
  font-weight: 700;
  font-size: 1.4rem;
  box-shadow: var(--shadow-md);
}
.auth-card__title {
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  letter-spacing: var(--tracking-tight);
  margin-bottom: var(--space-2);
}
.auth-card__subtitle {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

.auth-card__form {
  margin-top: var(--space-6);
}

.auth-card__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
  font-size: var(--text-sm);
}

.auth-card__link {
  color: var(--color-primary);
  font-weight: var(--font-medium);
  font-size: var(--text-sm);
  transition: color var(--duration-fast) var(--ease);
}
.auth-card__link:hover {
  color: var(--color-primary-hover);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.auth-card__footer {
  margin-top: var(--space-6);
  text-align: center;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

/* Social login */
.auth-social {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3);
  margin-top: var(--space-5);
}
.btn--social {
  background: var(--color-bg-elevated);
  color: var(--color-text);
  border-color: var(--color-border);
  font-weight: var(--font-medium);
  box-shadow: var(--shadow-xs);
}
.btn--social:hover {
  background: var(--color-bg-subtle);
  border-color: var(--color-border-strong);
  color: var(--color-text);
}

/* ============================================================
   LOGOUT PAGE
   ============================================================ */
.logout-layout {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-6);
  background:
    radial-gradient(circle at 50% 0%, rgba(31, 122, 68, 0.06) 0%, transparent 50%),
    var(--color-bg);
}
[data-theme="dark"] .logout-layout {
  background:
    radial-gradient(circle at 50% 0%, rgba(46, 158, 91, 0.08) 0%, transparent 50%),
    var(--color-bg);
}

.logout-card {
  width: 100%;
  max-width: 440px;
  padding: var(--space-10);

  background: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);       /* 6px — largest radius in app */
  box-shadow: var(--shadow-lg);

  text-align: center;
}

.logout-card__icon {
  width: 64px; height: 64px;
  margin: 0 auto var(--space-5);

  display: flex;
  align-items: center;
  justify-content: center;

  background: var(--mudhamatan-50);
  color: var(--mudhamatan-600);
  border-radius: var(--radius-md);       /* rectangle, not circle */
  border: 1px solid var(--mudhamatan-100);
}
[data-theme="dark"] .logout-card__icon {
  background: rgba(46, 158, 91, 0.1);
  color: var(--mudhamatan-400);
  border-color: rgba(46, 158, 91, 0.2);
}

.logout-card h1 {
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  letter-spacing: var(--tracking-tight);
  margin-bottom: var(--space-2);
}
.logout-card p {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  margin-bottom: var(--space-6);
}

.logout-card__actions {
  display: flex;
  gap: var(--space-3);
  justify-content: center;
}

/* ============================================================
   RESPONSIVE — tuned for iPhone 14 Pro (393px) → iPad → Desktop
   ============================================================ */

/* ---------- TABLET (iPad): 2 columns, brand visible ~40% ---------- */
@media (min-width: 641px) and (max-width: 1023px) {
  .auth-layout {
    grid-template-columns: minmax(280px, 40%) 1fr;
  }

  .auth-brand {
    padding: var(--space-8) var(--space-5);
  }

  .auth-brand__logo {
    margin-bottom: var(--space-8);
  }

  .auth-brand__headline {
    font-size: var(--text-2xl);
    max-width: 20ch;
  }

  .auth-brand__subtext {
    font-size: var(--text-sm);
  }

  .auth-brand__quote {
    font-size: var(--text-xs);
    padding: var(--space-4);
  }

  .auth-form-panel {
    padding: var(--space-8) var(--space-6);
  }

  /* Stats strip: 4-col → 2-col on tablet */
  .stats-strip {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ---------- PHONE: 1 column, brand hidden ---------- */
/* iPhone 14 Pro = 393px falls here */
@media (max-width: 640px) {
  .auth-layout {
    grid-template-columns: 1fr;
  }

  .auth-brand {
    display: none;
  }

  .auth-card__logo {
    display: flex;
  }

  .auth-form-panel {
    padding: var(--space-6) var(--space-4);
    align-items: flex-start;
  }

  .auth-card__title {
    font-size: var(--text-xl);
  }

  .auth-social {
    grid-template-columns: 1fr;
  }

  .logout-card {
    padding: var(--space-8) var(--space-6);
  }

  .logout-card__actions {
    flex-direction: column;
  }

  .logout-card__actions .btn {
    width: 100%;
  }

  /* Stats strip: 4-col → 2-col on phone */
  .stats-strip {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ---------- SMALL PHONE: tighten further ---------- */
@media (max-width: 380px) {
  .auth-form-panel {
    padding: var(--space-5) var(--space-3);
  }

  .auth-brand {
    padding: var(--space-4);
  }
}