/* BANUK Customer Identity — matching Partner's Vazirmatn, plum/glass and responsive controls */
body.bn-auth-guest{background:#3e2346!important}
body.bn-auth-guest .bn-header,body.bn-auth-guest .bn-footer,body.bn-auth-guest .wp-block-post-title,body.bn-auth-guest .bn-top,body.bn-auth-guest .bn-page-content>h1,body.bn-auth-guest .wp-block-query-title{display:none!important}
body.bn-auth-guest .wp-site-blocks{min-height:100dvh;display:flex;flex-direction:column}
body.bn-auth-guest .wp-site-blocks>main,body.bn-auth-guest .wp-site-blocks>.wp-block-group{margin:0!important;padding:0!important;max-width:none!important;flex:1}
body.bn-auth-guest .woocommerce,body.bn-auth-guest .entry-content,body.bn-auth-guest .wp-block-post-content{margin:0!important;max-width:none!important}
.bn-auth-shell{box-sizing:border-box;width:100%;min-height:100dvh;display:grid;place-items:center;padding:20px 14px;background:radial-gradient(ellipse at 77% 25%,rgba(216,189,203,.32),transparent 54%),radial-gradient(ellipse at 12% 88%,rgba(21,73,64,.6),transparent 48%),#3e2346;color:#332739;font-family:Vazirmatn,Tahoma,sans-serif}
.bn-auth-shell *{box-sizing:border-box}
.bn-auth-card{width:min(100%,426px);height:580px;min-height:580px;padding:20px 32px 22px;border:1px solid rgba(245,232,240,.6);border-radius:22px;background:#fffdfa;box-shadow:0 24px 74px rgba(20,8,28,.22);display:flex;flex-direction:column;overflow:hidden;position:relative;isolation:isolate}
.bn-auth-card [hidden]{display:none!important}
.bn-auth-header{text-align:center;flex:none}.bn-auth-logo-link{display:inline-block;outline-offset:4px}.bn-auth-logo{display:block;width:66px;height:82px;object-fit:contain;margin:0 auto 8px}.bn-auth-header h1{font-family:Vazirmatn,sans-serif!important;font-size:22px!important;font-weight:650!important;line-height:1.45!important;color:#3e2346!important;margin:0 0 5px!important;text-align:center}.bn-auth-header p{font-size:12px;color:#786a7c;margin:0 0 17px;line-height:1.85}
.bn-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#f0eaee;border-radius:12px;padding:4px;margin:0 0 23px;flex:none}
.bn-auth-tabs button{font:500 12px/1.6 Vazirmatn,sans-serif;border:0;background:transparent;color:#807485;min-height:41px;padding:7px;border-radius:9px;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}
.bn-auth-tabs button.is-active{background:#fff;box-shadow:0 2px 9px #311c3316;color:#3e2346;font-weight:700}
.bn-auth-stage{min-height:254px;flex:1;display:block;position:relative}
.bn-auth-stage [role=tabpanel]{width:100%}
.bn-auth-form{display:flex;flex-direction:column;gap:9px;margin:0}
.bn-auth-step-title{font:650 15px/1.7 Vazirmatn,sans-serif;text-align:start;color:#3e2346;margin-bottom:9px;min-height:26px}
.bn-auth-form label{font:550 12px/1.7 Vazirmatn,sans-serif;color:#4a3a50}
.bn-auth-input,.bn-auth-phone-wrap{height:51px;min-height:51px;width:100%;border:1px solid #d5cad5!important;background:white!important;border-radius:11px!important;box-shadow:none!important;color:#2c2330!important;font-family:Vazirmatn,sans-serif!important;font-size:15px!important}
.bn-auth-input{padding:0 15px!important}.bn-auth-input:focus,.bn-auth-phone-wrap:focus-within{border-color:#67406e!important;outline:0;box-shadow:0 0 0 3px #3e234619!important}
.bn-auth-phone-wrap{display:flex;align-items:center;gap:10px;direction:ltr;padding:0 10px}
.bn-auth-prefix{flex:none;border-right:1px solid #e5dce5;padding-right:11px;display:flex;gap:7px;align-items:center;color:#49374e;white-space:nowrap;font-size:13px;font-family:Vazirmatn,sans-serif}
.bn-auth-prefix small{font-size:10px;font-weight:700}
.bn-auth-phone-wrap input{height:100%;flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:0 2px!important;direction:ltr!important;text-align:left!important;font:500 16px Vazirmatn,sans-serif!important;letter-spacing:.02em;outline:0!important}
.bn-auth-form>small{font-size:10px;color:#938796;line-height:1.8;min-height:19px}
.bn-auth-primary{background:#3e2346!important;color:#fff!important;border:0!important;border-radius:11px!important;min-height:50px!important;width:100%;padding:10px 16px!important;display:grid!important;place-items:center;font:600 13px/1.5 Vazirmatn,sans-serif!important;margin:13px 0 0!important;cursor:pointer;transition:background .18s}
.bn-auth-primary:hover{background:#583160!important}.bn-auth-primary:disabled{opacity:.65;cursor:wait}
.bn-auth-secondary,.bn-auth-forgot{border:0!important;padding:8px!important;cursor:pointer;display:block;color:#3e2346!important;text-align:center;font-size:11px!important;margin:0 auto;background:none!important;text-decoration:none!important}
.bn-auth-forgot{text-decoration:underline!important;text-underline-offset:4px}
.bn-auth-message{font-size:11px;color:#a43b4b;text-align:center;line-height:1.8;min-height:32px;max-height:62px;overflow-wrap:anywhere;margin:8px 0 0}
.bn-auth-message.is-good{color:#1f4d43}
.bn-auth-verify-lead{color:#766c78;line-height:1.8;font-size:11px;margin:0 0 8px;text-align:center;overflow-wrap:anywhere}
.bn-auth-verify-lead b{color:#3e2346;font-size:12px}
.bn-auth-code-row{display:flex;align-items:center;justify-content:center;gap:9px;direction:ltr}
.bn-auth-code-row input{width:50px!important;min-width:0;max-width:calc((100% - 36px)/5);height:54px!important;padding:0!important;text-align:center!important;border:1px solid #d8c9d8!important;border-radius:10px!important;background:#fff!important;color:#3e2346!important;font:700 23px/1.2 Vazirmatn,sans-serif!important;outline:0;box-shadow:none}
.bn-auth-code-row input:focus{border-color:#3e2346!important;box-shadow:0 0 0 3px #3e234619!important}
.bn-auth-code-row input:disabled{opacity:.55}
.bn-auth-timer{display:flex;align-items:center;justify-content:center;gap:10px;color:#7e6e84;margin:5px 0;font-size:12px;line-height:1.7}
.bn-auth-timer strong{font-size:15px;font-variant-numeric:tabular-nums;direction:ltr;color:#3e2346}
.bn-auth-timer.is-urgent strong{color:#ad304c;animation:bn-auth-blink .9s infinite}
.bn-auth-password-wrap{position:relative}.bn-auth-password-wrap input{padding-inline-end:65px!important}
.bn-auth-password-wrap button{position:absolute;top:50%;inset-inline-end:8px;transform:translateY(-50%);font:500 11px Vazirmatn,sans-serif;border:0;background:none;color:#3e2346;padding:6px 5px;cursor:pointer}
.bn-auth-legal{flex:none;margin:auto 0 0;padding-top:12px;border-top:1px solid #eee8ed;color:#958996;font-size:10px;line-height:2.1;text-align:center}
.bn-auth-legal a{color:#3e2346;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.bn-auth-note{font-size:10px;line-height:1.7;color:#776879;background:#f6f2f5;border-radius:9px;padding:8px 10px;margin:10px 0 0}
@keyframes bn-auth-blink{50%{opacity:.35}}
@media(max-width:540px){
 .bn-auth-shell{padding:0;min-height:100dvh;place-items:center;align-items:center}
 .bn-auth-card{width:min(calc(100% - 26px),425px);height:min(595px,calc(100dvh - 26px));min-height:510px;padding:15px 22px 19px;border-radius:19px}
 .bn-auth-logo{width:57px;height:70px;margin-bottom:4px}
 .bn-auth-header h1{font-size:20px!important}.bn-auth-header p{font-size:11px;margin-bottom:13px}
 .bn-auth-tabs{margin-bottom:18px}.bn-auth-stage{min-height:243px}
 .bn-auth-step-title{font-size:14px;margin-bottom:6px}
 .bn-auth-legal{padding-top:10px;font-size:9px}
 .bn-auth-code-row{gap:6px}.bn-auth-code-row input{height:49px!important}
}
@media(max-width:370px){.bn-auth-card{padding-inline:16px}.bn-auth-step-title{font-size:13px}.bn-auth-code-row input{height:46px!important;font-size:20px!important}}
@media(max-height:590px){.bn-auth-shell{place-items:start center;padding:10px}.bn-auth-card{height:auto;min-height:550px;overflow:visible}}
@media(prefers-reduced-motion:reduce){.bn-auth-shell *{transition:none!important;animation:none!important}}


/* BANUK Login Layout Hotfix 2026-10-17 */
/* Override the 1320px editorial page width only for signed-out My Account. */
html:has(body.bn-auth-guest),body.bn-auth-guest{margin:0!important;min-height:100%;background:#3e2346!important}
body.bn-auth-guest .wp-site-blocks{width:100%!important;max-width:none!important;min-height:100dvh;display:flex!important;flex-direction:column!important}
body.bn-auth-guest .wp-site-blocks > main.bn-page-content{
  box-sizing:border-box;width:100%!important;max-width:none!important;min-width:0!important;
  margin:0!important;padding:0!important;flex:1 0 auto!important;align-self:stretch!important;
}
body.bn-auth-guest .wp-site-blocks > main.bn-page-content > .wp-block-post-content,
body.bn-auth-guest .wp-block-post-content,
body.bn-auth-guest .woocommerce{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.bn-auth-guest main.bn-auth-shell{
  box-sizing:border-box;width:100%!important;max-width:none!important;min-width:0!important;
  min-height:100dvh;margin:0!important;padding:24px 16px!important;
  display:grid!important;place-items:center!important;
  background-color:#34223e!important;
  background-image:radial-gradient(ellipse 80% 75% at 78% 17%,rgba(187,135,177,.26),transparent 70%),radial-gradient(ellipse 72% 75% at 12% 92%,rgba(29,80,74,.45),transparent 75%),linear-gradient(135deg,#402644,#30243c)!important;
  background-repeat:no-repeat!important;background-size:cover!important;
}
.bn-auth-layout{box-sizing:border-box;width:min(100%,426px);max-width:426px;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:13px;justify-self:center}
.bn-auth-layout > .bn-auth-card{box-sizing:border-box;width:100%!important;max-width:none!important;min-width:0}
.bn-auth-back{
  box-sizing:border-box;align-self:flex-start;direction:rtl;display:inline-flex;align-items:center;gap:9px;
  width:max-content;max-width:100%;min-height:38px;padding:7px 13px;
  font:500 12px/1.6 Vazirmatn,Tahoma,sans-serif;color:#fdf8fa!important;
  text-decoration:none!important;border:1px solid rgba(255,255,255,.36);border-radius:100px;
  background:rgba(255,255,255,.08);backdrop-filter:blur(6px);transition:background .2s,border-color .2s
}
.bn-auth-back:hover,.bn-auth-back:focus-visible{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.7);color:#fff!important}
.bn-auth-back:focus-visible{outline:2px solid #fff;outline-offset:3px}
.bn-auth-back svg{width:17px;height:17px;flex:none}
html[lang^="en"] .bn-auth-back,body:not(.rtl) .bn-auth-back{direction:ltr}
@media(max-width:540px){
  body.bn-auth-guest main.bn-auth-shell{padding:15px 12px!important;min-height:100dvh}
  .bn-auth-layout{width:min(100%,425px);gap:10px}
  .bn-auth-back{min-height:36px;font-size:11px}
  .bn-auth-layout > .bn-auth-card{height:min(595px,calc(100dvh - 88px));min-height:510px}
}
@media(max-height:670px){
  body.bn-auth-guest main.bn-auth-shell{place-items:start center!important;min-height:100dvh}
}
@media(max-width:540px) and (max-height:620px){
  .bn-auth-layout > .bn-auth-card{height:auto;min-height:550px}
}
@media(prefers-reduced-motion:reduce){.bn-auth-back{transition:none}}

/* On very small phone screens, scroll the page instead of clipping the legal notice. */
@media(max-width:540px) and (max-height:700px){
  body.bn-auth-guest main.bn-auth-shell{place-items:start center!important;padding:15px 12px 22px!important}
  .bn-auth-layout > .bn-auth-card{height:auto!important;min-height:595px!important;overflow:visible!important}
}


/* BANUK Account Message Spacing Final QA */
.bn-auth-message:empty{display:none!important}
.bn-auth-stage:has(.bn-auth-message:not(:empty)) .bn-auth-note{display:none!important}
@media(min-width:541px){
  .bn-auth-header .bn-auth-logo{height:57px;width:53px;margin-bottom:2px}
  .bn-auth-header p{margin-bottom:9px}
  .bn-auth-tabs{margin-bottom:13px}
}

/* BANUK customer OTP UX refinements — 2026-10-20 (shop staging). */
.bn-auth-card>.bn-auth-back{
  align-self:flex-start;color:#4d3454!important;background:#faf6f9;
  border:1px solid #e8dfe7;border-radius:10px;min-height:33px;
  padding:5px 9px;font-size:11px;margin:-5px 0 2px;
  backdrop-filter:none;gap:6px
}
.bn-auth-card>.bn-auth-back:hover,.bn-auth-card>.bn-auth-back:focus-visible{
  background:#efe7f0;color:#3e2346!important;border-color:#b6a4ba
}
.bn-auth-card>.bn-auth-back:focus-visible{outline:2px solid #67406e}
.bn-auth-card>.bn-auth-back svg{width:15px;height:15px}
.bn-auth-phone-wrap input{
  text-align:center!important;text-align-last:center!important;
  direction:ltr!important;font-variant-numeric:tabular-nums
}
/* Scale the rendered mark + logo exactly against their existing visual baseline. */
@media(min-width:541px){
 .bn-auth-header .bn-auth-logo{width:68.9px;height:74.1px}
}
@media(max-width:540px){
 .bn-auth-header .bn-auth-logo{width:74.1px;height:91px}
 .bn-auth-card>.bn-auth-back{margin:-2px 0 0;font-size:10px}
}
/* Before: 9px flex gap + 8px lead margin / 9px gap + 10px timer margin.
   After: 4+3px and 4+4px, approx 60% less outer whitespace. */
.bn-auth-verify{gap:4px}
.bn-auth-verify .bn-auth-verify-lead{margin:0 0 3px;line-height:1.65}
.bn-auth-verify .bn-auth-timer{margin:4px 0 0;min-height:25px}
/* Five truly square inputs. The check tile inherits *the same grid track size*. */
.bn-auth-verify .bn-auth-code-row{
 --bn-otp-gap:8px;position:relative;
 display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
 align-items:center;justify-content:normal;gap:var(--bn-otp-gap);
 width:min(100%,280px);margin:0 auto;direction:ltr
}
.bn-auth-verify .bn-auth-code-row input{
 box-sizing:border-box;width:100%!important;max-width:none!important;
 height:auto!important;aspect-ratio:1 / 1;
 border-radius:10px!important;min-width:0
}
.bn-auth-code-row.is-error{animation:bnOtpShake .34s ease-out both}
.bn-auth-code-row.is-error input{
 border-color:#bf4157!important;background:#fff2f3!important;
 box-shadow:0 0 0 2px rgba(163,59,50,.1)!important
}
.bn-auth-code-row.is-checking input{
 animation:bnOtpCheck .65s ease-out both;border-color:#b99b68!important
}
.bn-auth-code-row.is-checking input:nth-child(2){animation-delay:.06s}
.bn-auth-code-row.is-checking input:nth-child(3){animation-delay:.12s}
.bn-auth-code-row.is-checking input:nth-child(4){animation-delay:.18s}
.bn-auth-code-row.is-checking input:nth-child(5){animation-delay:.24s}
.bn-auth-code-row .bn-auth-code-success{
 box-sizing:border-box;position:absolute;left:50%;top:50%;
 width:calc((100% - 4 * var(--bn-otp-gap)) / 5);
 height:auto;aspect-ratio:1 / 1;
 display:grid;place-items:center;opacity:0;visibility:hidden;
 transform:translate(-50%,-50%) scale(.55);
 border:1.5px solid #3aa26b;background:#e7f7ee;
 color:#1c8550;border-radius:10px;
 box-shadow:0 0 0 4px rgba(39,151,80,.1);pointer-events:none
}
.bn-auth-code-row.is-success input{animation:bnOtpMerge .42s ease-in both}
.bn-auth-code-row.is-success input:nth-child(1){--bn-merge:210%;animation-delay:.02s}
.bn-auth-code-row.is-success input:nth-child(2){--bn-merge:110%;animation-delay:.06s}
.bn-auth-code-row.is-success input:nth-child(3){--bn-merge:0%;animation-delay:.1s}
.bn-auth-code-row.is-success input:nth-child(4){--bn-merge:-110%;animation-delay:.14s}
.bn-auth-code-row.is-success input:nth-child(5){--bn-merge:-210%;animation-delay:.18s}
.bn-auth-code-row.is-success .bn-auth-code-success{
 visibility:visible;animation:bnOtpTick .46s .38s ease-out both
}
.bn-auth-code-row.is-success .bn-auth-code-success svg{width:60%;height:60%}
.bn-auth-otp-message{
 min-height:0;max-height:none;text-align:center;line-height:1.85;
 padding:0 8px;margin:9px 0 7px;font-size:11px;color:#ac304c
}
.bn-auth-otp-message:empty{display:none}
.bn-auth-otp-message:not(:empty){animation:bnOtpMessageIn .22s ease-out both}
.bn-auth-timer.is-expired strong{color:#ad304c;animation:none}
.bn-auth-verify .bn-auth-retry{
 width:100%;min-height:50px!important;
 margin:9px 0 0!important;text-decoration:none!important;
 font:600 13px/1.5 Vazirmatn,sans-serif!important
}
.bn-auth-code-row[hidden],.bn-auth-retry[hidden]{display:none!important}
@keyframes bnOtpShake{
 0%,100%{transform:translateX(0)}
 25%{transform:translateX(-6px)}
 50%{transform:translateX(6px)}
 75%{transform:translateX(-3px)}
}
@keyframes bnOtpCheck{
 0%,100%{transform:translateY(0)}
 45%{transform:translateY(-5px);box-shadow:0 6px 15px #3e234619}
}
@keyframes bnOtpMerge{
 from{opacity:1;transform:translateX(0) scale(1)}
 to{opacity:0;transform:translateX(var(--bn-merge,0%)) scale(.12)}
}
@keyframes bnOtpTick{
 0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}
 70%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}
 100%{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
@keyframes bnOtpMessageIn{
 from{opacity:0;transform:translateY(-5px)}
 to{opacity:1;transform:translateY(0)}
}
@media(max-width:370px){
 .bn-auth-verify .bn-auth-code-row{--bn-otp-gap:6px}
}
@media(prefers-reduced-motion:reduce){
 .bn-auth-code-row.is-error,.bn-auth-code-row.is-checking input,
 .bn-auth-code-row.is-success input,.bn-auth-code-row.is-success .bn-auth-code-success,
 .bn-auth-otp-message:not(:empty){animation:none!important}
 .bn-auth-code-row.is-success input{opacity:0!important}
 .bn-auth-code-row.is-success .bn-auth-code-success{
   opacity:1!important;transform:translate(-50%,-50%) scale(1)!important
 }
}
/* BANUK shop login: password stage and gentle partner-inspired light glow. */
body.bn-auth-guest main.bn-auth-shell{
 background-image:
  radial-gradient(ellipse 52% 60% at 49% 40%,rgba(255,255,255,.40) 0%,rgba(255,255,255,.19) 27%,rgba(229,203,222,.08) 48%,transparent 73%),
  radial-gradient(ellipse 80% 75% at 78% 17%,rgba(187,135,177,.26),transparent 70%),
  radial-gradient(ellipse 72% 75% at 12% 92%,rgba(29,80,74,.45),transparent 75%),
  linear-gradient(135deg,#402644,#30243c)!important
}
/* This step has extra controls: allow intrinsic height, no clipping or overlap. */
.bn-auth-card:has([data-email-password]:not([hidden])){
 height:auto!important;min-height:580px!important;overflow:visible!important
}
.bn-auth-card:has([data-email-password]:not([hidden])) .bn-auth-stage{
 min-height:0!important;flex:0 0 auto!important
}
.bn-auth-card:has([data-email-password]:not([hidden])) .bn-auth-legal{
 margin-top:23px!important;padding-top:11px!important
}
.bn-auth-card:has([data-email-password]:not([hidden])) .bn-auth-form{
 gap:11px
}
.bn-auth-card:has([data-email-password]:not([hidden])) .bn-auth-step-title{
 margin-bottom:2px
}
.bn-auth-account-email{
 direction:rtl;display:flex;align-items:center;justify-content:center;
 gap:8px;margin:0 0 13px;min-width:0;
}
.bn-auth-account-email [data-email-label]{
 min-width:0;max-width:100%;font:600 14.3px/1.7 Vazirmatn,sans-serif;
 color:#3e2346;overflow-wrap:anywhere;unicode-bidi:isolate;
 text-align:center
}
.bn-auth-account-email svg{flex:none;width:20px;height:20px}
.bn-auth-password-wrap .bn-auth-input{
 padding-inline-end:52px!important
}
.bn-auth-password-wrap [data-toggle-password]{
 position:absolute;inset-inline-end:10px;top:50%;transform:translateY(-50%);
 display:grid;place-items:center;width:36px;height:36px;min-width:36px;
 margin:0;padding:6px!important;border-radius:8px;
 color:#59445f!important;background:transparent!important;
 border:0!important;cursor:pointer
}
.bn-auth-password-wrap [data-toggle-password]:focus-visible{
 outline:2px solid #67406e;outline-offset:2px
}
.bn-auth-password-wrap [data-toggle-password] svg{
 width:20px;height:20px;display:block
}
.bn-auth-password-wrap [data-toggle-password] svg[hidden]{display:none!important}
.bn-auth-password-wrap input[aria-invalid=true]{
 border-color:#bf4157!important;background:#fff5f6!important;
 box-shadow:0 0 0 2px rgba(191,65,87,.12)!important
}
.bn-auth-password-message{
 margin:0!important;padding:0 4px;
 line-height:1.85;text-align:center;color:#ac304c!important;
 max-height:none;min-height:0
}
.bn-auth-password-message:empty{display:none!important}
.bn-auth-card:has([data-email-password]:not([hidden])) .bn-auth-forgot{
 margin:0 auto;padding:7px 10px!important;line-height:1.8
}
.bn-auth-card:has([data-email-password]:not([hidden])) [data-email-back]{
 margin:0 auto;padding:7px 10px!important;line-height:1.8
}
/* OTP warning immediately beneath "Edit mobile number", never above that action. */
.bn-auth-verify [data-otp-message]{
 margin:5px 0 0!important;line-height:1.85
}
@media(max-width:540px){
 .bn-auth-card:has([data-email-password]:not([hidden])){
  min-height:570px!important
 }
 .bn-auth-account-email [data-email-label]{font-size:14.3px}
}
/* Motion preference remains respected; only static radial gradients were added. */

/* Four-language account toolbar, optical logo alignment, and robust email steps. */
.bn-auth-toolbar{
 display:flex;align-items:center;justify-content:space-between;
 flex-direction:row;gap:12px;min-width:0;position:relative;z-index:5;
 margin:-5px 0 2px
}
.bn-auth-toolbar .bn-auth-back{margin:0!important;flex:0 1 auto;min-width:0}
.bn-auth-language{position:relative;z-index:12;flex:0 0 auto}
.bn-auth-lang-button{
 display:flex;align-items:center;justify-content:center;gap:7px;
 direction:ltr;min-height:33px;padding:5px 9px;border:1px solid #e8dfe7;
 background:#faf6f9;color:#4d3454;border-radius:10px;
 font:650 11px/1.4 Vazirmatn,sans-serif;cursor:pointer
}
.bn-auth-lang-button:hover,.bn-auth-lang-button:focus-visible,
.bn-auth-language-menu a:hover,.bn-auth-language-menu a:focus-visible{
 background:#efe7f0;outline-color:#67406e
}
.bn-auth-lang-flag{display:inline-grid;place-items:center;font-size:16px;min-width:22px;line-height:1;flex:none}
.bn-auth-lang-flag svg{width:23px;height:16px;border-radius:2px}
.bn-auth-language-menu{
 position:absolute;inset-block-start:calc(100% + 6px);inset-inline-end:0;min-width:104px;
 display:grid;gap:2px;background:#fffdfa;border:1px solid #e7dfea;
 border-radius:10px;box-shadow:0 12px 26px rgba(30,10,40,.15);
 padding:4px;direction:ltr
}
.bn-auth-language-menu[hidden]{display:none!important}
.bn-auth-language-menu a{
 display:flex;gap:7px;align-items:center;justify-content:flex-start;
 padding:8px 7px;color:#3e2346;text-decoration:none!important;
 border-radius:6px;font-size:12px;font-weight:700
}
.bn-auth-language-menu a[aria-current=true]{background:#f1e8f0}
.bn-auth-account-email{align-items:center;line-height:1}
.bn-auth-account-email [data-email-label]{display:inline-block;line-height:20px;align-self:center}
.bn-auth-account-email svg{display:block;width:20px;height:20px;align-self:center;vertical-align:middle}
/* Password actions align as two equal halves of the Sign in button. */
.bn-auth-password-actions{
 width:100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
 gap:0;align-items:center;margin:3px 0 0
}
.bn-auth-card:has([data-email-password]:not([hidden])) .bn-auth-password-actions .bn-auth-forgot,
.bn-auth-card:has([data-email-password]:not([hidden])) .bn-auth-password-actions [data-email-back]{
 box-sizing:border-box;width:100%;max-width:none!important;margin:0!important;
 padding:8px 5px!important;min-height:42px!important;
 display:flex;align-items:center;justify-content:center;
 text-align:center;line-height:1.65!important;white-space:normal;overflow-wrap:anywhere
}
.bn-auth-card:has([data-email-password]:not([hidden])) .bn-auth-legal{
 margin-top:18px!important;padding-top:14px!important
}
/* Email verification is also content-sized: avoid registration button/footer collisions. */
.bn-auth-card:has([data-email-code]:not([hidden])){
 height:auto!important;min-height:580px!important;overflow:visible!important
}
.bn-auth-card:has([data-email-code]:not([hidden])) .bn-auth-stage{
 min-height:0!important;flex:0 0 auto!important
}
.bn-auth-card:has([data-email-code]:not([hidden])) .bn-auth-legal{
 margin-top:18px!important;padding-top:14px!important
}
.bn-auth-card:has([data-email-code]:not([hidden])) .bn-auth-verify{
 gap:5px
}
.bn-auth-card:has([data-email-code]:not([hidden])) .bn-auth-code-row{
 margin:0 auto
}
.bn-auth-card:has([data-email-code]:not([hidden])) .bn-auth-verify-lead{
 margin:3px auto 4px;line-height:1.85
}
.bn-auth-verify [data-email-otp-message]{margin:4px 0!important}
.bn-auth-card:has([data-email-code]:not([hidden])) [data-email-back]{
 display:block;text-align:center;margin:0 auto;padding:9px 10px!important;
 min-height:34px
}
/* This is a language switch for the auth panel, not a content direction inversion for OTP. */
.bn-auth-card[dir=ltr] .bn-auth-step-title{text-align:left}
.bn-auth-card[dir=ltr] .bn-auth-legal{text-align:center}
@media(max-width:540px){
 .bn-auth-toolbar{gap:6px;margin:-2px 0 0}
 .bn-auth-lang-button{font-size:10px;gap:5px;padding:5px 6px}
 .bn-auth-language-menu{min-width:98px}
 .bn-auth-card:has([data-email-code]:not([hidden])){min-height:575px!important}
}
@media(max-width:340px){
 .bn-auth-toolbar .bn-auth-back{font-size:9px!important}
 .bn-auth-lang-button{font-size:10px}
 .bn-auth-password-actions a,.bn-auth-password-actions button{font-size:10px!important}
}

.bn-auth-toolbar .bn-auth-back{
 color:#4d3454!important;background:#faf6f9!important;
 border:1px solid #e8dfe7!important;border-radius:10px!important;
 min-height:33px!important;padding:5px 9px!important;
 font-size:11px!important;backdrop-filter:none!important
}
.bn-auth-toolbar .bn-auth-back:hover,.bn-auth-toolbar .bn-auth-back:focus-visible{
 color:#3e2346!important;background:#efe7f0!important;border-color:#b6a4ba!important
}
.bn-auth-toolbar .bn-auth-back svg{width:15px;height:15px}

/* Auth review 2026-10-20: single shared bottom rhythm across login and recovery. */
.bn-auth-layout { gap:0!important; }
.bn-auth-card{
 height:auto!important;min-height:624px!important;
 overflow:visible!important;isolation:auto!important
}
.bn-auth-card>.bn-auth-header{margin-top:4px}
.bn-auth-card>.bn-auth-header .bn-auth-logo{
 width:108px!important;height:116px!important;max-width:none!important
}
.bn-auth-card>.bn-auth-stage{
 flex:1 0 auto!important;min-height:245px!important;
}
.bn-auth-card>.bn-auth-legal{
 margin-top:auto!important;padding-top:13px!important;
 padding-bottom:0!important;position:relative;flex:none!important;
 line-height:1.95!important
}
.bn-auth-card:has([data-email-password]:not([hidden])),
.bn-auth-card:has([data-email-code]:not([hidden])){
 min-height:624px!important
}
.bn-auth-card:has([data-email-password]:not([hidden])) .bn-auth-legal,
.bn-auth-card:has([data-email-code]:not([hidden])) .bn-auth-legal{
 margin-top:auto!important;padding-top:13px!important;
}
.bn-auth-toolbar{
 direction:ltr!important;justify-content:flex-start!important;
 align-items:center!important;margin:0 0 3px!important;
 min-height:31px!important;z-index:20!important
}
.bn-auth-language{max-width:100%;flex:0 0 auto}
.bn-auth-lang-button{
 min-height:30px!important;padding:4px 6px!important;
 border-color:#e9e1e8!important;border-radius:7px!important;
 background:transparent!important;box-shadow:none!important;
}
.bn-auth-language-menu{
 inset-inline-start:0!important;inset-inline-end:auto!important;
 min-width:74px!important;width:74px!important;
 border:0!important;box-shadow:none!important;
 border-radius:6px!important;background:#fffdfa!important;
 padding:1px 0!important;gap:0!important;
}
.bn-auth-language-menu a{
 font-size:11px!important;min-height:28px!important;
 padding:4px 5px!important;border:0!important;
 gap:5px!important;border-radius:5px!important
}
.bn-auth-lang-flag{font-size:15px!important;min-width:19px!important}
.bn-auth-language-menu .bn-auth-lang-flag svg,
.bn-auth-lang-button .bn-auth-lang-flag svg{width:20px!important;height:14px!important}
.bn-auth-password-wrap [data-toggle-password] svg[hidden],
.bn-auth-password-wrap [data-recovery-eye] svg[hidden]{display:none!important}
.bn-auth-forgot,.bn-auth-password-actions .bn-auth-forgot,
.bn-auth-forgot:link,.bn-auth-forgot:visited{
 text-decoration:none!important;text-underline-offset:initial!important
}
.bn-auth-password-actions a:hover,
.bn-auth-password-actions a:focus-visible{
 text-decoration:none!important;color:#735379!important
}
.bn-recovery-card .bn-auth-stage{
 min-height:235px!important;
 display:flex!important;flex-direction:column!important;gap:12px!important
}
.bn-recovery-card .bn-auth-header h1{margin-bottom:6px!important}
.bn-recovery-card .bn-auth-step-title{
 text-align:center!important;margin:4px 0 0!important
}
.bn-recovery-card .bn-recovery-description{
 text-align:center!important;color:#7d6a81;
 font-size:12px!important;line-height:1.9!important;
 margin:0 auto 4px!important;max-width:100%
}
.bn-recovery-card .bn-recovery-form{
 width:100%;display:flex!important;flex-direction:column!important;
 gap:13px!important;margin:0!important
}
.bn-recovery-form .bn-auth-input{height:51px!important;min-height:51px!important}
.bn-recovery-form .bn-auth-primary{margin:8px 0 0!important}
.bn-recovery-card .bn-recovery-return{
 margin-top:5px;text-align:center;text-decoration:none!important;
 color:#3e2346;font-weight:600;font-size:11px;
 padding:9px 12px;display:inline-block;align-self:center
}
.bn-recovery-card .woocommerce-error,.bn-recovery-card .woocommerce-message,
.bn-recovery-card .woocommerce-info{
 width:100%!important;max-width:100%;margin:4px 0!important;
 font-family:Vazirmatn,Tahoma,sans-serif!important;
 line-height:1.9!important;font-size:12px!important;
 padding:11px 13px!important;border-radius:9px!important;
 box-sizing:border-box!important;overflow-wrap:anywhere
}
.bn-recovery-form .bn-recovery-password-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.bn-recovery-form .bn-recovery-password-field>label{
 font-size:12px!important;color:#3e2346!important
}
.bn-recovery-password-field .bn-auth-password-wrap{width:100%}
.bn-recovery-password-field [data-recovery-eye]{
 height:36px;width:36px;display:grid;place-items:center;
 position:absolute;top:50%;inset-inline-end:9px;
 transform:translateY(-50%);background:transparent!important;
 border:0!important;outline-offset:2px;color:#49394f;cursor:pointer
}
.bn-recovery-password-field [data-recovery-eye] svg{height:21px;width:21px}
.bn-recovery-password-field [data-recovery-eye] svg[hidden]{display:none!important}
.bn-recovery-password-field .bn-auth-input{padding-inline-end:52px!important}
.bn-recovery-feedback{color:#b12d43;font:12px/1.8 Vazirmatn,Tahoma,sans-serif;text-align:center;margin:0!important}
.bn-recovery-feedback[hidden]{display:none!important}
.bn-recovery-strength{
 color:#807185;font:11px/1.75 Vazirmatn,Tahoma,sans-serif;
 text-align:center;margin:0!important;min-height:14px
}
.bn-recovery-strength[data-strong=true]{color:#246b4e}
.bn-recovery-card:has([data-recovery-form]){
 min-height:692px!important
}
.bn-recovery-card .bn-auth-legal{
 margin-top:auto!important;padding-top:13px!important;
}
@media(max-width:540px){
 .bn-auth-card,.bn-auth-card:has([data-email-password]:not([hidden])),
 .bn-auth-card:has([data-email-code]:not([hidden])){
  height:auto!important;min-height:610px!important;
 }
 .bn-auth-card>.bn-auth-header .bn-auth-logo{
  width:115px!important;height:142px!important;
 }
 .bn-recovery-card{min-height:615px!important}
 .bn-recovery-card:has([data-recovery-form]){min-height:710px!important}
 .bn-auth-shell{min-height:100dvh!important;align-items:center!important}
}
@media(max-height:640px){
 .bn-auth-card{height:auto!important;min-height:600px!important}
 .bn-recovery-card:has([data-recovery-form]){min-height:710px!important}
 .bn-auth-shell{padding:15px 12px!important;align-items:start!important}
}
\n
/* BANUK auth refinement 2026-10-20 — visible FA/EN locales and protected recovery layout. */
.bn-auth-toolbar{
  display:flex!important;flex-direction:row!important;justify-content:space-between!important;
  direction:ltr!important;gap:10px!important;align-items:center!important;
  width:100%;min-height:32px!important;margin:0 0 5px!important;
}
.bn-auth-toolbar .bn-auth-back,
.bn-auth-toolbar .bn-auth-lang-button{
  font:600 11px/1.5 Vazirmatn,Tahoma,sans-serif!important;
  height:32px!important;min-height:32px!important;
  box-sizing:border-box!important;padding:6px 9px!important;
  background:#faf7fa!important;color:#43274a!important;
  border:1px solid #e8dee7!important;border-radius:8px!important;
  box-shadow:none!important;backdrop-filter:none!important;
  display:inline-flex!important;align-items:center!important;gap:6px!important;
  white-space:nowrap!important;text-decoration:none!important;
}
.bn-auth-toolbar .bn-auth-back:hover,
.bn-auth-toolbar .bn-auth-lang-button:hover{background:#f3edf3!important}
.bn-auth-toolbar .bn-auth-back{margin:0!important;flex:0 1 auto!important}
.bn-auth-language-menu a[aria-current=true]{display:none!important}
.bn-auth-language-menu{width:74px!important;min-width:74px!important}
.bn-auth-password-wrap svg[data-eye-open],
.bn-auth-password-wrap svg[data-eye-closed],
.bn-auth-password-wrap .bn-eye-open,
.bn-auth-password-wrap .bn-eye-closed{height:20px!important;width:22px!important;fill:currentColor!important;stroke:none!important;pointer-events:none}
.bn-auth-password-wrap svg[hidden],
.bn-auth-password-wrap svg[data-eye-open][hidden],
.bn-auth-password-wrap svg[data-eye-closed][hidden],
.bn-auth-password-wrap .bn-eye-open[hidden],
.bn-auth-password-wrap .bn-eye-closed[hidden]{display:none!important}
.bn-recovery-password-field .bn-auth-password-wrap.password-input{position:relative!important}
.bn-recovery-password-field .bn-auth-password-wrap.password-input .bn-auth-input{width:100%!important}
.bn-recovery-password-field .woocommerce-password-strength{
  display:block!important;position:static!important;
  float:none!important;clear:both!important;width:100%!important;
  height:auto!important;min-height:34px!important;
  padding:8px 11px!important;margin:7px 0 0!important;
  border:1px solid #e3d5d8!important;border-radius:9px!important;
  box-sizing:border-box!important;
  font:500 11px/1.9 Vazirmatn,Tahoma,sans-serif!important;
  text-align:center!important;white-space:normal!important;
  word-break:break-word!important;color:#763940!important;
  background:#fff2ed!important;box-shadow:none!important;
}
.bn-recovery-password-field .woocommerce-password-strength.good,
.bn-recovery-password-field .woocommerce-password-strength.strong{
  color:#20563b!important;background:#edf7f0!important;border-color:#b6d8c2!important
}
.bn-recovery-password-field .woocommerce-password-hint{
  display:block!important;position:static!important;float:none!important;
  width:100%!important;margin:5px 0 0!important;padding:0 5px!important;
  color:#716477!important;background:transparent!important;
  border:0!important;font:400 10px/1.9 Vazirmatn,Tahoma,sans-serif!important;
  text-align:center!important;white-space:normal!important
}
.bn-recovery-password-field .woocommerce-password-strength[style*="display: none"]{display:none!important}
.bn-recovery-password-field{position:relative;isolation:isolate}
.bn-recovery-form .bn-recovery-strength[hidden]{display:none!important}
.bn-recovery-card .bn-auth-stage{min-height:0!important;flex:1 1 auto!important;gap:10px!important}
.bn-recovery-card .bn-recovery-return.bn-auth-primary{
  display:grid!important;place-items:center!important;
  width:100%!important;height:49px!important;min-height:49px!important;
  max-width:none!important;margin:16px 0 0!important;
  padding:10px 14px!important;border:0!important;border-radius:11px!important;
  text-align:center!important;font:600 13px/1.7 Vazirmatn,Tahoma,sans-serif!important;
  color:#fff!important;background:#3e2346!important;text-decoration:none!important
}
.bn-recovery-card .bn-recovery-return.bn-auth-primary:hover{background:#583160!important;color:#fff!important}
.bn-recovery-success-title{
  display:flex!important;align-items:center!important;justify-content:center!important;
  flex-direction:row!important;gap:8px!important;text-align:center!important;
  line-height:1.7!important
}
.bn-recovery-success-title svg{display:block!important;flex:0 0 auto}
.bn-recovery-card:has(.bn-recovery-success-title){
  min-height:490px!important;height:auto!important
}
.bn-recovery-card:has(.bn-recovery-success-title) .bn-recovery-description{
  text-align:center!important;margin:4px auto!important;
  font-size:12px!important;line-height:1.8!important;
}
.bn-recovery-card:has(.bn-recovery-success-title) .bn-auth-stage{
  flex:1 1 auto!important;justify-content:start!important;
}
.bn-recovery-card:has(.bn-recovery-success-title) .bn-recovery-return{margin-top:15px!important}
@media(max-width:540px){
 .bn-auth-toolbar .bn-auth-back,
 .bn-auth-toolbar .bn-auth-lang-button{font-size:10px!important;padding:6px 8px!important}
 .bn-recovery-card:has(.bn-recovery-success-title){min-height:460px!important}
 .bn-recovery-password-field .woocommerce-password-strength{font-size:11px!important}
}

/* Customer auth 0.3.1 — textual password visibility and opposite toolbar corners. */
/* Two explicit columns defeat legacy flex overrides in both directions. */
.bn-auth-card .bn-auth-toolbar{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  direction:ltr!important;align-items:center!important;
  justify-content:stretch!important;width:100%!important;gap:10px!important
}
.bn-auth-card .bn-auth-toolbar .bn-auth-back{
  grid-column:1!important;justify-self:start!important;order:0!important;
  margin:0!important;min-width:0!important
}
.bn-auth-card .bn-auth-toolbar .bn-auth-language{
  grid-column:2!important;justify-self:end!important;order:1!important;
  margin:0!important
}
.bn-auth-card .bn-auth-language-menu{
  position:absolute!important;top:calc(100% + 5px)!important;
  left:auto!important;right:0!important;inset-inline-start:auto!important;
  inset-inline-end:0!important;width:76px!important;min-width:76px!important;
  padding:4px!important;border:1px solid #eae4e9!important;
  border-radius:9px!important;box-shadow:0 9px 20px rgba(32,14,39,.12)!important;
  background:#fffdfa!important;z-index:45!important
}
.bn-auth-card .bn-auth-language-menu a{
  min-height:30px!important;border-radius:6px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:5px!important;gap:6px!important
}
.bn-auth-card .bn-auth-lang-button{
  background:#faf7fa!important;border:1px solid #e8dee7!important;
  min-height:32px!important;height:32px!important;padding:5px 9px!important;
  border-radius:8px!important;box-shadow:none!important;
}
.bn-auth-card .bn-auth-lang-flag svg{
  width:22px!important;height:15px!important;display:block!important
}
.bn-auth-message.is-fading{opacity:0!important;transition:opacity .28s ease!important}
.bn-auth-message:not(.is-fading){opacity:1;transition:opacity .16s ease}
.bn-auth-card .woocommerce-error.is-fading,
.bn-auth-card .woocommerce-info.is-fading{opacity:0!important;transition:opacity .28s ease!important}
@media(prefers-reduced-motion:reduce){
  .bn-auth-message.is-fading,.bn-auth-card .woocommerce-error.is-fading,
  .bn-auth-card .woocommerce-info.is-fading{transition:none!important}
}
.bn-auth-card .bn-auth-password-wrap [data-toggle-password],
.bn-auth-card .bn-recovery-password-field [data-recovery-eye]{
  display:flex!important;align-items:center!important;justify-content:center!important;
  z-index:2!important;top:50%!important;transform:translateY(-50%)!important;
  box-sizing:border-box!important;width:58px!important;height:38px!important;
  min-width:58px!important;margin:0!important;padding:8px 5px!important;
  color:#493650!important;font:600 12px/1.5 Vazirmatn,Tahoma,sans-serif!important;
  white-space:nowrap!important;outline-offset:2px!important;
  background:transparent!important;border:0!important;border-radius:7px!important
}
.bn-auth-card[dir=rtl] .bn-auth-password-wrap [data-toggle-password],
.bn-auth-card[dir=rtl] .bn-recovery-password-field [data-recovery-eye]{
  left:8px!important;right:auto!important;inset-inline-start:auto!important;inset-inline-end:8px!important
}
.bn-auth-card[dir=ltr] .bn-auth-password-wrap [data-toggle-password],
.bn-auth-card[dir=ltr] .bn-recovery-password-field [data-recovery-eye]{
  right:8px!important;left:auto!important;inset-inline-start:auto!important;inset-inline-end:8px!important
}
.bn-auth-card .bn-auth-password-wrap [data-toggle-password]:hover,
.bn-auth-card .bn-recovery-password-field [data-recovery-eye]:hover{
  background:#f3edf4!important
}
.bn-auth-card .bn-auth-password-wrap .bn-auth-input{
  direction:ltr!important;
  font-variant-numeric:tabular-nums!important;
  min-width:0!important
}
.bn-auth-card[dir=rtl] .bn-auth-password-wrap .bn-auth-input{
  text-align:right!important;padding:0 15px 0 77px!important
}
.bn-auth-card[dir=ltr] .bn-auth-password-wrap .bn-auth-input{
  text-align:left!important;padding:0 77px 0 15px!important
}
.bn-auth-card .bn-recovery-password-field .bn-auth-password-wrap .show-password-input{
  display:none!important
}
.bn-auth-card:has([data-email-password]:not([hidden])) .bn-auth-password-actions{
  margin-top:0!important
}
.bn-auth-card:has([data-email-password]:not([hidden])) .bn-auth-password-actions .bn-auth-forgot,
.bn-auth-card:has([data-email-password]:not([hidden])) .bn-auth-password-actions [data-email-back]{
  padding:6.4px 5px!important;min-height:42px!important
}

/* v0.3.3: recovery eye icons only — readable and accessible */
.bn-recovery-password-field [data-recovery-eye]{
  width:44px!important;min-width:44px!important;height:44px!important;
  padding:8px!important;border:0!important;border-radius:8px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  line-height:0!important;font-size:0!important;cursor:pointer!important;
}
.bn-recovery-password-field [data-recovery-eye] svg{display:block!important;width:22px!important;height:22px!important;stroke:currentColor!important;}
.bn-recovery-password-field .bn-auth-password-wrap .show-password-input{display:none!important;}
.bn-recovery-password-field .bn-auth-input{min-height:50px!important;padding-inline-end:53px!important;}
.bn-recovery-password-field [data-recovery-eye]:focus-visible{outline:2px solid #3e2346!important;outline-offset:2px!important}
