/* ═══════════════════════════════════════════════════════════════
   Outfonts Theme — auth.css  v2
   Login / Signup — full-height split, dark left panel
   ═══════════════════════════════════════════════════════════════ */

.ac-auth-body {
  margin:0; padding:0;
  font-family:var(--ac-font,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif);
  -webkit-font-smoothing:antialiased;
  background:#0a0a0f;
}
.ac-auth-body * { box-sizing:border-box; }

/* ── Root: full-height split ── */
.ac-auth-root {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:100vh;
}

/* ══════════════════════════════
   LEFT DARK PANEL
   ══════════════════════════════ */
.ac-auth-left {
  position:relative;
  background:#0a0a0f;
  display:flex; flex-direction:column;
  padding:44px 52px;
  overflow:hidden;
  color:#fff;
}
.ac-auth-left-glow {
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 30% 50%, rgba(255,255,255,.035) 0%, transparent 70%),
             radial-gradient(circle 400px at 10% 80%, rgba(100,100,255,.05) 0%, transparent 60%);
}
.ac-auth-left-top { position:relative; z-index:1; margin-bottom:auto; }
.ac-auth-left-mid { position:relative; z-index:1; padding:60px 0 40px; }
.ac-auth-left-bot { position:relative; z-index:1; margin-top:auto; }

/* Brand logo */
.ac-auth-brand {
  display:inline-flex; align-items:center; gap:10px;
  color:#fff !important; text-decoration:none !important;
  font-size:16px; font-weight:900; letter-spacing:.02em;
}
.ac-auth-brand svg, .ac-auth-brand img { max-height:32px; width:auto; }

/* Headline tag */
.ac-auth-headline-tag {
  display:inline-block;
  font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.45);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:100px; padding:5px 12px; margin-bottom:20px;
}

/* Headline */
.ac-auth-headline {
  font-size:clamp(28px,2.8vw,38px);
  font-weight:900; letter-spacing:-.04em; line-height:1.18;
  color:#fff; margin:0 0 32px;
}

/* Feature list */
.ac-auth-features {
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:14px;
}
.ac-auth-features li {
  display:flex; align-items:center; gap:12px;
  font-size:14px; color:rgba(255,255,255,.8); line-height:1.4;
}
.ac-auth-feat-icon {
  flex-shrink:0;
  width:30px; height:30px; border-radius:9px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.7);
}

/* Testimonial */
.ac-auth-testimonial {
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px; padding:20px 22px; margin:0;
}
.ac-auth-testimonial-stars {
  font-size:13px; color:#ffcc47; letter-spacing:2px; margin-bottom:10px;
}
.ac-auth-testimonial blockquote {
  margin:0 0 14px;
  font-size:14px; line-height:1.65; color:rgba(255,255,255,.85);
  font-style:italic;
}
.ac-auth-testimonial figcaption {
  display:flex; align-items:center; gap:10px;
}
.ac-auth-testimonial-avatar {
  width:32px; height:32px; border-radius:50%;
  background:linear-gradient(135deg,#7b7bff,#a266ff);
  display:flex; align-items:center; justify-content:center;
  font-size:14px; font-weight:800; color:#fff;
  flex-shrink:0;
}
.ac-auth-testimonial figcaption strong {
  display:block; font-size:13px; font-weight:800; color:#fff;
}
.ac-auth-testimonial figcaption span {
  display:block; font-size:11.5px; color:rgba(255,255,255,.5); margin-top:1px;
}

/* Social proof (signup) */
.ac-auth-social-proof {
  display:flex; align-items:center; gap:14px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px; padding:16px 20px;
}
.ac-auth-social-avatars {
  display:flex;
}
.ac-auth-social-avatars span {
  width:32px; height:32px; border-radius:50%; border:2px solid #0a0a0f;
  background:linear-gradient(135deg,#7b7bff,#a266ff);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:800; color:#fff;
  margin-left:-8px; flex-shrink:0;
}
.ac-auth-social-avatars span:first-child { margin-left:0; background:linear-gradient(135deg,#ff7b7b,#ff7ba1); }
.ac-auth-social-avatars span:nth-child(2) { background:linear-gradient(135deg,#7bbaff,#7b8fff); }
.ac-auth-social-avatars span:nth-child(3) { background:linear-gradient(135deg,#7bffb5,#7bdfff); }
.ac-auth-social-rating { font-size:13px; color:#ffcc47; font-weight:700; margin-bottom:2px; }
.ac-auth-social-rating strong { color:#fff; }
.ac-auth-social-text { font-size:12px; color:rgba(255,255,255,.5); }

/* ══════════════════════════════
   RIGHT FORM PANEL
   ══════════════════════════════ */
.ac-auth-right {
  background:#ffffff;
  display:flex; align-items:center; justify-content:center;
  padding:60px 56px;
}
.ac-auth-form-box { width:100%; max-width:400px; }

.ac-auth-form-header { margin-bottom:28px; }
.ac-auth-form-header h1 {
  font-size:clamp(22px,2vw,28px);
  font-weight:900; letter-spacing:-.04em; line-height:1.15;
  color:#0a0a0f; margin:0 0 8px;
}
.ac-auth-form-header p {
  font-size:14px; color:#888; margin:0; line-height:1.5;
}

/* Alert */
.ac-auth-alert {
  display:flex; align-items:flex-start; gap:9px;
  font-size:13px; line-height:1.5; font-weight:500;
  background:#fff5f5; color:#c0392b;
  border:1.5px solid #fcc;
  border-radius:12px; padding:12px 14px; margin-bottom:20px;
}
.ac-auth-alert svg { flex-shrink:0; margin-top:1px; }
.ac-auth-alert a { color:inherit; font-weight:700; }

/* Google button */
.ac-auth-google-btn {
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; padding:13px 20px;
  background:#fff;
  border:1.5px solid #e0e0e0; border-radius:12px;
  font-size:14px; font-weight:700; color:#0a0a0f !important;
  text-decoration:none !important;
  transition:border-color .2s, box-shadow .2s;
  margin-bottom:20px;
}
.ac-auth-google-btn:hover { border-color:#bbb; box-shadow:0 4px 14px rgba(0,0,0,.07); }

/* Divider */
.ac-auth-divider {
  display:flex; align-items:center; gap:12px;
  margin-bottom:20px;
  font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:#bbb;
}
.ac-auth-divider::before, .ac-auth-divider::after {
  content:''; flex:1; height:1px; background:#e8e8e8;
}

/* Fields */
.ac-auth-field { margin-bottom:14px; }
.ac-auth-field-row {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:6px;
}
.ac-auth-field label {
  display:block; margin-bottom:6px;
  font-size:12px; font-weight:700; color:#444; letter-spacing:.02em;
}
.ac-auth-field-row label { margin-bottom:0; }
.ac-auth-field input {
  width:100%; font-family:var(--ac-font,inherit);
  font-size:14.5px; color:#0a0a0f;
  background:#f9f9f9;
  border:1.5px solid #e4e4e4; border-radius:12px;
  padding:13px 16px;
  outline:none;
  transition:border-color .18s, box-shadow .18s, background .18s;
  -webkit-appearance:none;
}
.ac-auth-field input:focus {
  border-color:#0a0a0f;
  background:#fff;
  box-shadow:0 0 0 4px rgba(10,10,15,.06);
}
.ac-auth-field input::placeholder { color:#bbb; }

/* Password wrapper */
.ac-auth-pass-wrap { position:relative; }
.ac-auth-pass-wrap input { padding-right:48px; }
.ac-auth-show-pass {
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  background:none; border:none; cursor:pointer; padding:4px;
  color:#aaa; display:flex; align-items:center; transition:color .18s;
}
.ac-auth-show-pass:hover { color:#555; }

.ac-auth-forgot {
  font-size:12px; font-weight:700;
  color:#888 !important; text-decoration:none !important;
  transition:color .18s;
}
.ac-auth-forgot:hover { color:#0a0a0f !important; }

/* Password strength */
.ac-auth-pass-strength {
  font-size:11.5px; font-weight:600; margin-top:5px; min-height:16px;
  transition:color .2s;
}

/* Checkbox remember */
.ac-auth-remember {
  display:flex; align-items:center; gap:10px;
  font-size:13px; color:#666; cursor:pointer; margin-bottom:20px;
  user-select:none;
}
.ac-auth-remember input[type=checkbox] { position:absolute; opacity:0; width:0; height:0; }
.ac-auth-check-track {
  width:20px; height:20px; border-radius:6px; flex-shrink:0;
  border:1.5px solid #d0d0d0;
  background:#f5f5f5;
  display:flex; align-items:center; justify-content:center;
  transition:background .18s, border-color .18s;
}
.ac-auth-check-track svg { opacity:0; transition:opacity .18s; }
.ac-auth-remember input:checked ~ .ac-auth-check-track {
  background:#0a0a0f; border-color:#0a0a0f;
}
.ac-auth-remember input:checked ~ .ac-auth-check-track svg { opacity:1; }

/* Submit button */
.ac-auth-submit-btn {
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; font-family:var(--ac-font,inherit);
  background:#0a0a0f; color:#fff;
  font-size:15px; font-weight:700; letter-spacing:-.01em;
  border:none; border-radius:12px; padding:15px 24px;
  cursor:pointer;
  transition:background .2s, transform .15s, box-shadow .2s;
  box-shadow:0 8px 24px rgba(10,10,15,.18);
  margin-bottom:16px;
}
.ac-auth-submit-btn:hover {
  background:#222; transform:translateY(-1px);
  box-shadow:0 12px 30px rgba(10,10,15,.28);
}
.ac-auth-submit-btn:focus-visible { outline:2px solid #0a0a0f; outline-offset:3px; }

.ac-auth-legal {
  font-size:11.5px; color:#aaa; line-height:1.6; margin:0 0 10px; text-align:center;
}
.ac-auth-legal a { color:#888 !important; text-decoration:underline !important; }
.ac-auth-switch-link {
  font-size:13px; color:#888; text-align:center; margin:4px 0 0;
}
.ac-auth-switch-link a {
  color:#0a0a0f !important; font-weight:700; text-decoration:none !important;
}
.ac-auth-switch-link a:hover { text-decoration:underline !important; }

/* ── Responsive ── */
@media (max-width:900px) {
  .ac-auth-root { grid-template-columns:1fr; }
  .ac-auth-left {
    padding:32px 28px 36px;
    min-height:auto;
  }
  .ac-auth-left-mid { padding:32px 0 24px; }
  .ac-auth-headline { font-size:clamp(24px,5vw,30px); }
  .ac-auth-right { padding:40px 28px 56px; }
}
@media (max-width:480px) {
  .ac-auth-left { padding:28px 20px; }
  .ac-auth-right { padding:32px 20px 48px; }
}
