/* =========================================================
   My Account (guest) - clean final layout
========================================================= */

body.woocommerce-account:not(.logged-in) .site-main{
  padding: clamp(16px, 1.7vw, 30px) 0 40px;
}

body.woocommerce-account:not(.logged-in) .entry-title{
  width: min(100%, 700px);
  margin: 0 auto 14px;
  font-size: clamp(30px, 2.3vw, 44px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  font-weight: 900;
  color: #f6f8ff;
}

body.woocommerce-account:not(.logged-in) .woocommerce{
  --ax-line: rgba(255,255,255,.14);
  --ax-line-strong: rgba(255,255,255,.24);
  --ax-bg-1: rgba(9,13,24,.88);
  --ax-bg-2: rgba(7,10,18,.74);
  --ax-muted: rgba(236,241,255,.74);

  width: min(100%, 700px);
  margin: 0 auto;
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  color: #fff;
  position: relative;
  isolation: isolate;
}

body.woocommerce-account:not(.logged-in) .woocommerce::before{
  content: "";
  position: absolute;
  inset: -28px -18px;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(450px 220px at 16% 10%, rgba(255,45,118,.10), transparent 68%),
    radial-gradient(500px 240px at 84% 16%, rgba(79,195,255,.07), transparent 72%);
  filter: blur(7px);
}

body.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-notices-wrapper{
  margin: 0 0 10px;
}

/* split layout if login + register are both enabled */
body.woocommerce-account:not(.logged-in) .woocommerce > #customer_login{
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body.woocommerce-account:not(.logged-in) .woocommerce > #customer_login > .u-column1,
body.woocommerce-account:not(.logged-in) .woocommerce > #customer_login > .u-column2,
body.woocommerce-account:not(.logged-in) .woocommerce > #customer_login > .col-1,
body.woocommerce-account:not(.logged-in) .woocommerce > #customer_login > .col-2{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--ax-line);
  border-radius: 16px;
  background: linear-gradient(180deg, var(--ax-bg-1), var(--ax-bg-2));
  box-shadow: 0 12px 28px rgba(0,0,0,.34);
  overflow: hidden;
}

/* section titles */
body.woocommerce-account:not(.logged-in) .woocommerce > h2,
body.woocommerce-account:not(.logged-in) .woocommerce > #customer_login h2{
  margin: 0;
  padding: 14px 16px 12px;
  border: 1px solid var(--ax-line);
  border-bottom: 0;
  border-radius: 16px 16px 0 0;
  background: linear-gradient(180deg, rgba(10,14,25,.92), rgba(8,12,21,.80));
  font-size: clamp(22px, 1.8vw, 32px);
  line-height: 1.1;
  font-weight: 900;
  color: #fff;
}

body.woocommerce-account:not(.logged-in) .woocommerce > #customer_login h2{
  border: 0;
  border-bottom: 1px solid var(--ax-line);
  border-radius: 0;
  background: transparent;
}

/* direct (single) login form */
body.woocommerce-account:not(.logged-in) .woocommerce > form.login,
body.woocommerce-account:not(.logged-in) .woocommerce > form.woocommerce-form-login{
  width: 100%;
  margin: 0 !important;
  border: 1px solid var(--ax-line) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, var(--ax-bg-1), var(--ax-bg-2)) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.34);
  padding: 10px 16px 16px !important;
  display: flex !important;
  flex-direction: column;
  gap: 10px;
}

/* when a heading is directly before the login form */
body.woocommerce-account:not(.logged-in) .woocommerce > h2 + form.login,
body.woocommerce-account:not(.logged-in) .woocommerce > h2 + form.woocommerce-form-login{
  border-top: 0 !important;
  border-radius: 0 0 16px 16px !important;
}

/* forms inside #customer_login cards */
body.woocommerce-account:not(.logged-in) .woocommerce > #customer_login form.login,
body.woocommerce-account:not(.logged-in) .woocommerce > #customer_login form.register{
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 10px 16px 16px !important;
  display: flex !important;
  flex-direction: column;
  gap: 10px;
}

/* remove unwanted pseudo bars from inherited styles */
body.woocommerce-account:not(.logged-in) .woocommerce form.login::before,
body.woocommerce-account:not(.logged-in) .woocommerce form.login::after,
body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-login::before,
body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-login::after{
  content: none !important;
  display: none !important;
}

/* clean flow rhythm */
body.woocommerce-account:not(.logged-in) .woocommerce form.login > *,
body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-login > *{
  margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login p,
body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-login p,
body.woocommerce-account:not(.logged-in) .woocommerce form.login .form-row,
body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-login .form-row{
  margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form label{
  display: block;
  margin: 0 0 6px !important;
  color: var(--ax-muted);
  font-size: 15px;
  font-weight: 600;
}

body.woocommerce-account:not(.logged-in) .woocommerce input[type="text"],
body.woocommerce-account:not(.logged-in) .woocommerce input[type="email"],
body.woocommerce-account:not(.logged-in) .woocommerce input[type="password"],
body.woocommerce-account:not(.logged-in) .woocommerce input[type="tel"],
body.woocommerce-account:not(.logged-in) .woocommerce select,
body.woocommerce-account:not(.logged-in) .woocommerce textarea{
  width: 100%;
  min-height: 46px;
  border-radius: 12px;
  border: 1px solid var(--ax-line-strong) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)) !important;
  color: #fff !important;
  font-size: 16px;
  padding: 8px 12px;
  outline: none;
}

body.woocommerce-account:not(.logged-in) .woocommerce input::placeholder,
body.woocommerce-account:not(.logged-in) .woocommerce textarea::placeholder{
  color: rgba(255,255,255,.48) !important;
}

/* remove browser white autofill effect */
body.woocommerce-account:not(.logged-in) .woocommerce input:-webkit-autofill,
body.woocommerce-account:not(.logged-in) .woocommerce input:-webkit-autofill:hover,
body.woocommerce-account:not(.logged-in) .woocommerce input:-webkit-autofill:focus,
body.woocommerce-account:not(.logged-in) .woocommerce textarea:-webkit-autofill,
body.woocommerce-account:not(.logged-in) .woocommerce textarea:-webkit-autofill:hover,
body.woocommerce-account:not(.logged-in) .woocommerce textarea:-webkit-autofill:focus{
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
  border: 1px solid var(--ax-line-strong) !important;
  -webkit-box-shadow: 0 0 0 1000px rgba(255,255,255,.08) inset !important;
  box-shadow: 0 0 0 1000px rgba(255,255,255,.08) inset !important;
  transition: background-color 9999s ease-out 0s, color 9999s ease-out 0s !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce input:-moz-autofill,
body.woocommerce-account:not(.logged-in) .woocommerce textarea:-moz-autofill{
  box-shadow: 0 0 0 1000px rgba(255,255,255,.08) inset !important;
  -moz-text-fill-color: #ffffff !important;
  color: #ffffff !important;
  caret-color: #ffffff !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce input:focus,
body.woocommerce-account:not(.logged-in) .woocommerce select:focus,
body.woocommerce-account:not(.logged-in) .woocommerce textarea:focus{
  border-color: rgba(255,45,118,.52) !important;
  box-shadow: 0 0 0 2px rgba(255,45,118,.14);
}

/* password toggle - full replacement */
body.woocommerce-account:not(.logged-in) .woocommerce .password-input{
  position: relative;
  width: 100%;
  display: block;
}

body.woocommerce-account:not(.logged-in) .woocommerce .password-input input{
  padding-right: 44px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .show-password-input,
body.woocommerce-account:not(.logged-in) .woocommerce .show-password-input.display-password{
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  transform: translateY(-50%) !important;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.20);
  background-color: rgba(255,255,255,.08) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dce7ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px 16px !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px;
  overflow: hidden;
  box-shadow: none !important;
  text-decoration: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .show-password-input::before,
body.woocommerce-account:not(.logged-in) .woocommerce .show-password-input::after{
  content: none !important;
  display: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .show-password-input.display-password{
  border-color: rgba(255,45,118,.56);
  background-color: rgba(255,45,118,.18) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffe0ef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.86 10.86 0 0 1 12 20C5 20 1 12 1 12a21.8 21.8 0 0 1 5.06-6.94'/%3E%3Cpath d='M9.88 4.24A10.3 10.3 0 0 1 12 4c7 0 11 8 11 8a21.8 21.8 0 0 1-1.68 2.68'/%3E%3Cpath d='M14.12 14.12A3 3 0 0 1 9.88 9.88'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E") !important;
}

/* submit and remember */
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ax-muted);
  font-size: 14px;
  margin-left: 6px;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme input{
  width: 15px !important;
  height: 15px !important;
  min-height: 15px !important;
  margin: 0 !important;
}

/* custom SIWG proxy button (same interaction model as main auth modal) */
body.woocommerce-account:not(.logged-in) .woocommerce .pg-myaccount-google-proxy{
  position: relative;
  min-height: 48px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0 0 8px;
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(255,45,118,.10), transparent 58%),
    radial-gradient(120% 120% at 100% 0%, rgba(79,195,255,.08), transparent 60%),
    rgba(255,255,255,.04);
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  pointer-events: auto;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

body.woocommerce-account:not(.logged-in) .woocommerce .pg-myaccount-google-proxy:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.28);
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(255,45,118,.16), transparent 58%),
    radial-gradient(120% 120% at 100% 0%, rgba(79,195,255,.12), transparent 60%),
    rgba(255,255,255,.06);
}

body.woocommerce-account:not(.logged-in) .woocommerce .pg-myaccount-google-proxy .pg-g,
body.woocommerce-account:not(.logged-in) .woocommerce .pg-myaccount-google-proxy .pg-google{
  position: relative;
  z-index: 1;
  pointer-events: none;
}

body.woocommerce-account:not(.logged-in) .woocommerce .pg-myaccount-google-proxy .pg-google{
  font-weight: 900;
  font-size: 16px;
}

body.woocommerce-account:not(.logged-in) .woocommerce .pg-myaccount-google-proxy__native{
  position: absolute;
  inset: 0;
  z-index: 6;
  opacity: .01;
  overflow: hidden;
  pointer-events: auto;
}

body.woocommerce-account:not(.logged-in) .woocommerce .pg-myaccount-google-proxy__native .googlesitekit-sign-in-with-google__frontend-output-button{
  position: absolute;
  inset: 0;
  display: block;
}

body.woocommerce-account:not(.logged-in) .woocommerce .pg-myaccount-google-proxy__native .googlesitekit-sign-in-with-google__frontend-output-button > div,
body.woocommerce-account:not(.logged-in) .woocommerce .pg-myaccount-google-proxy__native .googlesitekit-sign-in-with-google__frontend-output-button iframe{
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .pg-myaccount-google-proxy--direct{
  padding: 8px 10px;
}

body.woocommerce-account:not(.logged-in) .woocommerce .pg-myaccount-google-proxy--direct .googlesitekit-sign-in-with-google__frontend-output-button{
  width: 100%;
  max-width: 360px;
}

body.woocommerce-account:not(.logged-in) .woocommerce .pg-myaccount-google-proxy--direct .googlesitekit-sign-in-with-google__frontend-output-button > div,
body.woocommerce-account:not(.logged-in) .woocommerce .pg-myaccount-google-proxy--direct .googlesitekit-sign-in-with-google__frontend-output-button iframe{
  width: 100% !important;
  min-width: 100% !important;
}

/* hide native SIWG row, we render it inside custom proxy */
body.woocommerce-account:not(.logged-in) .woocommerce form.login > .googlesitekit-sign-in-with-google__frontend-output-button.woocommerce-form-row.form-row,
body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-login > .googlesitekit-sign-in-with-google__frontend-output-button.woocommerce-form-row.form-row{
  display: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .button,
body.woocommerce-account:not(.logged-in) .woocommerce button,
body.woocommerce-account:not(.logged-in) .woocommerce input[type="submit"]{
  min-height: 44px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  background: linear-gradient(90deg, rgba(255,45,118,.96), rgba(176,0,255,.72)) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  padding: 0 14px !important;
  box-shadow: 0 8px 20px rgba(176,0,255,.2);
}

body.woocommerce-account:not(.logged-in) .woocommerce .button:hover,
body.woocommerce-account:not(.logged-in) .woocommerce button:hover,
body.woocommerce-account:not(.logged-in) .woocommerce input[type="submit"]:hover{
  filter: brightness(1.04);
  transform: none;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-LostPassword,
body.woocommerce-account:not(.logged-in) .woocommerce .lost_password{
  margin-top: 2px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-LostPassword a,
body.woocommerce-account:not(.logged-in) .woocommerce .lost_password a{
  color: #99d5ff !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

/* hide stale wrappers from old auth templates */
body.woocommerce-account:not(.logged-in) .pgx-auth-promo,
body.woocommerce-account:not(.logged-in) .pgx-auth-shell,
body.woocommerce-account:not(.logged-in) .pgx-auth-shell__aside,
body.woocommerce-account:not(.logged-in) .pgx-auth-shell__main{
  display: none !important;
}

@media (max-width: 900px){
  body.woocommerce-account:not(.logged-in) .woocommerce > #customer_login{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px){
  body.woocommerce-account:not(.logged-in) .entry-title,
  body.woocommerce-account:not(.logged-in) .woocommerce{
    width: min(100%, 100%);
  }

  body.woocommerce-account:not(.logged-in) .entry-title{
    font-size: clamp(24px, 8vw, 34px);
    margin-bottom: 10px;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce > h2,
  body.woocommerce-account:not(.logged-in) .woocommerce > #customer_login h2{
    font-size: clamp(20px, 6.2vw, 28px);
    padding: 12px 12px 10px;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce > form.login,
  body.woocommerce-account:not(.logged-in) .woocommerce > form.woocommerce-form-login,
  body.woocommerce-account:not(.logged-in) .woocommerce > #customer_login form.login,
  body.woocommerce-account:not(.logged-in) .woocommerce > #customer_login form.register{
    padding: 8px 12px 12px !important;
  }
}

/* hard final fix: strict box model + no top gap + exact width */
body.woocommerce-account:not(.logged-in) .woocommerce,
body.woocommerce-account:not(.logged-in) .woocommerce *,
body.woocommerce-account:not(.logged-in) .woocommerce *::before,
body.woocommerce-account:not(.logged-in) .woocommerce *::after{
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce > h2,
body.woocommerce-account:not(.logged-in) .woocommerce > form.login,
body.woocommerce-account:not(.logged-in) .woocommerce > form.woocommerce-form-login{
  width: 100% !important;
  max-width: 700px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce > form.login,
body.woocommerce-account:not(.logged-in) .woocommerce > form.woocommerce-form-login{
  padding-top: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce > form.login > p:first-child,
body.woocommerce-account:not(.logged-in) .woocommerce > form.woocommerce-form-login > p:first-child,
body.woocommerce-account:not(.logged-in) .woocommerce > form.login > .form-row:first-child,
body.woocommerce-account:not(.logged-in) .woocommerce > form.woocommerce-form-login > .form-row:first-child{
  margin-top: 8px !important;
  padding-top: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login .form-row,
body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-login .form-row{
  padding: 0 !important;
}

/* remember me + lost password: branded controls */
body.woocommerce-account:not(.logged-in) .woocommerce form.login > p.form-row,
body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-login > p.form-row{
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  color: #dce7ff;
  font-size: 14px;
  font-weight: 700;
  margin: 0 !important;
  cursor: pointer;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme:hover{
  border-color: rgba(255,45,118,.45);
  background: linear-gradient(180deg, rgba(255,45,118,.11), rgba(176,0,255,.08));
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme input[type="checkbox"]{
  -webkit-appearance: none;
  appearance: none;
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  border: 1px solid rgba(255,255,255,.32) !important;
  border-radius: 6px;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
  position: relative;
  cursor: pointer;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme input[type="checkbox"]::before{
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 4px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  opacity: 0;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme input[type="checkbox"]:checked{
  border-color: rgba(255,45,118,.72) !important;
  background: linear-gradient(135deg, #ff2d7a, #b000ff);
  box-shadow: 0 0 0 2px rgba(255,45,118,.18);
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme input[type="checkbox"]:checked::before{
  opacity: 1;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-LostPassword,
body.woocommerce-account:not(.logged-in) .woocommerce .lost_password{
  margin-top: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-LostPassword a,
body.woocommerce-account:not(.logged-in) .woocommerce .lost_password a{
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(123,213,255,.34);
  background: linear-gradient(180deg, rgba(123,213,255,.10), rgba(123,213,255,.03));
  color: #9fd9ff !important;
  font-weight: 700;
  text-decoration: none !important;
  transition: border-color .16s ease, box-shadow .16s ease, color .16s ease, background .16s ease;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-LostPassword a:hover,
body.woocommerce-account:not(.logged-in) .woocommerce .lost_password a:hover{
  color: #d6f0ff !important;
  border-color: rgba(255,45,118,.50);
  background: linear-gradient(180deg, rgba(255,45,118,.12), rgba(176,0,255,.07));
  box-shadow: 0 6px 18px rgba(255,45,118,.20);
}

/* swap places: first login button, then "remember me" */
body.woocommerce-account:not(.logged-in) .woocommerce form.login > p.form-row,
body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-login > p.form-row{
  align-items: center;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) .woocommerce button[name="login"]{
  order: 1;
  min-width: 156px;
  min-height: 46px !important;
  padding: 0 22px !important;
  border-radius: 14px !important;
  letter-spacing: .01em;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme{
  order: 2;
}
