:root{
  --ae-green:#16c1b5;
  --ae-green2:#22c55e;
  --ae-ink:rgba(15,23,42,.92);
  --ae-muted:rgba(15,23,42,.55);
  --ae-line:rgba(15,23,42,.10);
  --ae-radius:34px;
  --ae-shadow: 0 22px 70px rgba(15,23,42,.14);

  --ae-login-leaves: none;
  --ae-register-footer: none;
}

/* Hide any Nextend output on My Account OUTSIDE our auth block (kills floating top button) */
body.woocommerce-account .nsl-container,
body.woocommerce-account .nsl-container-block,
body.woocommerce-account .nsl-container-buttons,
body.woocommerce-account .nsl-button{
  display:none !important;
}
body.woocommerce-account .ae-authdark__social .nsl-container,
body.woocommerce-account .ae-authdark__social .nsl-container-block,
body.woocommerce-account .ae-authdark__social .nsl-container-buttons,
body.woocommerce-account .ae-authdark__social .nsl-button{
  display:block !important;
}

/* ===== Layout ===== */
.ae-authdark{ padding: 26px 14px; }
.ae-authdark__container{ max-width: 1120px; margin: 0 auto; }
.ae-authdark__wrap{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  align-items: stretch;
}
.ae-authdark__panel{
  border-radius: var(--ae-radius);
  box-shadow: var(--ae-shadow);
  overflow: hidden;
  position: relative;
}

/* ===== Left (Login) ===== */
.ae-authdark__panel--login{
  padding: 20px 20px 18px;
  min-height: 640px;
  border: 1px solid rgba(255,255,255,.10);
  color: #fff !important;
  background:
    radial-gradient(120% 140% at 18% 0%, rgba(34,197,94,.16) 0%, transparent 58%),
    radial-gradient(120% 160% at 90% 100%, rgba(22,193,181,.14) 0%, transparent 55%),
    linear-gradient(135deg, #062a23 0%, #031612 62%, #020b09 100%);
}
.ae-authdark__panel--login:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background:
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.10) 0 2px, transparent 3px),
    radial-gradient(circle at 72% 52%, rgba(255,255,255,.08) 0 2px, transparent 3px),
    radial-gradient(circle at 35% 84%, rgba(255,255,255,.06) 0 2px, transparent 3px);
  background-size: 160px 160px, 180px 180px, 220px 220px;
}
.ae-authdark__panel--login:after{
  content:"";
  position:absolute;
  right: -6px;
  top: 140px;
  width: 180px;
  height: 420px;
  background-image: var(--ae-login-leaves);
  background-repeat:no-repeat;
  background-size: contain;
  background-position: right center;
  opacity: .90;
  pointer-events:none;
  filter: drop-shadow(0 18px 26px rgba(0,0,0,.28));
}

.ae-authdark__brandrow{ display:flex; flex-direction:column; gap:2px; margin-bottom: 12px; }
.ae-authdark__brand{ font-weight: 900; letter-spacing:.2px; font-size: 16px; color:#fff !important; }
.ae-authdark__tag{ font-size: 12px; opacity: .78; color: rgba(255,255,255,.82) !important; }

.ae-authdark__h2{
  margin: 6px 0 6px;
  font-size: 44px;
  line-height: 1.02;
  color:#fff !important;
}
.ae-authdark__sub{
  font-size: 14px;
  opacity: .82;
  margin: 0 0 16px;
  color: rgba(255,255,255,.92) !important;
}

/* Glass form card */
.ae-authdark__wc h2{ display:none !important; }
.ae-authdark__wc form{ margin: 0 !important; }
.ae-authdark__wc--login form.woocommerce-form-login{
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.14);
  padding: 16px 16px 14px;
  backdrop-filter: blur(6px);
}
.ae-authdark__wc label{
  display:block;
  font-weight:900;
  font-size: 12px;
  margin-bottom: 6px;
  letter-spacing:.2px;
}
.ae-authdark__panel--login .ae-authdark__wc label{ color: rgba(255,255,255,.86) !important; }

.ae-authdark__wc input[type="text"],
.ae-authdark__wc input[type="email"],
.ae-authdark__wc input[type="password"],
.ae-authdark__wc input[type="tel"],
.ae-authdark__wc select{
  width: 100% !important;
  border-radius: 16px !important;
  padding: 13px 14px !important;
  box-sizing: border-box !important;
  outline: none !important;
}
.ae-authdark__panel--login .ae-authdark__wc input[type="text"],
.ae-authdark__panel--login .ae-authdark__wc input[type="email"],
.ae-authdark__panel--login .ae-authdark__wc input[type="password"],
.ae-authdark__panel--login .ae-authdark__wc input[type="tel"],
.ae-authdark__panel--login .ae-authdark__wc select{
  background: rgba(2,10,8,.42) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: rgba(255,255,255,.92) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.22) !important;
}
.ae-authdark__panel--login .ae-authdark__wc input::placeholder{ color: rgba(255,255,255,.56) !important; }

.ae-authdark__panel--login .woocommerce-form-login__rememberme{
  display:flex !important;
  align-items:center !important;
  gap: 8px !important;
  color: rgba(255,255,255,.78) !important;
  margin-bottom: 10px !important;
}

/* Actions row (JS inject) */
.ae-authdark__actions{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 10px;
}
.ae-authdark__actions .button,
.ae-authdark__actions button,
.ae-authdark__actions input[type="submit"].button{
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 18px !important;
  line-height: 46px !important;
  font-size: 14px !important;
  border-radius: 14px !important;
  width: auto !important;
  max-width: 240px !important;
  flex: 0 0 auto !important;
  border: 0 !important;
  background: linear-gradient(135deg, var(--ae-green), var(--ae-green2)) !important;
  color: #fff !important;
  font-weight: 900 !important;
  box-shadow: 0 22px 34px rgba(22,193,181,.22) !important;
}
.ae-authdark__actions .lost_password{
  width:auto !important;
  flex: 1 1 auto !important;
  text-align:right !important;
  margin: 0 !important;
}
.ae-authdark__actions .lost_password a{
  color: rgba(140,255,220,.92) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

/* Divider + social */
.ae-authdark__divider{
  margin: 18px 0 12px;
  display:flex;
  align-items:center;
  gap: 12px;
  opacity: .95;
}
.ae-authdark__divider:before,
.ae-authdark__divider:after{
  content:"";
  height:1px;
  flex:1;
  background: rgba(255,255,255,.16);
}
.ae-authdark__divider span{
  font-size: 12px;
  font-weight: 900;
  color: rgba(255,255,255,.78);
}
.ae-authdark__social .nsl-container-buttons{
  display:grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}
.ae-authdark__social .nsl-button{
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.08) !important;
  min-height: 42px !important;
}
.ae-authdark__social .nsl-button a{ padding: 9px 14px !important; }
.ae-authdark__social .nsl-button .nsl-button-label-container{
  color: rgba(255,255,255,.92) !important;
  font-weight: 900 !important;
}

/* Footer line centered */
.ae-authdark__foot{
  margin-top: 14px;
  font-size: 13px;
  display:flex;
  gap: 8px;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:100%;
}
.ae-authdark__muted{ color: rgba(255,255,255,.75); }
.ae-authdark__link{
  color: rgba(140,255,220,.92);
  font-weight: 900;
  text-decoration: none;
}

/* ===== Right (Register) ===== */
.ae-authdark__panel--register{
  padding: 22px 22px 16px;
  min-height: 640px;
  border: 1px solid rgba(15,23,42,.10);
  background:
    radial-gradient(140% 140% at 10% 15%, rgba(22,193,181,.18) 0%, transparent 55%),
    radial-gradient(140% 140% at 90% 35%, rgba(34,197,94,.16) 0%, transparent 55%),
    rgba(255,255,255,.92);
}
.ae-authdark__h2--light{ color: var(--ae-ink) !important; font-size: 42px; }
.ae-authdark__sub--light{ color: var(--ae-muted) !important; opacity:1; }
.ae-authdark__panel--register .ae-authdark__link{ color:#0ea5a4; }

.ae-authdark__types{ display:flex; gap:10px; margin: 6px 0 14px; flex-wrap:wrap; }
.ae-authdark__type{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.92);
  color: rgba(15,23,42,.82);
  font-weight: 900;
  font-size: 13px;
  text-decoration: none;
}
.ae-authdark__type.is-active{
  background: rgba(22,193,181,.12);
  border-color: rgba(22,193,181,.28);
}
.ae-authdark__panel--register .ae-authdark__wc label{ color: rgba(15,23,42,.78) !important; }
.ae-authdark__panel--register .ae-authdark__wc input[type="text"],
.ae-authdark__panel--register .ae-authdark__wc input[type="email"],
.ae-authdark__panel--register .ae-authdark__wc input[type="password"],
.ae-authdark__panel--register .ae-authdark__wc input[type="tel"],
.ae-authdark__panel--register .ae-authdark__wc select{
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(15,23,42,.14) !important;
  color: rgba(15,23,42,.90) !important;
  box-shadow: 0 10px 22px rgba(15,23,42,.05) !important;
}
.ae-authdark__panel--register button.button,
.ae-authdark__panel--register input[type="submit"].button{
  border:0 !important;
  border-radius: 16px !important;
  padding: 13px 16px !important;
  font-weight: 900 !important;
  background: linear-gradient(135deg, var(--ae-green), var(--ae-green2)) !important;
  color:#fff !important;
  box-shadow: 0 22px 34px rgba(22,193,181,.22) !important;
}
.ae-authdark__fineprint{
  margin-top: 10px;
  font-size: 12px;
  color: rgba(15,23,42,.55);
}

/* Footer illustration from mock */
.ae-authdark__footerart{
  margin-top: 16px;
  border-radius: 22px;
  overflow:hidden;
  border: 1px solid rgba(15,23,42,.08);
  height: 240px;
  background-image: var(--ae-register-footer);
  background-repeat:no-repeat;
  background-size: cover;
  background-position: center bottom;
}

/* Responsive */
@media (max-width: 980px){
  .ae-authdark__wrap{ grid-template-columns: 1fr; }
  .ae-authdark__panel--login:after{
    width: 140px;
    height: 360px;
    top: 160px;
    right: -10px;
  }
}

/* ===== Mock background + alignment fix (v1.2.1) ===== */

/* Use the replaced login-leaves.png as FULL background (your file is 1024x1536), not as a small overlay */
.ae-authdark__panel--login{
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.38) 100%),
    var(--ae-login-leaves) !important;
  background-repeat: no-repeat, no-repeat !important;
  background-size: cover, cover !important;
  /* slight shift to keep leaves nicely on the right like in the mock */
  background-position: center, 78% 50% !important;
}

/* Disable extra overlays (particles/leaf overlay) because they are already baked into your background image */
.ae-authdark__panel--login:before{ content:none !important; }
.ae-authdark__panel--login:after{ content:none !important; }

/* Google button: center label like in the mock (icon stays left) */
.ae-authdark__social .nsl-button a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  text-align:center !important;
  min-height: 48px !important;
  border-radius: 16px !important;
}
.ae-authdark__social .nsl-button a .nsl-button-svg-container,
.ae-authdark__social .nsl-button a .nsl-button-icon-container,
.ae-authdark__social .nsl-button a .nsl-button-icon{
  position:absolute !important;
  left:14px !important;
}

/* keep footer line centered under Google */
.ae-authdark__foot{ justify-content:center !important; }

/* Mobile: keep same positioning */
@media (max-width:520px){
  .ae-authdark__panel--login{
    background-position: center, 80% 55% !important;
  }
}

/* ===== Button alignment patch (v1.1.1) ===== */

/* Login button: make it wider (match mock), centered label, no hover effects */
.ae-authdark__actions .button,
.ae-authdark__actions button,
.ae-authdark__actions input[type="submit"].button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 58% !important;
  max-width: none !important;
  width: auto !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 22px !important;
  line-height: 1 !important;
  letter-spacing: .2px !important;
  transition: none !important;
  transform: none !important;
  filter: none !important;
}
.ae-authdark__actions .button:hover,
.ae-authdark__actions button:hover,
.ae-authdark__actions input[type="submit"].button:hover,
.ae-authdark__actions .button:focus,
.ae-authdark__actions button:focus,
.ae-authdark__actions input[type="submit"].button:focus,
.ae-authdark__actions .button:active,
.ae-authdark__actions button:active,
.ae-authdark__actions input[type="submit"].button:active{
  transform: none !important;
  filter: none !important;
  box-shadow: 0 22px 34px rgba(22,193,181,.22) !important; /* keep same, no 'pop' */
}

/* Lost password: keep proportional and aligned */
.ae-authdark__actions .lost_password{
  flex: 0 0 42% !important;
  width: auto !important;
  text-align: right !important;
}

/* Google button: fixed height, centered label, no stretch, no hover effects */
.ae-authdark__social .nsl-button{
  max-width: 520px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  transition: none !important;
  transform: none !important;
}
.ae-authdark__social .nsl-button a{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 18px !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  transition: none !important;
  transform: none !important;
}
.ae-authdark__social .nsl-button .nsl-button-svg-container{
  flex: 0 0 auto !important;
}
.ae-authdark__social .nsl-button .nsl-button-label-container{
  flex: 1 1 auto !important;
  text-align: center !important;
}
.ae-authdark__social .nsl-button:hover,
.ae-authdark__social .nsl-button a:hover,
.ae-authdark__social .nsl-button:focus,
.ae-authdark__social .nsl-button a:focus,
.ae-authdark__social .nsl-button:active,
.ae-authdark__social .nsl-button a:active{
  transform: none !important;
  filter: none !important;
  box-shadow: none !important;
}

/* ===== Button layout + centering fix (v1.1.2) ===== */

/* Actions row: align button + lost password perfectly */
.ae-authdark__actions{
  align-items: center !important;
  gap: 18px !important;
}
.ae-authdark__actions .button,
.ae-authdark__actions button,
.ae-authdark__actions input[type="submit"].button{
  flex: 0 0 56% !important;
  width: 56% !important;
  max-width: 320px !important;
  height: 52px !important;
  min-height: 52px !important;
  border-radius: 18px !important;
  font-size: 15px !important;
}
.ae-authdark__actions .lost_password{
  flex: 1 1 auto !important;
  width: auto !important;
  margin: 0 !important;
}
.ae-authdark__actions .lost_password a{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  height: 52px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

/* Nextend Google button: icon left, label centered in the whole button (not shifted) */
.ae-authdark__social .nsl-button,
.ae-authdark__social .nsl-button-link,
.ae-authdark__social .nsl-button a{
  box-sizing: border-box !important;
  transition: none !important;
  transform: none !important;
}
.ae-authdark__social .nsl-button a,
.ae-authdark__social a.nsl-button-link{
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 18px !important;
  border-radius: 18px !important;
}
.ae-authdark__social .nsl-button a *{ box-sizing: border-box !important; }

/* icon */
.ae-authdark__social .nsl-button .nsl-button-svg-container{
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 24px !important;
  height: 24px !important;
  display: grid !important;
  place-items: center !important;
}
.ae-authdark__social .nsl-button .nsl-button-svg-container svg{
  width: 20px !important;
  height: 20px !important;
}

/* label centered across whole button */
.ae-authdark__social .nsl-button .nsl-button-label-container{
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-align: center !important;
}

/* Remove any other default Nextend inner layout that pushes label down */
.ae-authdark__social .nsl-button a .nsl-button-svg-container,
.ae-authdark__social .nsl-button a .nsl-button-label-container{
  float: none !important;
}

/* No hover effects anywhere on these buttons */
.ae-authdark__social .nsl-button:hover,
.ae-authdark__social .nsl-button a:hover,
.ae-authdark__social .nsl-button:focus,
.ae-authdark__social .nsl-button a:focus,
.ae-authdark__social .nsl-button:active,
.ae-authdark__social .nsl-button a:active,
.ae-authdark__actions .button:hover,
.ae-authdark__actions button:hover,
.ae-authdark__actions input[type="submit"].button:hover{
  transform: none !important;
  filter: none !important;
  box-shadow: none !important;
}

/* ===== Nextend button final fix (v1.1.6) ===== */

/* When JS moved Nextend, hide any leftovers outside our social area */
html.ae-auth-nsl-moved body.woocommerce-account .nsl-container{ display:none !important; }
html.ae-auth-nsl-moved body.woocommerce-account .ae-authdark__social .nsl-container{ display:block !important; }

/* Ensure the social area always shows the moved container */
.ae-authdark__social{ position:relative; z-index:6; }
.ae-authdark__social .nsl-container{ display:block !important; }

/* Normalize Nextend button markup (works across Nextend variants) */
.ae-authdark__social .nsl-container-buttons{
  display:grid !important;
  gap:10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide label/svg containers by default, show only inside the clickable element (prevents stray text in layout) */
.ae-authdark__social .nsl-button-label-container,
.ae-authdark__social .nsl-button-svg-container{ display:none !important; }
.ae-authdark__social a .nsl-button-label-container,
.ae-authdark__social a .nsl-button-svg-container{ display:block !important; }

/* Clickable element can be:
   - a.nsl-button-link
   - a.nsl-button
   - .nsl-button a
*/
.ae-authdark__social a.nsl-button-link,
.ae-authdark__social a.nsl-button,
.ae-authdark__social .nsl-button a{
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 auto !important;

  height: 52px !important;
  min-height: 52px !important;
  padding: 0 18px !important;

  border-radius: 18px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 12px 22px rgba(0,0,0,.18) !important;

  text-decoration: none !important;
  box-sizing: border-box !important;

  transition: none !important;
  transform: none !important;
  overflow: hidden !important;
}

/* Icon left */
.ae-authdark__social a .nsl-button-svg-container{
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 28px !important;
  height: 28px !important;
  display: grid !important;
  place-items: center !important;
}
.ae-authdark__social a .nsl-button-svg-container svg{
  width: 20px !important;
  height: 20px !important;
}

/* Label centered across whole button */
.ae-authdark__social a .nsl-button-label-container{
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  text-align: center !important;
  font-weight: 900 !important;
  color: rgba(255,255,255,.92) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Remove pseudo spacing some versions add */
.ae-authdark__social a:before,
.ae-authdark__social a:after{ content:none !important; }

/* No hover effects */
.ae-authdark__social a:hover{
  transform:none !important;
  filter:none !important;
  box-shadow: 0 12px 22px rgba(0,0,0,.18) !important;
}

.ae-authdark__actions .nsl-container{display:none !important;}
