
/* --------------------------------------------------------------------------
   Luxoria v18.66.0 — Premium member login redesign
   -------------------------------------------------------------------------- */
:root{
  --auth-bg-1:#04060d;
  --auth-bg-2:#0a0e18;
  --auth-panel:#0b1120cc;
  --auth-panel-strong:#0a1020f0;
  --auth-line:rgba(230, 190, 100, .20);
  --auth-line-soft:rgba(255,255,255,.08);
  --auth-text:#f4efe6;
  --auth-muted:#b3b0c2;
  --auth-gold:#d7a84d;
  --auth-gold-soft:#f2d38b;
  --auth-gold:#F2D28A;
  --auth-gold-soft:rgba(242,210,138,.18);
  --auth-card-radius:32px;
  --auth-shadow:0 32px 100px rgba(0,0,0,.48);
}
body.lux-login-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 8% 12%, rgba(242,210,138,.16), transparent 25%),
    radial-gradient(circle at 92% 18%, rgba(233,187,86,.10), transparent 20%),
    linear-gradient(135deg, #04060d 0%, #060913 34%, #090d1b 70%, #04070f 100%);
  color:var(--auth-text);
  overflow-x:hidden;
}
body.lux-login-page::before,
body.lux-login-page::after{
  content:"";
  position:fixed;
  inset:auto;
  pointer-events:none;
  filter:blur(40px);
  z-index:0;
}
body.lux-login-page::before{
  left:-90px; bottom:-90px; width:340px; height:340px;
  background:radial-gradient(circle, rgba(242,210,138,.22), transparent 70%);
}
body.lux-login-page::after{
  right:-70px; top:80px; width:280px; height:280px;
  background:radial-gradient(circle, rgba(216,168,77,.12), transparent 70%);
}
.lux-login-shell{
  position:relative;
  z-index:1;
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(340px, .88fr) minmax(420px, .92fr);
}
.lux-login-showcase,
.lux-login-panel-wrap{position:relative;}
.lux-login-showcase{
  padding:clamp(32px,5vw,56px);
  display:flex;
  align-items:stretch;
}
.lux-login-showcase::before{
  content:"";
  position:absolute;
  inset:24px 12px 24px 24px;
  border-radius:36px;
  background:
    linear-gradient(180deg, rgba(9,12,22,.58), rgba(5,8,16,.70)),
    radial-gradient(circle at 14% 8%, rgba(255,255,255,.10), transparent 28%);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:var(--auth-shadow);
  overflow:hidden;
}
.lux-login-showcase::after{
  content:"";
  position:absolute;
  inset:24px 12px 24px 24px;
  border-radius:36px;
  background:
    linear-gradient(0deg, rgba(11, 16, 30, .72), rgba(11, 16, 30, .38)),
    var(--login-hero-image, radial-gradient(circle at 20% 30%, rgba(255,255,255,.10), transparent 18%), linear-gradient(135deg, #111628 0%, #090d18 45%, #14111c 100%));
  background-size:cover;
  background-position:center;
  mix-blend-mode:screen;
  opacity:.82;
  z-index:-1;
}
.lux-showcase-inner{
  position:relative;
  width:100%;
  border-radius:36px;
  padding:clamp(24px,4vw,42px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:28px;
}
.lux-brand-lockup{display:grid; gap:18px; max-width:560px;}
.lux-brand-badge{display:flex; align-items:center; gap:18px;}
.lux-brand-seal{
  width:92px; height:92px; border-radius:50%; display:grid; place-items:center;
  border:1px solid rgba(242,211,139,.85); color:var(--auth-gold-soft);
  font-family:Marcellus, serif; font-size:54px; letter-spacing:.02em;
  background:linear-gradient(180deg, rgba(7,10,18,.72), rgba(8,11,22,.26));
  box-shadow:0 0 0 4px rgba(255,255,255,.02), inset 0 0 26px rgba(215,168,77,.14), 0 0 34px rgba(215,168,77,.08);
}
.lux-brand-title h1{margin:0; font-size:clamp(46px,5vw,78px); letter-spacing:.18em; color:#eed7a0; line-height:.95;}
.lux-brand-title p{margin:8px 0 0; color:#d9b35e; letter-spacing:.35em; font-size:12px; text-transform:uppercase;}
.lux-showcase-copy{max-width:520px; display:grid; gap:18px;}
.lux-showcase-copy h2{margin:0; font-size:clamp(28px,3.2vw,44px); line-height:1.1;}
.lux-showcase-copy p{margin:0; color:#d0cada; line-height:1.8; font-size:15px; max-width:480px;}
.lux-feature-list{display:grid; gap:14px; margin:0; padding:0; list-style:none; max-width:420px;}
.lux-feature-item{
  display:grid; grid-template-columns:54px minmax(0,1fr); gap:14px; align-items:start;
  padding:16px 18px; border-radius:18px; background:linear-gradient(180deg, rgba(6,10,18,.36), rgba(9,13,24,.52));
  border:1px solid rgba(255,255,255,.06); backdrop-filter:blur(10px);
}
.lux-feature-icon{
  width:54px; height:54px; border-radius:50%; display:grid; place-items:center; color:var(--auth-gold-soft);
  background:radial-gradient(circle at 30% 30%, rgba(242,211,139,.18), rgba(13,18,32,.75)); border:1px solid rgba(242,211,139,.28);
}
.lux-feature-item strong{display:block; font-size:15px; letter-spacing:.14em; text-transform:uppercase; color:#f2dfb5; margin-bottom:4px;}
.lux-feature-item span{display:block; font-size:14px; color:#c7c4d3; line-height:1.55;}
.lux-login-panel-wrap{
  display:grid; place-items:center; padding:clamp(26px,4vw,56px);
}
.lux-login-panel{
  width:min(620px, 100%);
  border-radius:var(--auth-card-radius);
  background:linear-gradient(180deg, rgba(9,14,26,.92), rgba(7,11,20,.92));
  border:1px solid var(--auth-line);
  box-shadow:var(--auth-shadow);
  backdrop-filter:blur(18px) saturate(130%);
  padding:clamp(24px,4vw,40px);
  position:relative;
  overflow:hidden;
}
.lux-login-panel::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.05), transparent 16%), radial-gradient(circle at 50% 0, rgba(255,255,255,.12), transparent 12%);
  pointer-events:none;
}
.lux-login-panel > *{position:relative; z-index:1;}
.lux-auth-heading{display:grid; gap:12px; margin-bottom:26px; text-align:center;}
.lux-auth-heading small{font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--auth-gold);}
.lux-auth-heading h2{font-size:clamp(34px,4vw,58px); margin:0; line-height:1;}
.lux-auth-heading p{margin:0 auto; max-width:460px; color:var(--auth-muted); line-height:1.75; font-size:15px;}
.lux-auth-divider{width:92px; height:1px; margin:4px auto 0; background:linear-gradient(90deg, transparent, rgba(242,211,139,.95), transparent); position:relative;}
.lux-auth-divider::after{content:""; width:10px; height:10px; border-radius:50%; background:var(--auth-gold); position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%) rotate(45deg); box-shadow:0 0 18px rgba(242,211,139,.55);}
.lux-auth-form{display:grid; gap:16px;}
.lux-field{display:grid; gap:9px;}
.lux-field label{margin:0; display:block; color:#e6dfd3; font-size:14px;}
.lux-input-wrap{
  display:grid; grid-template-columns:24px minmax(0,1fr) 24px; align-items:center; gap:12px;
  min-height:66px; padding:0 18px; border-radius:18px; border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(8,12,22,.92), rgba(9,13,24,.72));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
.lux-input-wrap:focus-within{border-color:rgba(242,211,139,.38); box-shadow:0 0 0 4px rgba(242,210,138,.12), inset 0 1px 0 rgba(255,255,255,.03);}
.lux-input-wrap input{
  margin:0; border:0; background:transparent; padding:0; min-height:64px; color:#fff; font-size:16px;
}
.lux-input-wrap input::placeholder{color:#8690a5;}
.lux-field-icon, .lux-field-action{display:grid; place-items:center; color:#aeb4c4;}
.lux-password-toggle{
  appearance:none; border:0; background:none; color:#b7bdc9; cursor:pointer; padding:0;
}
.lux-auth-utility{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-top:-2px;}
.lux-checkbox{display:inline-flex; align-items:center; gap:10px; color:#d8d5e1; font-size:14px;}
.lux-checkbox input{appearance:none; width:19px; height:19px; border-radius:6px; border:1px solid rgba(242,211,139,.48); background:rgba(7,10,18,.75); display:grid; place-items:center; margin:0;}
.lux-checkbox input::after{content:""; width:9px; height:9px; border-radius:3px; transform:scale(0); transition:transform .18s ease; background:linear-gradient(135deg, var(--auth-gold-soft), var(--auth-gold));}
.lux-checkbox input:checked::after{transform:scale(1);}
.lux-utility-link,.login-link a{color:var(--auth-gold-soft); text-decoration:none;}
.lux-utility-link:hover,.login-link a:hover{text-decoration:underline;}
.turnstile-shell{padding:8px 0 0;}
.turnstile-shell > *{max-width:100%;}
.lux-primary-btn,
.lux-secondary-btn{
  display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:62px; border-radius:18px;
  text-decoration:none; cursor:pointer; transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
  font-size:18px; letter-spacing:.14em; text-transform:uppercase; font-weight:700;
}
.lux-primary-btn{
  border:1px solid rgba(242,211,139,.85);
  color:#261805;
  background:linear-gradient(180deg, #f0d698, #d7a84d);
  box-shadow:0 10px 36px rgba(215,168,77,.22);
}
.lux-primary-btn:hover{transform:translateY(-1px); box-shadow:0 14px 44px rgba(215,168,77,.30);}
.lux-secondary-btn{
  border:1px solid rgba(242,211,139,.42);
  color:#f1d597; background:linear-gradient(180deg, rgba(10,14,24,.55), rgba(8,11,20,.85));
}
.lux-secondary-btn:hover{transform:translateY(-1px); border-color:rgba(242,211,139,.62);}
.lux-button-stack{display:grid; gap:14px; margin-top:6px;}
.lux-auth-note{
  display:grid; grid-template-columns:24px minmax(0,1fr); gap:12px; align-items:start;
  margin-top:22px; padding:16px 18px; border-radius:16px; border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.lux-auth-note svg{color:var(--auth-gold-soft);}
.lux-auth-note p{margin:0; color:#c5c0d3; font-size:13px; line-height:1.65;}
.lux-footer-links{
  margin-top:24px; display:flex; gap:12px; flex-wrap:wrap; justify-content:center; color:#9f9cb0; font-size:13px;
}
.lux-footer-links a{color:var(--auth-gold-soft); text-decoration:none;}
.lux-footer-links a:hover{text-decoration:underline;}
.login-link{margin:0; text-align:center; color:#b8b4c5; font-size:14px;}
.login-link.alt-spacing{margin-top:2px;}
@media (max-width: 1080px){
  .lux-login-shell{grid-template-columns:1fr;}
  .lux-login-showcase{min-height:unset; padding:24px 24px 0;}
  .lux-login-showcase::before, .lux-login-showcase::after{inset:24px 24px 0 24px;}
  .lux-showcase-inner{min-height:360px;}
  .lux-login-panel-wrap{padding:24px;}
}
@media (max-width: 680px){
  .lux-login-showcase{padding:18px 18px 0;}
  .lux-login-showcase::before, .lux-login-showcase::after{inset:18px 18px 0 18px; border-radius:28px;}
  .lux-showcase-inner{padding:22px; gap:18px; min-height:330px;}
  .lux-brand-seal{width:72px; height:72px; font-size:40px;}
  .lux-brand-title h1{font-size:42px; letter-spacing:.12em;}
  .lux-showcase-copy h2{font-size:26px;}
  .lux-login-panel-wrap{padding:18px;}
  .lux-login-panel{padding:22px; border-radius:26px;}
  .lux-input-wrap{min-height:60px; border-radius:16px;}
  .lux-primary-btn,.lux-secondary-btn{min-height:58px; font-size:16px;}
}
@media (max-width: 520px){
  .lux-login-showcase{display:none;}
  .lux-login-shell{min-height:100vh;}
  .lux-login-panel-wrap{padding:14px;}
  .lux-login-panel{padding:18px; border-radius:24px;}
  .lux-auth-heading h2{font-size:42px;}
  .lux-auth-heading p{font-size:14px;}
  .lux-auth-utility{align-items:flex-start;}
  .lux-input-wrap{grid-template-columns:20px minmax(0,1fr) 20px; gap:10px; padding:0 14px;}
  .lux-footer-links{justify-content:flex-start;}
}


/* Luxoria v18.67.0 — shared authentication identity */
.lux-auth-logo-image{max-width:220px;max-height:110px;object-fit:contain;filter:drop-shadow(0 8px 25px rgba(0,0,0,.35))}.lux-brand-badge.has-logo .lux-brand-seal{display:none}.lux-brand-badge.has-logo{align-items:flex-start;flex-direction:column}.lux-brand-badge.has-logo .lux-brand-title h1{font-size:clamp(34px,4vw,60px)}
body.lux-join-page,body.lux-recovery-page{min-height:100vh;background:radial-gradient(circle at 8% 12%,rgba(242,210,138,.15),transparent 25%),radial-gradient(circle at 92% 18%,rgba(233,187,86,.09),transparent 20%),linear-gradient(135deg,#04060d,#090d1b 70%,#04070f);color:var(--auth-text)}
body.lux-join-page::before,body.lux-join-page::after,body.lux-recovery-page::before,body.lux-recovery-page::after{content:none!important}
.lux-join-page .registration-shell{width:100%;max-width:none;grid-template-columns:minmax(320px,.68fr) minmax(600px,1.32fr);align-items:start;background:transparent}.lux-join-page .registration-intro{position:sticky;top:0;min-height:100vh;padding:clamp(34px,5vw,64px);border:0;background:linear-gradient(180deg,rgba(7,10,20,.72),rgba(8,12,23,.90));box-shadow:inset -1px 0 rgba(255,255,255,.06)}.lux-join-page .registration-intro::before{content:"";position:absolute;inset:22px;border:1px solid rgba(242,211,139,.16);border-radius:34px;pointer-events:none}.lux-join-page .registration-intro>*{position:relative;z-index:1}.lux-join-page .brand{margin:0 0 48px;align-items:center}.lux-join-page .brand img{max-width:220px;max-height:100px;object-fit:contain}.lux-join-page .brand span{width:80px;height:80px;font-size:42px;background:linear-gradient(180deg,rgba(7,10,18,.72),rgba(8,11,22,.26));box-shadow:inset 0 0 26px rgba(215,168,77,.14)}.lux-join-page .brand strong{font-size:28px;letter-spacing:.15em}.lux-join-page .registration-intro>small{font-size:11px;letter-spacing:.25em}.lux-join-page .registration-intro h1{font-size:clamp(42px,4.5vw,68px);margin:18px 0}.lux-join-page .registration-intro p{font-size:15px;color:#c9c5d4}.lux-join-page .privacy-note{margin-top:30px;border-radius:18px;background:linear-gradient(180deg,rgba(215,168,77,.07),rgba(242,210,138,.05));border-color:rgba(242,211,139,.20)}.lux-join-page .registration-card{margin:clamp(18px,3vw,38px);padding:clamp(22px,3.2vw,42px);border-radius:30px;background:linear-gradient(180deg,rgba(9,14,26,.94),rgba(7,11,20,.94));border:1px solid rgba(242,211,139,.18);box-shadow:0 30px 90px rgba(0,0,0,.42);backdrop-filter:blur(18px)}.lux-join-page .registration-wizard-header-v1810 h2{font-size:clamp(32px,3.5vw,50px)}.lux-join-page .registration-step-v1810{border:0!important;background:transparent!important}.lux-join-page input,.lux-join-page select,.lux-join-page textarea{border-radius:14px;background:#080d17;border-color:rgba(255,255,255,.10);min-height:50px}.lux-join-page input:focus,.lux-join-page select:focus,.lux-join-page textarea:focus{border-color:rgba(242,211,139,.42);box-shadow:0 0 0 4px rgba(242,210,138,.10)}.lux-join-page .person-block,.lux-join-page .shared-verification-photo,.lux-join-page .registration-plan-card-v189>span{border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012));border-color:rgba(255,255,255,.09)}.lux-join-page .registration-step-actions-v1810 button,.lux-join-page form>button{border-radius:15px}.lux-join-page .registration-step-actions-v1810 button:not(.secondary),.lux-join-page .registration-step-v1810>button{background:linear-gradient(180deg,#f0d698,#d7a84d);color:#261805;border:1px solid rgba(242,211,139,.85)}
.lux-recovery-shell{min-height:100vh;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(420px,.88fr)}.lux-recovery-showcase{padding:clamp(28px,4vw,54px);display:flex;align-items:center;background:linear-gradient(180deg,rgba(7,10,20,.70),rgba(8,12,23,.92));border-right:1px solid rgba(255,255,255,.06)}.lux-recovery-showcase-inner{display:grid;gap:28px;max-width:560px}.lux-recovery-logo{display:flex;align-items:center;gap:18px}.lux-recovery-logo img{max-width:220px;max-height:100px;object-fit:contain}.lux-recovery-logo span{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--auth-gold);color:var(--auth-gold-soft);font:44px Marcellus,serif}.lux-recovery-showcase h1{font-size:clamp(42px,5vw,72px);margin:0}.lux-recovery-showcase p{color:#c5c0d3;line-height:1.8;font-size:16px}.lux-recovery-panel-wrap{display:grid;place-items:center;padding:clamp(22px,4vw,54px)}.lux-recovery-panel{width:min(620px,100%);padding:clamp(24px,4vw,42px);border:1px solid rgba(242,211,139,.18);border-radius:30px;background:linear-gradient(180deg,rgba(9,14,26,.94),rgba(7,11,20,.94));box-shadow:var(--auth-shadow);backdrop-filter:blur(18px)}.lux-recovery-panel .lux-auth-heading{text-align:left}.lux-recovery-panel .lux-auth-divider{margin-left:0}.lux-recovery-panel .lux-auth-form{margin-top:20px}.lux-recovery-panel .lux-primary-btn,.lux-recovery-panel .lux-secondary-btn{margin-top:4px}
@media(max-width:1080px){.lux-join-page .registration-shell{grid-template-columns:1fr}.lux-join-page .registration-intro{position:relative;min-height:auto}.lux-recovery-shell{grid-template-columns:1fr}.lux-recovery-showcase{min-height:330px;border-right:0;border-bottom:1px solid rgba(255,255,255,.06)}}
@media(max-width:620px){.lux-join-page .registration-intro{padding:28px 22px}.lux-join-page .registration-card{margin:14px;padding:18px}.lux-join-page .registration-intro::before{inset:10px}.lux-recovery-showcase{display:none}.lux-recovery-panel-wrap{padding:14px}.lux-recovery-panel{padding:20px;border-radius:24px}}
