/* Luvera neon auth experience: login/register only; no admin or store-wide layout changes */
body.auth-page{display:block;min-height:100vh;background:#080716;color:#f8f5ff;overflow-x:hidden;font-family:"Noto Sans","Noto Sans Bengali",system-ui,sans-serif}
body.auth-page .top,body.auth-page>.wrap.main,body.auth-page .cta,body.auth-page .ft,body.auth-page #tgl{display:none!important}
body.auth-page .auth{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:100svh;padding:clamp(20px,4vw,54px);overflow:hidden;background:radial-gradient(ellipse at 13% 20%,rgba(255,34,205,.19),transparent 34%),radial-gradient(ellipse at 88% 78%,rgba(0,194,255,.18),transparent 36%),linear-gradient(135deg,#080716 0%,#100a29 50%,#070d20 100%)}
body.auth-page .auth:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.2;background-image:linear-gradient(rgba(153,116,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(153,116,255,.11) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.auth-glow{position:absolute;z-index:-1;width:260px;height:260px;border-radius:50%;filter:blur(70px);opacity:.36;pointer-events:none}.auth-glow-one{background:#f20bbf;top:4%;left:-90px}.auth-glow-two{background:#00aaff;right:-100px;bottom:4%}
.auth-stage{width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,430px);gap:clamp(28px,6vw,82px);align-items:center}
.auth-promo{position:relative;min-height:480px;display:flex;flex-direction:column;justify-content:center;padding:20px 0;overflow:hidden}
.auth-kicker{display:flex;align-items:center;gap:9px;color:#d8c9ff;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.live-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#ff45d4;box-shadow:0 0 12px #ff45d4,0 0 24px #ff45d4}
.auth-headline{position:relative;margin:28px 0 12px;font-size:clamp(42px,6.4vw,82px);font-weight:900;line-height:.98;letter-spacing:-3px;color:#fff;text-shadow:0 0 24px rgba(174,108,255,.22)}
.auth-headline span{background:linear-gradient(100deg,#ff51d8 0%,#bd8cff 48%,#65dcff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(207,68,255,.23))}.auth-headline i{display:inline-block;margin-left:10px;font-size:.56em;font-style:normal;color:#ff62d8;vertical-align:top;text-shadow:0 0 18px #ff31cb}
.auth-tagline{max-width:430px;margin:12px 0 0;color:#b9b5d3;font-size:16px;line-height:1.8}
.auth-orbit{position:relative;height:140px;max-width:450px;margin:18px 0 0;border-top:1px solid rgba(203,143,255,.15);border-bottom:1px solid rgba(81,195,255,.12)}.auth-orbit:before,.auth-orbit:after{content:"";position:absolute;border:1px solid rgba(191,112,255,.32);border-radius:50%;transform:rotate(-16deg)}.auth-orbit:before{width:260px;height:78px;left:10%;top:28px}.auth-orbit:after{width:200px;height:105px;left:17%;top:14px;border-color:rgba(63,197,255,.28);transform:rotate(22deg)}.auth-orbit span:not(.orbit-line){position:absolute;z-index:2;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;border:1px solid rgba(222,181,255,.6);background:rgba(21,16,48,.8);color:#ff8fe7;box-shadow:0 0 18px rgba(221,61,255,.22);font-size:19px}.auth-orbit span:nth-child(1){left:13%;top:17px}.auth-orbit span:nth-child(2){left:53%;top:67px}.auth-orbit span:nth-child(3){right:9%;top:12px;color:#80e5ff}.auth-orbit .orbit-line{position:absolute;left:18%;top:50%;width:65%;height:1px;background:linear-gradient(90deg,transparent,#d65aff,#52dcff,transparent);transform:rotate(-9deg)}
.auth-promo-foot{display:flex;align-items:center;gap:13px;margin-top:24px;color:#a6a1c2;font-size:10px;letter-spacing:2px}.auth-promo-foot b{color:#ff55d5}
body.auth-page .authcard{position:relative;width:100%;max-width:none;margin:0;padding:clamp(24px,3vw,34px);overflow:hidden;border:1px solid rgba(195,150,255,.48);border-radius:26px;background:linear-gradient(145deg,rgba(26,21,57,.94),rgba(10,14,35,.96));box-shadow:0 0 0 1px rgba(255,255,255,.035) inset,0 0 28px rgba(192,63,255,.18),0 22px 70px rgba(0,0,0,.4);backdrop-filter:blur(18px)}
body.auth-page .authcard:before{content:"";position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,#ff55dc,#70e4ff,transparent)}
body.auth-page .authcard .alogo{height:54px;max-width:160px;margin:0 auto 14px;padding:6px 10px;border-radius:10px;background:#fff;object-fit:contain}
.auth-eyebrow{text-align:center;color:#bca7e8;font-size:10px;font-weight:700;letter-spacing:1.7px}.auth-form h2{margin:8px 0 4px!important;color:#fff;font-size:28px;line-height:1.25;font-weight:750;letter-spacing:-.6px}.auth-intro{text-align:center;color:#aaa7c7;font-size:13px;margin:0 0 22px}.auth-form label{display:block;margin:12px 0 6px;color:#e0d9f4;font-size:12px;font-weight:600}
body.auth-page .auth-input{display:flex;align-items:center;gap:10px;min-width:0;margin:0 0 12px;padding:0 13px;border:1px solid rgba(190,174,226,.22);border-radius:12px;background:rgba(4,7,23,.58);transition:border-color .2s,box-shadow .2s}
body.auth-page .auth-input:focus-within{border-color:#d45aff;box-shadow:0 0 0 3px rgba(212,90,255,.12),0 0 18px rgba(212,90,255,.09)}.auth-input>span{flex:none;color:#bd9de9;font-size:17px}.auth-input input{min-width:0;margin:0!important;padding:14px 0!important;border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;color:#fff!important;font-size:13px!important;box-shadow:none!important}.auth-input input::placeholder{color:#777592;opacity:1}.password-toggle{flex:none;border:0;background:transparent;color:#a7a0c6;font-size:17px;cursor:pointer;padding:6px}.password-toggle:hover{color:#ff72dd}
body.auth-page .authcard .auth-submit{display:flex;width:100%;justify-content:space-between;margin-top:9px;padding:13px 17px;border:1px solid rgba(255,255,255,.32);border-radius:12px;background:linear-gradient(100deg,#fa35c8 0%,#a63cff 53%,#09bfe8 100%);color:white;font-size:14px;font-weight:750;box-shadow:0 5px 22px rgba(187,47,244,.26);text-shadow:0 1px 2px rgba(0,0,0,.18)}body.auth-page .authcard .auth-submit:hover{filter:brightness(1.08);transform:translateY(-1px)}
body.auth-page .authcard .err{margin:12px 0;background:rgba(255,70,105,.13);border:1px solid rgba(255,100,125,.3);color:#ffb6c4;font-size:12px}
.auth-switch{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin-top:19px;color:#a9a5c2;font-size:12px}.auth-switch a{color:#ff8de7;font-weight:700;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-secure{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:19px;padding-top:14px;border-top:1px solid rgba(190,174,226,.13);color:#827e9f;font-size:10px}.auth-secure span{color:#73e7d0}.auth-bottom{position:absolute;bottom:20px;left:20px;right:20px;display:flex;justify-content:center;align-items:center;gap:12px;color:#787395;font-size:9px;font-weight:700;letter-spacing:2px}.auth-bottom span{color:#ff6fdb;font-size:15px}
@media(max-width:760px){body.auth-page .auth{padding:24px 16px 48px;align-items:center}.auth-stage{grid-template-columns:1fr;gap:20px;max-width:440px}.auth-promo{min-height:0;padding:8px 4px 0}.auth-kicker{font-size:9px;letter-spacing:1.3px}.auth-headline{font-size:clamp(38px,10vw,58px);letter-spacing:-1.8px;margin:18px 0 8px}.auth-tagline{font-size:13px;margin-top:6px}.auth-orbit{height:66px;margin-top:12px}.auth-orbit:before{height:38px;top:12px}.auth-orbit:after{height:45px;top:8px}.auth-orbit span:not(.orbit-line){width:25px;height:25px;border-radius:8px;font-size:14px}.auth-orbit span:nth-child(1){top:4px}.auth-orbit span:nth-child(2){top:31px}.auth-orbit span:nth-child(3){top:2px}.auth-promo-foot{margin-top:12px;font-size:8px}.auth-bottom{bottom:10px;font-size:8px}.auth-stage{gap:16px}body.auth-page .authcard{padding:24px 20px;border-radius:22px}.auth-form h2{font-size:25px}.auth-intro{margin-bottom:14px}}
@media(max-width:380px){body.auth-page .auth{padding:18px 12px 42px}.auth-headline{font-size:36px}.auth-orbit{display:none}.auth-promo-foot{margin-top:14px}body.auth-page .authcard{padding:21px 16px}}


/* Robust auth-page layout overrides */
html:has(body.auth-page), body.auth-page {
  width:100% !important; max-width:100% !important; min-width:0 !important;
  margin:0 !important; padding:0 !important; overflow-x:hidden !important;
}
body.auth-page { display:block !important; }
body.auth-page > header, body.auth-page > .top,
body.auth-page > .wrap.main, body.auth-page > .cta,
body.auth-page > footer, body.auth-page > .ft, body.auth-page > #tgl {
  display:none !important;
}
body.auth-page > main.auth {
  display:flex !important; width:100% !important; max-width:none !important;
  margin:0 !important; min-height:100vh; min-height:100svh;
}
body.auth-page .auth-stage, body.auth-page .auth-promo,
body.auth-page .authcard { min-width:0; }
body.auth-page .authcard { color:#f8f5ff; }
body.auth-page .authcard label { color:#e0d9f4 !important; }
body.auth-page .authcard .auth-input input { color:#fff !important; }
body.auth-page .authcard .auth-submit { color:#fff !important; }
@media (min-width:761px) {
  body.auth-page .auth-stage { grid-template-columns:minmax(0,1fr) minmax(340px,430px); }
}
@media (max-width:760px) {
  body.auth-page > main.auth { min-height:100svh; }
  body.auth-page .auth-stage { width:100%; }
}


/* Final auth-page hardening: full-viewport layout and resilient styling */
html:has(body.auth-page), html:has(body.auth-page) body { width:100%; max-width:100%; margin:0; padding:0; }
body.auth-page { display:block !important; min-height:100vh !important; min-height:100svh !important; background:#080716 !important; color:#f8f5ff !important; }
body.auth-page > header.top, body.auth-page > .tb, body.auth-page > .wrap.main,
body.auth-page > section.cta, body.auth-page > footer.ft, body.auth-page > button#tgl { display:none !important; }
body.auth-page > main.auth { display:flex !important; position:relative; width:100% !important; max-width:none !important; min-height:100vh !important; min-height:100svh !important; margin:0 !important; padding:clamp(20px,4vw,54px) !important; box-sizing:border-box !important; }
body.auth-page .auth-stage { width:min(1120px,100%) !important; margin:auto !important; }
body.auth-page .authcard { width:100% !important; max-width:none !important; margin:0 !important; box-sizing:border-box !important; }
body.auth-page .authcard input { max-width:100%; box-sizing:border-box; }
body.auth-page .authcard .auth-submit { min-height:48px; cursor:pointer; }
@media(max-width:760px) {
 body.auth-page > main.auth { padding:24px 16px 36px !important; align-items:center !important; }
 body.auth-page .auth-stage { grid-template-columns:minmax(0,1fr) !important; gap:18px !important; width:100% !important; max-width:460px !important; }
 body.auth-page .auth-promo { min-height:0 !important; padding:8px 4px 0 !important; }
 body.auth-page .authcard { padding:24px 20px !important; }
 body.auth-page .auth-bottom { position:static !important; margin:18px auto 0 !important; text-align:center; }
}
@media(min-width:761px) {
 body.auth-page > main.auth { padding:clamp(28px,5vw,64px) !important; }
 body.auth-page .auth-stage { grid-template-columns:minmax(0,1fr) minmax(360px,430px) !important; }
}

/* Language selector is available on standalone customer authentication pages */
body.auth-page .auth-language{position:absolute;z-index:5;top:18px;right:20px;margin:0;display:block}
body.auth-page .auth-language select{appearance:auto;min-width:108px;padding:9px 12px;border:1px solid rgba(192,132,252,.42);border-radius:12px;background:rgba(15,12,36,.92);color:#f8f5ff;font:500 13px "Noto Sans","Noto Sans Bengali",sans-serif;box-shadow:0 0 18px rgba(192,63,255,.12)}
body.auth-page .auth-language select option{background:#100a29;color:#fff}
@media(max-width:760px){body.auth-page .auth-language{top:12px;right:12px}body.auth-page .auth{padding-top:62px!important}}
/* Stable readable auth form sizing on phones and desktop */
body.auth-page .auth-stage{grid-template-columns:minmax(0,1fr) minmax(320px,430px)!important;gap:clamp(22px,5vw,70px)!important}
body.auth-page .auth-promo{min-width:0}
body.auth-page .authcard{min-width:0}
@media(max-width:760px){body.auth-page .auth-stage{grid-template-columns:minmax(0,1fr)!important;max-width:460px!important;gap:20px!important}body.auth-page .auth-promo{padding-top:8px!important}body.auth-page .auth-bottom{position:static!important;margin:18px auto 0!important}}


/* Final mobile auth layout hardening for narrow phones and tall registration forms */
body.auth-page, body.auth-page * { box-sizing: border-box; }
body.auth-page { overflow-x: hidden !important; }
body.auth-page > main.auth { align-items: stretch !important; }
body.auth-page .auth-stage { min-width: 0 !important; }
body.auth-page .auth-promo, body.auth-page .authcard, body.auth-page .auth-form { min-width: 0 !important; max-width: 100% !important; }
body.auth-page .authcard { overflow-wrap: anywhere; }
body.auth-page .auth-input { width: 100%; min-width: 0 !important; }
body.auth-page .auth-input input { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
body.auth-page .auth-switch { text-align: center; overflow-wrap: anywhere; }
body.auth-page .auth-submit { gap: 10px; }
body.auth-page .auth-language select { max-width: 100%; }
@media (max-width: 600px) {
  body.auth-page > main.auth { padding: 66px 12px 24px !important; min-height: 100svh !important; }
  body.auth-page .auth-stage { grid-template-columns: minmax(0, 1fr) !important; width: 100% !important; max-width: 460px !important; gap: 16px !important; }
  body.auth-page .auth-promo { padding: 4px 2px 0 !important; }
  body.auth-page .auth-headline { font-size: clamp(32px, 9vw, 46px) !important; line-height: 1.04 !important; overflow-wrap: anywhere; }
  body.auth-page .auth-tagline { line-height: 1.55; }
  body.auth-page .authcard { padding: 20px 15px !important; border-radius: 18px !important; }
  body.auth-page .auth-form h2 { font-size: 23px !important; overflow-wrap: anywhere; }
  body.auth-page .auth-input { padding-left: 10px !important; padding-right: 8px !important; }
  body.auth-page .auth-input input { font-size: 16px !important; padding-top: 13px !important; padding-bottom: 13px !important; }
  body.auth-page .auth-language { top: 10px !important; right: 10px !important; }
  body.auth-page .auth-language select { padding: 8px 9px !important; font-size: 12px !important; }
  body.auth-page .auth-bottom { position: static !important; margin: 18px auto 0 !important; letter-spacing: 1px !important; flex-wrap: wrap; }
}
@media (max-width: 360px) {
  body.auth-page > main.auth { padding-left: 9px !important; padding-right: 9px !important; }
  body.auth-page .authcard { padding: 17px 12px !important; }
  body.auth-page .auth-headline { font-size: 31px !important; }
  body.auth-page .auth-input > span { font-size: 14px !important; }
  body.auth-page .auth-promo-foot { gap: 7px !important; letter-spacing: 1px !important; }
}
