/* ============================================================
   ZawajCo — Login Experience  v2  "Mawadda"
   Crafted like a boutique agency, not a template.
   Editorial luxury • Handmade details • Cinematic showcase
   ============================================================ */

[x-cloak]{display:none !important}

/* ---------- Universe ---------- */
.login-universe{
  position:relative;
  min-height:100vh;
  background: var(--surface-bg);
  overflow:hidden;
}
.lu-grain{
  position:absolute; inset:0; pointer-events:none; z-index:0;
  opacity:0.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.9'/%3E%3C/svg%3E");
}
[data-theme="dark"] .lu-grain{opacity:0.055}

/* ---------- Shell ---------- */
.auth-body--bare .auth-main{padding:0; display:block}
.auth-body--bare .auth-card-wrapper{max-width:none; width:100%}
.auth-body--bare .auth-footer{display:none}

.login-shell{
  position:relative; z-index:1;
  display:grid;
  grid-template-columns: minmax(0, 580px) minmax(0, 1fr);
  min-height:100vh;
}

/* ============================================================
   FORM PANEL
   ============================================================ */
.login-panel{
  position:relative;
  display:flex; align-items:center; justify-content:center;
  padding: clamp(1.5rem, 3vh, 2.2rem) clamp(1.1rem, 4vw, 3.2rem);
  background: linear-gradient(180deg, var(--surface-bg) 0%, var(--surface-card) 100%);
  overflow:hidden;
  isolation:isolate;
}
.lp-decor{position:absolute; inset:0; pointer-events:none; overflow:hidden}
.lp-orb{position:absolute; border-radius:50%; filter:blur(45px); opacity:0.55}
.lp-orb--1{width:420px; height:420px; background: radial-gradient(circle at 30% 30%, rgba(255,77,133,0.18), transparent 70%); top:-120px; inset-inline-start:-140px}
.lp-orb--2{width:380px; height:380px; background: radial-gradient(circle at 50% 50%, rgba(124,106,247,0.12), transparent 70%); bottom:-110px; inset-inline-end:-120px}
.lp-doodle{position:absolute; bottom:22px; inset-inline-start: 6%; width:200px; opacity:0.7; transform: rotate(-1.5deg)}

.lg-theme-toggle{
  position:absolute; top:1rem; inset-inline-end:1rem;
  width:42px; height:42px; display:grid; place-items:center;
  background: var(--surface-card); border:1px solid var(--surface-border);
  border-radius:50%; cursor:pointer; box-shadow: var(--shadow-xs);
  transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .2s, background .2s;
  z-index:3;
}
.lg-theme-toggle:hover{transform: translateY(-2px) rotate(10deg) scale(1.04); box-shadow: var(--shadow-sm)}
.tt-icon{font-size:1.05rem}

.lp-inner{width:100%; max-width:440px; position:relative; z-index:2}

/* Topbar */
.lp-topbar{display:flex; align-items:center; justify-content:space-between; margin-bottom:1.4rem; gap:1rem}
.lp-logo{display:inline-flex; align-items:center; gap:.6rem; text-decoration:none; font-weight:900; color:var(--text-primary); font-size:1rem}
.lp-logo-mark{width:34px; height:34px; border-radius:10px; display:grid; place-items:center; background: linear-gradient(135deg, var(--zawaj-primary), var(--zawaj-primary-dark)); box-shadow: 0 8px 20px -8px rgba(255,77,133,0.55)}
.lp-logo-text{letter-spacing:-.02em}
.lp-logo-dot{width:6px; height:6px; border-radius:50%; background: var(--zawaj-success); box-shadow:0 0 0 4px rgba(52,201,123,.18); animation: dotPulse 2.2s infinite}
@keyframes dotPulse{50%{box-shadow:0 0 0 7px rgba(52,201,123,0)}}
.lp-top-link{display:inline-flex; align-items:center; gap:.2rem; font-size:.85rem; font-weight:700; color:var(--text-secondary); border:1px solid var(--surface-border); background: var(--surface-card); padding:.45rem .8rem; border-radius:999px; transition: all .2s}
.lp-top-link:hover{color:var(--zawaj-primary); border-color: rgba(255,77,133,.25); transform: translateY(-1px); box-shadow: var(--shadow-xs)}

/* Header */
.lp-header{margin-bottom:1.45rem}
.lp-eyebrow{display:inline-flex; align-items:center; gap:.5rem; padding:.38rem .75rem; border-radius:999px; background: rgba(255,77,133,.08); border:1px solid rgba(255,77,133,.14); color:var(--zawaj-primary); font-size:.78rem; font-weight:700; margin-bottom:.9rem}
.eyebrow-dot{width:7px; height:7px; border-radius:50%; background: var(--zawaj-success); box-shadow:0 0 0 3px rgba(52,201,123,.15); animation: dotPulse 2.4s infinite}
.eyebrow-heart{font-size:.9rem; opacity:.9; transform: rotate(-6deg); display:inline-block}

.lp-title{font-size: clamp(1.7rem, 3vw, 2.05rem); font-weight:900; line-height:1.25; color:var(--text-primary); margin:0 0 .55rem; letter-spacing:-.02em}
.lp-title-accent{position:relative; display:inline-block; color: var(--zawaj-primary)}
.hand-underline{position:absolute; left:0; right:0; bottom:-8px; width:100%; height:14px; pointer-events:none}
.lp-subtitle{color:var(--text-secondary); font-size:.95rem; line-height:1.85; margin:0}
.lp-whisper{color:var(--text-muted); font-size:.82rem; font-style:italic; white-space:nowrap}

/* Form */
.lp-form{margin-top:1.1rem}
.lp-form.is-shaking{animation: shake .5s cubic-bezier(.36,.07,.19,.97) both}
@keyframes shake{10%,90%{transform:translateX(-1px)} 20%,80%{transform:translateX(2px)} 30%,50%,70%{transform:translateX(-4px)} 40%,60%{transform:translateX(4px)}}

.lp-alert{display:flex; gap:.7rem; align-items:flex-start; padding:.9rem 1rem; border-radius:14px; font-size:.88rem; line-height:1.6; margin-bottom:1rem}
.lp-alert i{margin-top:.15rem; flex-shrink:0}
.lp-alert--danger{background: rgba(255,90,110,.08); border:1px solid rgba(255,90,110,.22); color:#D81B60}
[data-theme="dark"] .lp-alert--danger{color:#FF9CBE}
.lp-alert--warn{background: rgba(245,166,35,.09); border:1px solid rgba(245,166,35,.26); color:#8A5A00}
[data-theme="dark"] .lp-alert--warn{color:#FFD9A0}
.lp-alert-icon{font-size:1.1rem}

.lp-fields{display:grid; gap:.2rem}

/* Field */
.field{margin-bottom:1rem}
.field-label{display:flex; align-items:center; justify-content:space-between; font-size:.84rem; font-weight:700; color:var(--text-primary); margin-bottom:.45rem}
.field-hint{font-size:.72rem; font-weight:600; color:var(--text-muted); background: var(--surface-hover); border:1px solid var(--surface-border); padding:.15rem .45rem; border-radius:999px}
.field-control{position:relative}
.field-input{
  width:100%; padding:.95rem 1rem; font:inherit; font-size:.95rem; color:var(--text-primary);
  background: var(--surface-card); border:1.6px solid var(--surface-border); border-radius:14px;
  transition: border-color .2s, box-shadow .2s, background .2s, transform .15s;
  outline:none;
}
.field-input.has-icon{padding-inline-start:2.9rem}
.field-input.has-eye{padding-inline-end:2.7rem}
.field-input::placeholder{color:var(--text-muted)}
.field-input:hover{border-color: rgba(255,77,133,.28)}
.field-input:focus{border-color: var(--zawaj-primary); box-shadow: 0 0 0 4px rgba(255,77,133,.11); background: var(--surface-card)}
.field.is-focused .field-icon{color:var(--zawaj-primary)}
.field-underline{position:absolute; left:14px; right:14px; bottom:1px; height:1px; background: linear-gradient(90deg, transparent, var(--zawaj-primary), transparent); opacity:0; transform: scaleX(.6); transition: opacity .25s, transform .25s; pointer-events:none}
.field.is-focused .field-underline{opacity:.35; transform: scaleX(1)}
.field-icon{position:absolute; top:50%; inset-inline-start:1rem; transform:translateY(-50%); color:var(--text-muted); font-size:1.05rem; pointer-events:none; transition: color .2s}
.field-eye{position:absolute; top:50%; inset-inline-end:.7rem; transform:translateY(-50%); background:transparent; border:0; color:var(--text-muted); cursor:pointer; width:34px; height:34px; display:grid; place-items:center; border-radius:9px; transition: background .2s, color .2s}
.field-eye:hover{background: var(--surface-hover); color:var(--text-primary)}

.phone-chip{display:inline-flex; align-items:center; gap:.45rem; margin-top:.55rem; padding:.38rem .7rem; background: rgba(255,77,133,.08); border:1px solid rgba(255,77,133,.15); border-radius:999px; font-size:.82rem; color:var(--text-secondary)}
.chip-flag{width:20px; height:14px; object-fit:cover; border-radius:3px}
.chip-name{font-weight:700}
.chip-code{color:var(--zawaj-primary); font-weight:800}
.chip-check{color:var(--zawaj-success)}

/* Meta */
.form-meta{display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:.4rem 0 1.15rem; font-size:.87rem}
.remember{position:relative; display:inline-flex; align-items:center; gap:.5rem; cursor:pointer; color:var(--text-secondary); user-select:none}
.remember input{position:absolute; opacity:0; pointer-events:none}
.remember-box{width:20px; height:20px; border-radius:7px; border:1.5px solid var(--surface-border); background:var(--surface-card); display:grid; place-items:center; color:#fff; transition: all .2s}
.remember-box svg{opacity:0; transform: scale(.45); transition: all .2s}
.remember input:checked + .remember-box{background: linear-gradient(135deg, var(--zawaj-primary), var(--zawaj-primary-dark)); border-color:transparent}
.remember input:checked + .remember-box svg{opacity:1; transform: scale(1)}
.remember input:focus-visible + .remember-box{box-shadow:0 0 0 4px rgba(255,77,133,.15)}
.forgot{color:var(--text-secondary); font-weight:600; transition: color .2s}
.forgot span{color:var(--zawaj-primary); font-weight:800}
.forgot:hover{color:var(--zawaj-primary)}

/* Submit */
.btn-login{
  position:relative; width:100%; padding:1.02rem 1rem; border:0; border-radius:14px;
  font:inherit; font-size:1rem; font-weight:800; color:#fff;
  background: linear-gradient(135deg, var(--zawaj-primary) 0%, var(--zawaj-primary-dark) 100%);
  cursor:pointer; display:flex; align-items:center; justify-content:center; gap:.6rem;
  box-shadow: 0 12px 28px -10px rgba(255,77,133,.6), 0 2px 8px rgba(0,0,0,.06);
  overflow:hidden; isolation:isolate;
  transition: transform .18s, box-shadow .2s, opacity .2s;
}
.btn-shine{position:absolute; inset:0; background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.28) 50%, transparent 60%); transform: translateX(160%); transition: transform .7s ease; pointer-events:none}
[dir="rtl"] .btn-shine{transform: translateX(-160%)}
.btn-login:hover .btn-shine{transform: translateX(0)}
.btn-login:hover:not(:disabled){transform: translateY(-2px); box-shadow: 0 18px 36px -10px rgba(255,77,133,.62)}
.btn-login:active:not(:disabled){transform: translateY(0) scale(.99)}
.btn-login:disabled{opacity:.78; cursor:not-allowed}
.btn-content{display:inline-flex; align-items:center; gap:.6rem}
.btn-arrow{width:28px; height:28px; border-radius:999px; background: rgba(255,255,255,.18); display:grid; place-items:center; font-size:.9rem; transition: transform .2s}
.btn-login:hover .btn-arrow{transform: translateX(-3px)}
[dir="ltr"] .btn-login:hover .btn-arrow{transform: translateX(3px)}
.btn-loading{display:inline-flex; align-items:center; gap:.6rem}
.mini-spinner{width:16px; height:16px; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%; animation: spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.secure-note{display:flex; align-items:center; justify-content:center; gap:.45rem; margin-top:.8rem; font-size:.76rem; color:var(--text-muted); flex-wrap:wrap}
.secure-icon{color: var(--zawaj-success)}
.secure-dot{width:4px; height:4px; border-radius:50%; background: var(--text-muted); opacity:.5}
.secure-link{color:var(--text-secondary); text-decoration: underline; text-decoration-color: rgba(255,77,133,.25); text-underline-offset:3px; cursor:pointer}

/* Divider */
.divider{display:flex; align-items:center; gap:1rem; margin:1.35rem 0; color:var(--text-muted); font-size:.78rem; font-weight:600}
.divider::before,.divider::after{content:""; flex:1; height:1px; background: var(--surface-border)}

/* Social */
.social-grid{display:grid; grid-template-columns:1fr 1fr; gap:.75rem}
.social-btn{display:inline-flex; align-items:center; justify-content:center; gap:.55rem; padding:.82rem .9rem; font:inherit; font-weight:700; font-size:.9rem; color:var(--text-primary); background: var(--surface-card); border:1.5px solid var(--surface-border); border-radius:14px; cursor:pointer; transition: transform .18s, border-color .2s, box-shadow .2s, background .2s}
.social-btn:hover{transform: translateY(-1px); border-color: rgba(255,77,133,.28); box-shadow: var(--shadow-sm); background: var(--surface-elevated)}

.switch{text-align:center; margin:1.25rem 0 .35rem; font-size:.92rem; color:var(--text-secondary)}
.switch a{font-weight:800; color:var(--zawaj-primary)}
.switch a:hover{text-decoration:underline}
.switch-free{font-weight:600; color:var(--text-muted)}
.micro-trust{display:flex; align-items:center; justify-content:center; gap:.5rem; flex-wrap:wrap; font-size:.78rem; color:var(--text-muted); margin-top:.2rem}
.micro-trust i{color:var(--zawaj-success)}
.micro-trust .dot{opacity:.5}

.lp-foot{display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; justify-content:center; margin-top:1.6rem; padding-top:1rem; border-top:1px dashed var(--surface-border); font-size:.76rem; color:var(--text-muted)}
.lp-foot a{color:var(--text-secondary); font-weight:600}
.lp-foot a:hover{color:var(--zawaj-primary)}
.lp-foot .heart{color:var(--zawaj-primary)}

/* ============================================================
   SHOWCASE  (cinematic)
   ============================================================ */
.showcase{
  position:relative; overflow:hidden; color:#fff;
  background:
    radial-gradient(1100px 700px at 88% -10%, rgba(255,77,133,.26), transparent 55%),
    radial-gradient(900px 700px at -12% 110%, rgba(124,106,247,.30), transparent 55%),
    radial-gradient(700px 500px at 70% 64%, rgba(245,166,35,.11), transparent 60%),
    linear-gradient(160deg, #0E0A24 0%, #1A1238 46%, #2A1548 100%);
  isolation:isolate;
}
.sc-bg{position:absolute; inset:0; z-index:0}
.sc-mesh{position:absolute; inset:0; z-index:0; opacity:.55; background:
  linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
  linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 34px 34px; mask-image: radial-gradient(600px 600px at 60% 40%, black 30%, transparent 70%)}
.sc-vignette{position:absolute; inset:0; z-index:1; background: radial-gradient(900px 600px at 50% 50%, transparent 45%, rgba(0,0,0,.22) 100%)}
.sc-watermark{
  position:absolute; z-index:1; top:50%; inset-inline-start:50%; transform: translate(-50%,-56%) rotate(-10deg);
  font-family: 'Amiri', serif; font-size: clamp(180px, 22vw, 340px); font-weight:700; line-height:1;
  color: rgba(255,255,255,.035); letter-spacing:.06em; pointer-events:none; user-select:none;
  text-shadow: 0 20px 80px rgba(0,0,0,.25);
  filter: blur(.2px);
}
.sc-pattern{position:absolute; inset:0; width:100%; height:100%; z-index:1; opacity:.9; pointer-events:none}
.sc-pattern rect{opacity:.55}

/* Orbs */
.sc-orb{position:absolute; z-index:1; border-radius:50%; filter: blur(70px); opacity:.5; pointer-events:none}
.sc-orb--pink{width:520px; height:520px; background:#FF4D85; top:-160px; inset-inline-end:-150px; animation: orb1 14s ease-in-out infinite alternate}
.sc-orb--violet{width:460px; height:460px; background:#7C6AF7; bottom:-170px; inset-inline-start:-140px; animation: orb2 17s ease-in-out infinite alternate}
.sc-orb--gold{width:320px; height:320px; background:#F5A623; top:42%; inset-inline-start: 28%; opacity:.14; filter: blur(60px); animation: orb3 11s ease-in-out infinite alternate}
@keyframes orb1{to{transform: translate(-50px,40px) scale(1.06)}}
@keyframes orb2{to{transform: translate(60px,-40px) scale(1.08)}}
@keyframes orb3{to{transform: translate(20px,-20px) scale(1.12)}}

.sc-star{position:absolute; z-index:2; color:#FFD9A0; pointer-events:none; animation: twinkle 3.4s ease-in-out infinite}
.sc-star--1{top:22%; inset-inline-start:10%; font-size:1rem; animation-delay:.2s}
.sc-star--2{top:54%; inset-inline-end:12%; font-size:1.35rem; animation-delay:1s}
.sc-star--3{bottom:18%; inset-inline-start:30%; font-size:.85rem; animation-delay:1.8s}
.sc-star--4{top:12%; inset-inline-end:22%; font-size:2rem; opacity:.18; animation-delay:.6s}
@keyframes twinkle{0%,100%{opacity:.2; transform:scale(.85)} 50%{opacity:.92; transform:scale(1.12)}}

.sc-rings-wrap{position:absolute; top:9%; inset-inline-end:6%; z-index:2; width:280px; height:280px; opacity:.52; pointer-events:none; animation: ringsFloat 9s ease-in-out infinite alternate}
.sc-rings{width:100%; height:100%; display:block; filter: drop-shadow(0 10px 30px rgba(0,0,0,.25))}
.sc-rings-glow{position:absolute; inset:22%; border-radius:50%; background: radial-gradient(circle, rgba(255,217,160,.18), transparent 70%); filter: blur(18px)}
@keyframes ringsFloat{to{transform: translateY(-16px) rotate(2.5deg)}}

.sc-content{
  position:relative; z-index:3;
  display:flex; flex-direction:column; justify-content:space-between;
  min-height:100vh; gap:2rem;
  padding: clamp(1.8rem, 3.5vw, 3rem);
}

/* Brand */
.sc-brand{display:inline-flex; align-items:center; gap:.6rem; font-weight:900; font-size:1.18rem; color:#fff; text-decoration:none; width:fit-content}
.sc-brand-mark{width:40px; height:40px; border-radius:12px; display:grid; place-items:center; font-size:1.2rem; background: linear-gradient(135deg, rgba(255,77,133,.95), rgba(216,27,96,.95)); box-shadow: 0 8px 24px -6px rgba(255,77,133,.6)}
.sc-brand-year{font-size:.78rem; font-weight:600; color: rgba(255,255,255,.62); letter-spacing:.02em}

/* Hero */
.sc-hero{margin:auto 0}
.sc-kicker{display:inline-flex; align-items:center; gap:.45rem; padding:.42rem .85rem; border-radius:999px; font-size:.76rem; font-weight:700; color:#FFD9A0; background: rgba(245,166,35,.11); border:1px solid rgba(245,166,35,.24); margin-bottom:1.1rem; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px)}
.kicker-star{filter: saturate(1.2)}
.sc-title{font-family:'Cairo', system-ui, sans-serif; font-size: clamp(2rem, 3.1vw, 3rem); font-weight:900; line-height:1.28; margin:0 0 .9rem; letter-spacing:-.02em; text-wrap: balance}
.sc-title-grad{position:relative; display:inline-block; background: linear-gradient(90deg, #FFC3DA, #FF85AD 45%, #F5A623); -webkit-background-clip:text; background-clip:text; color:transparent; padding-bottom:.35rem}
.sc-underline{position:absolute; left:0; right:0; bottom:-6px; width:100%; height:16px; pointer-events:none}
.sc-lead{color: rgba(255,255,255,.74); font-size:1rem; line-height:1.95; max-width:44ch; margin:0 0 1.35rem}
.sc-trust{display:flex; flex-wrap:wrap; gap:.55rem}
.sc-trust span{display:inline-flex; align-items:center; gap:.38rem; padding:.45rem .8rem; border-radius:999px; font-size:.8rem; font-weight:600; color: rgba(255,255,255,.86); background: rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px)}
.sc-trust i{color:#5EE0A0; font-size:.85rem}

/* Quote card — handmade tilt + tape */
.sc-bottom{display:grid; gap:1.4rem}
.sc-quote-card{
  position:relative; margin:0; padding:1.55rem 1.45rem 1.2rem; border-radius:20px;
  background: rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.13);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 18px 50px -20px rgba(0,0,0,.45), 0 1px 0 rgba(255,255,255,.08) inset;
  transform: rotate(-0.6deg);
}
.sc-quote-card::before{
  content:""; position:absolute; inset:0; border-radius:20px; pointer-events:none;
  background: linear-gradient(180deg, rgba(255,255,255,.08), transparent 45%); opacity:.9
}
.tape{position:absolute; width:64px; height:18px; background: rgba(255,217,160,.72); opacity:.9; box-shadow: 0 2px 8px rgba(0,0,0,.12); backdrop-filter: blur(2px)}
.tape--1{top:-9px; inset-inline-start:22px; transform: rotate(-6deg); border-radius: 3px}
.tape--2{top:-8px; inset-inline-end:28px; transform: rotate(7deg); border-radius: 3px; background: rgba(255,255,255,.55)}
.quote-mark{position:absolute; top:-18px; inset-inline-start:1.2rem; font-size:2.6rem; line-height:1; color:#F5A623; font-family: Georgia, serif; text-shadow: 0 4px 16px rgba(0,0,0,.25)}
.sc-quote-card blockquote{margin:.2rem 0 1rem; font-size:.96rem; line-height:1.9; color: rgba(255,255,255,.90)}
.sc-quote-card figcaption{display:flex; align-items:center; gap:.85rem; flex-wrap:wrap}
.sc-avatars{display:flex; align-items:center; position:relative}
.av{width:38px; height:38px; border-radius:50%; display:grid; place-items:center; font-size:.85rem; font-weight:800; color:#fff; border:2px solid #1D1340; box-shadow: 0 4px 12px rgba(0,0,0,.25)}
.av--a{background: linear-gradient(135deg, #FF85AD, #D81B60); z-index:1}
.av--s{background: linear-gradient(135deg, #F5A623, #E08900); margin-inline-start:-10px}
.av-heart{position:absolute; inset-inline-start:50%; bottom:-6px; transform: translateX(-50%); width:18px; height:18px; border-radius:50%; background:#fff; color:var(--zawaj-primary); display:grid; place-items:center; font-size:.65rem; box-shadow: 0 2px 8px rgba(0,0,0,.2); border:1px solid rgba(0,0,0,.06)}
.who b{display:flex; align-items:center; gap:.4rem; font-size:.88rem; color:#fff}
.who small{color: rgba(255,255,255,.58); font-size:.78rem}
.verified{font-size:.70rem; font-weight:700; color:#6EE7B7; background: rgba(110,231,183,.12); border:1px solid rgba(110,231,183,.22); padding:.15rem .4rem; border-radius:999px}
.verified i{font-size:.7rem}
.quote-stars{margin-inline-start:auto; color:#F5A623; letter-spacing:.14em; font-size:.8rem; opacity:.95}
.quote-handwritten{position:absolute; inset-inline-end:1rem; bottom:-10px; font-size:.72rem; color: rgba(255,255,255,.62); background: rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.08); padding:.22rem .5rem; border-radius:999px; transform: rotate(0.7deg); backdrop-filter: blur(6px)}

/* Stats */
.sc-stats{display:flex; align-items:stretch; gap: clamp(1rem, 2.5vw, 2.2rem); padding-top:.2rem}
.sc-stat{flex:1}
.sc-stat b{display:block; font-size:1.5rem; font-weight:900; background: linear-gradient(90deg, #FFD9A0, #FF9CBE); -webkit-background-clip:text; background-clip:text; color:transparent; line-height:1.2}
.sc-stat span{font-size:.8rem; color: rgba(255,255,255,.74); font-weight:600}
.sc-stat small{display:block; font-size:.7rem; color: rgba(255,255,255,.42); margin-top:.1rem}
.sc-stat + .sc-stat{border-inline-start:1px solid rgba(255,255,255,.11); padding-inline-start: clamp(1rem, 2.5vw, 2.2rem)}

.sc-footnote{display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; font-size:.75rem; color: rgba(255,255,255,.56); border-top:1px solid rgba(255,255,255,.08); padding-top:.9rem}
.sc-footnote i{color:#FFD9A0}
.sc-footnote-dot{opacity:.4}

/* ============================================================
   ENTRANCE
   ============================================================ */
.lg-anim{animation: rise .7s cubic-bezier(.22,1,.36,1) both}
.lg-d1{animation-delay:.05s} .lg-d2{animation-delay:.14s} .lg-d3{animation-delay:.22s} .lg-d4{animation-delay:.30s} .lg-d5{animation-delay:.38s}
@keyframes rise{from{opacity:0; transform: translateY(14px)} to{opacity:1; transform:translateY(0)}}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1023.98px){
  .login-shell{grid-template-columns:1fr}
  .showcase{display:none}
  .lp-doodle{display:none}
}
@media (max-width: 480px){
  .social-grid{grid-template-columns:1fr}
  .lp-title{font-size:1.6rem}
  .lp-topbar{margin-bottom:1rem}
  .form-meta{flex-direction:column; align-items:stretch}
  .sc-stats{gap:1rem}
  .sc-stat b{font-size:1.25rem}
}
@media (min-width: 1024px) and (max-width: 1180px){
  .sc-watermark{font-size:240px}
  .sc-rings-wrap{width:220px; height:220px}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .lg-anim,.sc-orb,.sc-rings-wrap,.sc-star,.lp-logo-dot,.eyebrow-dot{animation:none !important}
  .btn-shine{display:none}
}

/* Dark tweaks for form panel */
[data-theme="dark"] .login-panel{
  background: linear-gradient(180deg, #0F0C1E 0%, #14112A 100%);
}
[data-theme="dark"] .field-input{background: #1A1830; border-color: rgba(255,255,255,.08)}
[data-theme="dark"] .field-input:focus{background:#1F1C36}
[data-theme="dark"] .social-btn{background:#1A1830}
[data-theme="dark"] .lp-top-link{background:#1A1830}

/* ============================================================
   FORGOT & REGISTER — Luxury extensions
   ============================================================ */

/* Variants: wider shell for register wizard */
.login-shell.is-register{grid-template-columns: minmax(0, 640px) minmax(0, 1fr)}
.login-shell.is-forgot{grid-template-columns: minmax(0, 540px) minmax(0, 1fr)}

/* Register panel becomes scrollable */
.login-panel--scroll{
  align-items:flex-start;
  overflow-y:auto;
  overflow-x:hidden;
  max-height:100vh;
  scrollbar-width:thin;
  scrollbar-color: rgba(255,77,133,.25) transparent;
}
.login-panel--scroll::-webkit-scrollbar{width:6px}
.login-panel--scroll::-webkit-scrollbar-thumb{background: rgba(255,77,133,.25); border-radius:999px}
.lp-inner--wide{max-width: 560px; width:100%}

/* Oath card — step 0: handmade paper */
.oath-card{
  position:relative;
  padding:1.6rem 1.5rem 1.35rem;
  background: linear-gradient(180deg, #FFFBFE 0%, #FFF5F8 100%);
  border:1.6px solid rgba(255,77,133,.14);
  border-radius:22px;
  box-shadow: 0 14px 40px -18px rgba(255,77,133,.22), 0 2px 10px rgba(0,0,0,.04);
  transform: rotate(-0.35deg);
  overflow:hidden;
}
[data-theme="dark"] .oath-card{background: linear-gradient(180deg, #1E1830 0%, #1A1430 100%); border-color: rgba(255,255,255,.08)}
.oath-card::before{
  content:""; position:absolute; top:-1px; left:18px; right:18px; height:3px;
  background: linear-gradient(90deg, transparent, var(--zawaj-primary), #F5A623, transparent);
  opacity:.75; border-radius:999px;
}
.oath-card::after{
  content:""; position:absolute; inset:0; border-radius:22px; pointer-events:none;
  background: radial-gradient(600px 200px at 20% 0%, rgba(255,77,133,.06), transparent 60%);
}
.oath-icon{
  width:46px; height:46px; border-radius:13px; display:grid; place-items:center;
  background: linear-gradient(135deg, var(--zawaj-primary), var(--zawaj-primary-dark));
  color:#fff; font-size:1.45rem; box-shadow: 0 8px 20px -8px rgba(255,77,133,.45);
  margin-bottom:.85rem;
}
.oath-title{
  font-family:'Amiri', serif;
  font-size:1.65rem; font-weight:700; color:var(--text-primary);
  margin:0 0 .55rem; letter-spacing:-.01em;
}
.oath-title span{color:var(--zawaj-primary)}
.oath-text{
  color:var(--text-secondary); font-size:.96rem; line-height:2.05; margin:0 0 1rem;
}
.oath-text a{color:var(--zawaj-primary); font-weight:800; text-decoration: underline; text-decoration-color: rgba(255,77,133,.25); text-underline-offset:3px}
.oath-agree{
  display:flex; align-items:center; gap:.8rem; padding:.85rem 1rem;
  border:1.6px dashed rgba(255,77,133,.35); border-radius:16px;
  background: rgba(255,77,133,.06); cursor:pointer;
  font-weight:800; font-size:.95rem; color:var(--zawaj-primary);
  transition: background .2s, border-color .2s, transform .15s;
  user-select:none;
}
.oath-agree:hover{background: rgba(255,77,133,.09); transform: translateY(-1px)}
.oath-agree.is-accepted{background: rgba(255,77,133,.11); border-style:solid}
.oath-agree .remember-box{width:22px; height:22px; border-radius:8px}
.oath-hint{font-size:.78rem; color:var(--text-muted); margin:.55rem 0 0; text-align:center}

/* Role grid — two large boutique cards */
.role-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.15rem;
}
.role-card{
  position:relative; display:flex; flex-direction:column; align-items:center; gap:.85rem;
  padding:1.35rem 1rem 1.15rem; border-radius:20px;
  background: var(--surface-card); border:1.6px solid var(--surface-border);
  cursor:pointer; transition: transform .22s cubic-bezier(.22,1,.36,1), border-color .2s, box-shadow .2s, background .2s;
  overflow:hidden; isolation:isolate;
}
.role-card::before{
  content:""; position:absolute; inset:0; opacity:0;
  background: radial-gradient(400px 200px at 50% 0%, rgba(255,77,133,.10), transparent 60%);
  transition: opacity .25s;
}
.role-card:hover:not(:disabled){transform: translateY(-4px) rotate(-0.4deg); border-color: rgba(255,77,133,.28); box-shadow: var(--shadow-sm)}
.role-card:hover:not(:disabled)::before{opacity:1}
.role-card:disabled{opacity:.5; cursor:not-allowed; filter:grayscale(.15)}
.role-card:disabled:hover{transform:none; box-shadow:none}
.role-avatar{
  width:78px; height:78px; border-radius:18px; display:grid; place-items:center;
  font-size:2.6rem; background: linear-gradient(135deg, #FFE8EF, #FFD1E0);
  border:1px solid rgba(255,77,133,.15); box-shadow: 0 8px 18px -10px rgba(255,77,133,.35);
}
[data-theme="dark"] .role-avatar{background: linear-gradient(135deg, #2A1A2E, #3A1F35)}
.role-card:nth-child(2) .role-avatar{background: linear-gradient(135deg, #FFF4E0, #FFE0A8); border-color: rgba(245,166,35,.18)}
.role-label{font-weight:900; font-size:1.05rem; color:var(--text-primary)}
.role-desc{font-size:.78rem; color:var(--text-muted); text-align:center; line-height:1.6}
.role-card .card-arrow{
  position:absolute; top:.75rem; inset-inline-end:.75rem;
  width:28px; height:28px; border-radius:999px; background: var(--surface-hover);
  display:grid; place-items:center; font-size:.8rem; color:var(--text-muted);
  transition: background .2s, color .2s, transform .2s;
}
.role-card:hover:not(:disabled) .card-arrow{background: var(--zawaj-primary); color:#fff; transform: translateX(-2px)}
[dir="ltr"] .role-card:hover:not(:disabled) .card-arrow{transform: translateX(2px)}

/* Stepper — editorial progress */
.wiz-stepper{
  display:flex; align-items:center; justify-content:space-between; gap:.45rem;
  padding:.85rem 1rem; margin:1rem 0 1.25rem;
  background: var(--surface-card); border:1px solid var(--surface-border);
  border-radius:16px; box-shadow: var(--shadow-xs);
}
.wiz-progress{
  position:absolute; left:1rem; right:1rem; top:50%; height:2px; background: var(--surface-border);
  transform: translateY(-50%); z-index:0; border-radius:999px; overflow:hidden;
}
.wiz-progress-fill{
  height:100%; background: linear-gradient(90deg, var(--zawaj-primary), #F5A623);
  border-radius:999px; transition: width .5s cubic-bezier(.22,1,.36,1);
}
.wiz-steps{position:relative; display:flex; justify-content:space-between; width:100%; z-index:1}
.wiz-step{
  width:34px; height:34px; border-radius:50%;
  display:grid; place-items:center; font-size:.82rem; font-weight:800;
  background: var(--surface-card); border:2px solid var(--surface-border);
  color:var(--text-muted); transition: all .3s cubic-bezier(.22,1,.36,1);
  box-shadow: 0 1px 6px rgba(0,0,0,.06);
}
.wiz-step.active{
  background: linear-gradient(135deg, var(--zawaj-primary), var(--zawaj-primary-dark));
  border-color: transparent; color:#fff; transform: scale(1.08);
  box-shadow: 0 6px 18px -6px rgba(255,77,133,.5);
}
.wiz-step.completed{
  background: var(--zawaj-success); border-color: var(--zawaj-success); color:#fff;
}
.wiz-step-label{position:absolute; top:calc(100% + 6px); left:50%; transform: translateX(-50%); font-size:.66rem; font-weight:700; color:var(--text-muted); white-space:nowrap; opacity:0; transition: opacity .2s}
.wiz-step.active .wiz-step-label{opacity:1; color:var(--zawaj-primary)}

/* Wizard step sections */
.wiz-panel{
  background: var(--surface-card); border:1px solid var(--surface-border);
  border-radius:18px; padding:1.25rem 1.2rem 1.1rem; box-shadow: var(--shadow-xs);
  animation: wizIn .45s cubic-bezier(.22,1,.36,1) both;
}
@keyframes wizIn{from{opacity:0; transform: translateY(10px)} to{opacity:1; transform: translateY(0)}}
.wiz-panel-title{
  font-size:1.05rem; font-weight:900; color:var(--text-primary); text-align:center;
  margin:0 0 1rem; display:flex; align-items:center; justify-content:center; gap:.5rem;
}
.wiz-panel-title::before,.wiz-panel-title::after{
  content:""; width:18px; height:1px; background: linear-gradient(90deg, transparent, var(--surface-border)); flex-shrink:0;
}
.wiz-panel-title::after{background: linear-gradient(90deg, var(--surface-border), transparent)}
.wiz-grid{display:grid; grid-template-columns:1fr 1fr; gap:.9rem}
@media (max-width: 520px){ .wiz-grid{grid-template-columns:1fr} }
.wiz-field{margin-bottom:.85rem}
.wiz-field .field-label{font-size:.82rem}
.wiz-field .field-input, .wiz-field .auth-form-control{
  width:100%; padding:.88rem .95rem; font:inherit; font-size:.92rem;
  background: var(--surface-card); border:1.6px solid var(--surface-border);
  border-radius:12px; color:var(--text-primary); transition: border-color .2s, box-shadow .2s;
}
.wiz-field .field-input:focus, .wiz-field .auth-form-control:focus{
  outline:none; border-color: var(--zawaj-primary); box-shadow: 0 0 0 4px rgba(255,77,133,.11)
}
.field-error{font-size:.76rem; color: var(--zawaj-danger); margin-top:.3rem; display:block}
.field-note{font-size:.72rem; color:var(--text-muted); margin-top:.3rem; line-height:1.6}
.wiz-hr{border:none; height:1px; background: linear-gradient(90deg, transparent, var(--surface-border), transparent); margin:1.1rem 0}
.wiz-actions{display:flex; justify-content:space-between; gap:.8rem; margin-top:1.15rem}
.btn-wiz{
  display:inline-flex; align-items:center; gap:.45rem; padding:.82rem 1.25rem;
  border-radius:12px; font:inherit; font-weight:800; font-size:.92rem; cursor:pointer;
  border:1.6px solid var(--surface-border); background: var(--surface-card); color:var(--text-primary);
  transition: all .2s;
}
.btn-wiz:hover{transform: translateY(-1px); box-shadow: var(--shadow-xs); border-color: rgba(255,77,133,.22)}
.btn-wiz--primary{
  background: linear-gradient(135deg, var(--zawaj-primary), var(--zawaj-primary-dark));
  border-color: transparent; color:#fff; box-shadow: 0 8px 20px -8px rgba(255,77,133,.5);
}
.btn-wiz--primary:hover{transform: translateY(-2px); box-shadow: 0 14px 28px -10px rgba(255,77,133,.55)}
.btn-wiz:disabled{opacity:.6; cursor:not-allowed; transform:none !important}
.wiz-alert{
  display:flex; gap:.6rem; padding:.75rem .9rem; border-radius:12px; font-size:.84rem; line-height:1.6;
  background: rgba(255,90,110,.08); border:1px solid rgba(255,90,110,.18); color:#B4234A; margin-bottom:1rem;
}
[data-theme="dark"] .wiz-alert{color:#FF9CBE}
.wiz-info{
  display:flex; gap:.7rem; padding:.9rem 1rem; border-radius:12px; font-size:.84rem; line-height:1.7;
  background: rgba(63,181,224,.08); border:1px solid rgba(63,181,224,.18); color:#0E7490;
}
[data-theme="dark"] .wiz-info{color:#7ED4F2}

/* Country picker tweaks inside wizard */
.wiz-field .country-picker-trigger{justify-content:space-between}
.country-picker-menu{max-height:18rem}

/* Forgot illustration */
.forgot-illu{
  width:72px; height:72px; border-radius:18px; display:grid; place-items:center;
  margin:0 auto 1rem; font-size:2rem;
  background: linear-gradient(135deg, rgba(255,77,133,.12), rgba(245,166,35,.12));
  border:1px solid rgba(255,77,133,.15); box-shadow: 0 10px 24px -12px rgba(255,77,133,.25);
}
.forgot-success{
  text-align:center; padding:1.1rem 1rem;
  background: rgba(52,201,123,.07); border:1px solid rgba(52,201,123,.18);
  border-radius:16px; margin-top:.6rem;
}
.forgot-success .big{font-size:2.6rem; margin-bottom:.4rem}
.forgot-success p{color:var(--text-secondary); font-size:.92rem; line-height:1.8; margin:0 0 .9rem}

/* Responsive register */
@media (max-width: 1023.98px){
  .login-shell.is-register, .login-shell.is-forgot{grid-template-columns:1fr}
}
