.gercan-auth { width:100%; max-width:540px; margin:24px auto 40px; }
.gercan-auth > section[hidden] { display:none!important; }
.gercan-auth h2 { text-align:center; margin:0 0 20px; }
.woocommerce .gercan-auth form { margin:0 0 16px; padding:24px; border:1px solid #d7e3ef; border-radius:16px; background:#fff; }
.gercan-auth .form-row { width:100%; float:none; }
.gercan-auth input.input-text { width:100%; box-sizing:border-box; }
.gercan-auth .woocommerce-form-login__submit { float:none!important; display:block; margin-top:12px!important; }
.gercan-auth .gercan-auth-switch { display:block; width:100%; text-align:center; }
@media(max-width:980px) {
  .gercan-auth { margin:12px auto 104px; padding:0 12px; box-sizing:border-box; }
  .woocommerce .gercan-auth form { padding:18px; }
  .gercan-auth input.input-text { font-size:16px; }
}


/* v382 — Aviso breve de privacidad en el registro. */
.gercan-auth .gercan-privacy-notice{
  margin:14px 0 4px;
  font-size:12.5px;
  line-height:1.45;
  color:#5f6b76;
  text-align:left;
}
.gercan-auth .gercan-privacy-notice a{
  color:#0b5cab;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:2px;
}


/* v386 — Datos completos de registro y rango de edad opcional. */
.gercan-auth .gercan-optional-label{
  color:#6b7785;
  font-weight:400;
}

/* v389 — Rango de edad con el mismo patrón desplegable de Áreas de interés. */
.gercan-auth .gercan-age-range-field{
  margin:0 0 16px;
}
.gercan-auth .gercan-age-disclosure{
  margin-bottom:0 !important;
}
.gercan-auth .gercan-age-summary-optional{
  color:rgba(255,255,255,.82);
  font-weight:400;
}
.gercan-auth .gercan-age-options > p{
  margin:0 0 8px;
  color:#6b7785;
  font-size:12px;
  line-height:1.4;
}

/* v480 — Only the embedded document scrolls; an auto-height body must not trap touch/wheel chaining. */
html.gercan-embedded:has(body.woocommerce-account),
html:has(body.gercan-embedded-body.woocommerce-account){
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
}
html.gercan-embedded body.woocommerce-account,
body.gercan-embedded-body.woocommerce-account{
  height:auto !important;
  min-height:100% !important;
  max-height:none !important;
  overflow:visible !important;
  overscroll-behavior-y:auto;
}
html.gercan-embedded body.woocommerce-account #page,
html.gercan-embedded body.woocommerce-account #content,
html.gercan-embedded body.woocommerce-account #primary,
html.gercan-embedded body.woocommerce-account main,
html.gercan-embedded body.woocommerce-account article,
html.gercan-embedded body.woocommerce-account .entry-content,
body.gercan-embedded-body.woocommerce-account #page,
body.gercan-embedded-body.woocommerce-account #content,
body.gercan-embedded-body.woocommerce-account #primary,
body.gercan-embedded-body.woocommerce-account main,
body.gercan-embedded-body.woocommerce-account article,
body.gercan-embedded-body.woocommerce-account .entry-content{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}

/* v389 — En la vista embebida de Mi cuenta no mostrar el botón de Astra para volver arriba. */
html.gercan-embedded body.woocommerce-account #ast-scroll-top,
body.gercan-embedded-body.woocommerce-account #ast-scroll-top{
  display:none !important;
}

/* v393 — Estado en vivo de coincidencia entre correo y confirmación. */
.gercan-auth .gercan-email-match-status{
  display:block;
  min-height:18px;
  margin-top:6px;
  font-size:12px;
  line-height:1.4;
  font-weight:600;
}
.gercan-auth .gercan-email-match-status:empty{
  min-height:0;
  margin-top:0;
}
.gercan-auth .gercan-email-match-status.is-match{
  color:#177245;
}
.gercan-auth .gercan-email-match-status.is-mismatch{
  color:#b42318;
}


/* v394 — Acerca el aviso legal al desplegable de Áreas de interés en registro. */
.gercan-auth #gercan-auth-register .gercan-registration-privacy{
  margin-top:-4px !important;
}

/* v395 — Alinea el aviso legal con el borde izquierdo de los desplegables y lo acerca visualmente. */
.gercan-auth #gercan-auth-register .gercan-registration-privacy{
  margin-top:-12px !important;
  margin-left:4px !important;
  margin-right:4px !important;
}


/* v396 — Crear cuenta solo se habilita cuando todos los campos obligatorios están completos. */
.gercan-auth .woocommerce-form-register__submit:disabled,
.gercan-auth .woocommerce-form-register__submit.gercan-register-disabled{
  opacity:.48;
  cursor:not-allowed !important;
}


/* v397 — Requisitos y medidor de seguridad de contraseña en registro. */
.gercan-auth .gercan-password-requirements{
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
  margin-top:7px;
  font-size:11.5px;
  line-height:1.35;
  color:#7a8793;
}
.gercan-auth .gercan-password-requirements > span::before{
  content:'○';
  display:inline-block;
  margin-right:4px;
  font-weight:700;
}
.gercan-auth .gercan-password-requirements > span.is-valid{
  color:#177245;
}
.gercan-auth .gercan-password-requirements > span.is-valid::before{
  content:'✓';
}
.gercan-auth .gercan-password-requirements > span.is-pending{
  color:#6d7883;
}
.gercan-auth .gercan-password-strength{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  column-gap:6px;
  row-gap:5px;
  margin-top:8px;
  font-size:12px;
  line-height:1.3;
}
.gercan-auth .gercan-password-strength-label{
  color:#64717d;
}
.gercan-auth .gercan-password-strength-text{
  font-weight:700;
  color:#64717d;
}
.gercan-auth .gercan-password-strength-text[data-level="very-weak"],
.gercan-auth .gercan-password-strength-text[data-level="weak"]{
  color:#b42318;
}
.gercan-auth .gercan-password-strength-text[data-level="medium"]{
  color:#9a6700;
}
.gercan-auth .gercan-password-strength-text[data-level="strong"],
.gercan-auth .gercan-password-strength-text[data-level="very-strong"]{
  color:#177245;
}
.gercan-auth .gercan-password-strength-track{
  grid-column:1 / -1;
  display:block;
  height:5px;
  overflow:hidden;
  border-radius:999px;
  background:#e5e9ed;
}
.gercan-auth .gercan-password-strength-fill{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:#8a949e;
  transition:width .18s ease, background-color .18s ease;
}
.gercan-auth .gercan-password-strength-fill[data-level="very-weak"],
.gercan-auth .gercan-password-strength-fill[data-level="weak"]{
  background:#b42318;
}
.gercan-auth .gercan-password-strength-fill[data-level="medium"]{
  background:#b7791f;
}
.gercan-auth .gercan-password-strength-fill[data-level="strong"],
.gercan-auth .gercan-password-strength-fill[data-level="very-strong"]{
  background:#177245;
}
@media(max-width:980px){
  .gercan-auth .gercan-password-requirements{
    gap:5px 10px;
  }
}
