/* AQUAPOWER Auth v1.0.0 / component-scoped, Elementor-global theme tokens */
.aqpa-modal,.aqpa-backdrop{box-sizing:border-box}
.aqpa-modal *, .aqpa-modal *::before,.aqpa-modal *::after{box-sizing:border-box}
.aqpa-scroll-lock{overflow:hidden!important}
.aqpa-backdrop{position:fixed;inset:0;z-index:999994;background:rgba(8,22,40,.54);opacity:0;transition:opacity .25s ease;pointer-events:auto}
.aqpa-backdrop.is-visible{opacity:1}
.aqpa-backdrop[hidden],.aqpa-modal[hidden],.aqpa-modal [hidden]{display:none!important}
.aqpa-modal{--aqpa-ink:var(--e-global-color-text,#1B2139);--aqpa-accent:var(--e-global-color-accent,#007A93);--aqpa-secondary:var(--e-global-color-secondary,#21C4E3);--aqpa-font:var(--e-global-typography-text-font-family,Vazirmatn),sans-serif;position:fixed;z-index:999995;inset-inline:0;top:50%;transform:translateY(calc(-50% + 16px)) scale(.985);opacity:0;visibility:hidden;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;margin-inline:auto;border:1px solid #E4EFF3;border-radius:22px;background:#fff;box-shadow:0 30px 80px rgba(9,22,41,.22);color:var(--aqpa-ink);font:400 14px/1.8 var(--aqpa-font);transition:opacity .25s ease,transform .25s cubic-bezier(.22,1,.36,1),visibility .25s ease}
.aqpa-modal.is-visible{opacity:1;visibility:visible;transform:translateY(-50%) scale(1)}
.aqpa-head{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;border-bottom:1px solid #E6EFF2}
.aqpa-kicker{color:var(--aqpa-accent);font:700 11px/1.5 system-ui,sans-serif;letter-spacing:1.3px}
.aqpa-close{display:grid;place-items:center;width:36px;height:36px;border:1px solid #E3EDF0;border-radius:11px;background:#F5FAFC;color:var(--aqpa-ink);font:400 25px/1 var(--aqpa-font);cursor:pointer;transition:background .2s,transform .2s}
.aqpa-close:hover{background:#E5F6FA;transform:rotate(90deg)}
.aqpa-content{padding:25px 28px 30px}
.aqpa-badge{display:grid;place-items:center;width:44px;height:44px;margin-bottom:10px;border-radius:14px;color:var(--aqpa-accent);background:#EAF8FC;font-size:31px}
.aqpa-modal h2{margin:0 0 5px;font:700 22px/1.65 var(--aqpa-font);color:var(--aqpa-ink)}
.aqpa-desc{margin:0 0 19px;color:#64748B;font-size:12.5px}
.aqpa-modal form{margin:0}
.aqpa-modal label{display:block;margin:12px 0 6px;font-size:12.5px;font-weight:650;color:var(--aqpa-ink)}
.aqpa-modal input:not([type=checkbox]){display:block;width:100%;min-height:46px;border-radius:12px;border:1px solid #CBDDE6;background:#F8FBFD;color:var(--aqpa-ink);outline:0;padding:0 15px;font:500 15px/1.6 var(--aqpa-font);transition:box-shadow .2s,border-color .2s}
.aqpa-modal input:focus-visible{border-color:var(--aqpa-accent);box-shadow:0 0 0 3px rgba(33,196,227,.15)}
.aqpa-modal .aqpa-primary{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:47px;margin-top:17px;padding:12px 15px;border:0;border-radius:12px;background:var(--aqpa-accent);color:#fff!important;text-decoration:none!important;font:700 13px/1.6 var(--aqpa-font);cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}
.aqpa-modal .aqpa-primary:hover{filter:brightness(.95);transform:translateY(-1px);box-shadow:0 9px 20px rgba(0,122,147,.15)}
.aqpa-modal .aqpa-primary:disabled{opacity:.66;cursor:wait;transform:none}
.aqpa-modal .aqpa-secondary-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}
.aqpa-modal .aqpa-secondary-row button,.aqpa-text-btn{padding:6px 0;background:none;border:none;color:var(--aqpa-accent);cursor:pointer;font:600 12px/1.8 var(--aqpa-font)}
.aqpa-modal .aqpa-secondary-row button:hover,.aqpa-text-btn:hover{text-decoration:underline}
.aqpa-modal .aqpa-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.aqpa-modal .aqpa-consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;font-weight:400;line-height:2;margin:18px 0 0}
.aqpa-consent input{margin-top:6px}
.aqpa-consent a{color:var(--aqpa-accent);text-decoration:underline}
.aqpa-modal .aqpa-message{margin:0 0 13px;border:1px solid #C8E7EA;background:#EDFAFC;color:#006B80;border-radius:11px;padding:9px 11px;font-size:12px}
.aqpa-modal .aqpa-message.is-error{border-color:#F0C3BC;background:#FFF5F2;color:#A23520}
.aqpa-forgot-choices{display:grid;gap:9px}
.aqpa-forgot-choices button{padding:12px;text-align:center;border:1px solid #D4E9EF;border-radius:12px;background:#F5FAFC;color:var(--aqpa-ink);font:650 13px var(--aqpa-font);cursor:pointer}
.aqpa-forgot-choices button:hover{background:#E8F7FA}
.aqpa-modal .aqpa-success-text{margin:0;color:var(--aqpa-accent);font-weight:700}
.aqpa-address-note{padding:15px;margin:15px 0 5px;border-radius:13px;border:1px solid #D5EBF0;background:#F5FAFC}
.aqpa-address-note p{margin:0;font-size:13px}
.aqpa-modal .aqpa-foot{text-align:center;border-top:1px solid #ECF2F4;padding:13px 20px;color:#64748B;font-size:11px}
.aqpa-modal :is(a,button,input):focus-visible{outline:2px solid var(--aqpa-accent);outline-offset:3px}
@media(max-width:480px){.aqpa-modal{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:17px}.aqpa-content{padding:18px 18px 21px}.aqpa-head{padding:11px 16px}.aqpa-modal h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.aqpa-modal,.aqpa-backdrop,.aqpa-close,.aqpa-modal .aqpa-primary{transition:none!important;transform:none!important}.aqpa-modal{top:50%;transform:translateY(-50%)!important}}

/* v1.1.0 | Premium Secure Access + native One-Time-Code / WebOTP field */
.aqpa-modal .aqpa-badge{
  position:relative; isolation:isolate; overflow:visible;
  width:60px; height:60px; margin-block:2px 17px;
  border-radius:19px; background:linear-gradient(135deg,#F0FBFE,#E6F6FA);
  border:1px solid #CEEAF1; color:var(--aqpa-accent);
}
.aqpa-modal .aqpa-badge-icon{position:relative;z-index:2;display:block;width:34px;height:34px;transition:transform .3s ease}
.aqpa-modal .aqpa-aura{position:absolute;inset:-7px;border:1px solid var(--aqpa-secondary);border-radius:23px;opacity:0;pointer-events:none;animation:aqpa-aura-breathe 5.2s ease-out infinite}
.aqpa-modal .aqpa-aura--two{animation-delay:2.6s}
@keyframes aqpa-aura-breathe{
  0%,10%{opacity:0;transform:scale(.87)}
  40%{opacity:.48}
  68%,100%{opacity:0;transform:scale(1.16)}
}
.aqpa-modal .aqpa-otp-wrap{position:relative;width:100%;min-height:60px;margin-top:8px}
.aqpa-modal .aqpa-otp-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;width:100%;pointer-events:none}
.aqpa-modal .aqpa-otp-slots span{
  display:grid;place-items:center;height:59px;min-width:0;
  border:1px solid #C8DBE4;border-radius:12px;background:#F7FBFD;
  color:var(--aqpa-ink);font:700 23px/1 var(--aqpa-font);font-variant-numeric:tabular-nums;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.aqpa-modal .aqpa-otp-slots span.is-filled{background:#fff;border-color:#A7DCE7}
.aqpa-modal .aqpa-otp-wrap:focus-within .aqpa-otp-slots span.is-next{
  border-color:var(--aqpa-accent);background:#F0FAFD;box-shadow:0 0 0 3px rgba(33,196,227,.13);
}
/* The actual input stays in the document / focus tree for iOS One-Time-Code.
   Only the text is transparent; the single native input covers six visual cells. */
.aqpa-modal .aqpa-otp-wrap #aqpa-code{
  position:absolute;inset:0;z-index:3;display:block;width:100%;height:100%;
  padding:0;margin:0;opacity:1;cursor:text;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  caret-color:transparent;background:transparent!important;border:0!important;
  outline:0!important;box-shadow:none!important;
}
.aqpa-modal .aqpa-code-hint{margin:8px 1px 2px;color:#64748B;font-size:11.5px;line-height:1.8}
.aqpa-modal [data-aqpa-resend]:disabled{color:#94A3B8;cursor:default;text-decoration:none}
.aqpa-modal form[aria-busy="true"] .aqpa-primary{cursor:wait}
.aqpa-modal form[aria-busy="true"] .aqpa-primary::before{
  content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;border-radius:50%;animation:aqpa-button-spin .8s linear infinite;
}
@keyframes aqpa-button-spin{to{transform:rotate(360deg)}}
@media(max-width:480px){
  .aqpa-modal .aqpa-otp-slots{gap:5px}
  .aqpa-modal .aqpa-otp-slots span{height:53px;border-radius:10px;font-size:20px}
}
@media(prefers-reduced-motion:reduce){
  .aqpa-modal .aqpa-aura{animation:none!important;opacity:0!important}
  .aqpa-modal .aqpa-otp-slots span{transition:none!important}
  .aqpa-modal form[aria-busy="true"] .aqpa-primary::before{animation:none!important}
}


/* =============================================================
   AQUAPOWER AUTH v1.1.2 — Focused Mobile Dialog & Premium Fields
   Only applies to auth module. Global Elementor tokens retained.
   ============================================================= */
.aqpa-modal .aqpa-phone-label{
  display:flex; align-items:center; gap:12px;
  margin:20px 0 12px; padding:0; line-height:1.5;
  font-family:var(--aqpa-font); color:var(--aqpa-ink);
}
.aqpa-modal .aqpa-phone-label__icon{
  display:inline-grid; place-items:center; flex:0 0 40px;
  width:40px; height:40px; border-radius:13px;
  color:var(--aqpa-accent); background:#EDF9FC;
  border:1px solid #D6EDF2;
}
.aqpa-modal .aqpa-phone-label__text{display:flex;flex-direction:column;gap:3px;min-width:0}
.aqpa-modal .aqpa-phone-label__text strong{
  font:700 14px/1.6 var(--aqpa-font);color:var(--aqpa-ink);
}
.aqpa-modal .aqpa-phone-label__text small{
  font:400 11px/1.65 var(--aqpa-font);color:#64748B;
}
.aqpa-modal #aqpa-phone{
  min-height:52px; font-size:17px; font-weight:600;
  letter-spacing:.025em; font-variant-numeric:tabular-nums;
  text-align:center; direction:ltr; background:#F7FBFD;
  border-radius:13px;
}
.aqpa-modal #aqpa-phone:focus{
  border-color:var(--aqpa-accent);box-shadow:0 0 0 3px rgba(0,122,147,.10);
}
.aqpa-modal .aqpa-password-note{
  font:400 11px/1.9 var(--aqpa-font); color:#64748B;
  padding:9px 11px; margin:9px 0 0;
  border-radius:10px; background:#F4F9FB;
}
@media(max-width:650px){
  .aqpa-modal{
    width:min(372px,calc(100% - 44px));
    max-height:calc(100dvh - 32px);
    border-radius:21px;
    box-shadow:0 18px 55px rgba(9,22,41,.22);
  }
  .aqpa-modal .aqpa-head{padding:12px 17px;min-height:53px}
  .aqpa-modal .aqpa-kicker{font-size:10px;letter-spacing:.8px}
  .aqpa-modal .aqpa-content{padding:24px 20px 22px;text-align:center}
  .aqpa-modal .aqpa-badge{
    margin:0 auto 15px; width:59px;height:59px;
  }
  .aqpa-modal h2{font-size:20px;line-height:1.65;margin:0 0 5px}
  .aqpa-modal .aqpa-desc{margin:0 0 15px;font-size:12px}
  .aqpa-modal .aqpa-phone-label{text-align:right;margin:17px 0 11px;gap:10px}
  .aqpa-modal .aqpa-phone-label__icon{width:37px;height:37px;flex-basis:37px}
  .aqpa-modal .aqpa-phone-label__text strong{font-size:13px}
  .aqpa-modal .aqpa-phone-label__text small{font-size:10.5px}
  .aqpa-modal #aqpa-phone{min-height:49px;font-size:16px}
  .aqpa-modal .aqpa-primary{min-height:47px;margin-top:15px}
  .aqpa-modal .aqpa-secondary-row{margin-top:12px}
  .aqpa-modal .aqpa-foot{padding:12px 13px;font-size:10px}
  .aqpa-modal .aqpa-otp-slots{gap:4px}
  .aqpa-modal .aqpa-otp-slots span{height:45px;font-size:19px}
  .aqpa-modal .aqpa-message{text-align:right}
  .aqpa-modal [data-aqpa-step="profile"],
  .aqpa-modal [data-aqpa-step="password"],
  .aqpa-modal [data-aqpa-step="email"],
  .aqpa-modal [data-aqpa-step="reset"]{text-align:right}
}
@media(max-width:355px){
  .aqpa-modal{width:calc(100% - 34px)}
  .aqpa-modal .aqpa-content{padding-inline:16px}
  .aqpa-modal .aqpa-two{gap:7px}
}

.aqpa-modal .aqpa-password-actions{margin-top:12px;flex-wrap:wrap}
.aqpa-modal .aqpa-password-actions .aqpa-text-btn{margin:0}
