/* POP POP v0.2.2 — sólo la página Mi cuenta de WooCommerce.
   Sin paleta ni logotipo inventados: colores heredados de Astra/WordPress.
   Para igualar el HOME personalizado se requieren sus tokens CSS reales. */
body.popx-account-page .popx-account-login,
body.popx-account-page .popx-account-login * { box-sizing: border-box; }
body.popx-account-page .popx-account-login {
  /* No establece colores de marca. Usa el texto del tema para el panel. */
  --popx-account-ink: var(--ast-global-color-2, var(--wp--preset--color--contrast, #262626));
  --popx-account-surface: var(--ast-global-color-5, var(--wp--preset--color--base, #ffffff));
  --popx-account-stroke: color-mix(in srgb, currentColor 13%, transparent);
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  width: 100%; max-width: 1220px; min-width: 0;
  margin: 12px auto 46px; border-radius: 24px;
  overflow: hidden; border: 1px solid var(--popx-account-stroke);
  background: var(--popx-account-surface); color: var(--popx-account-ink);
  box-shadow: 0 20px 48px rgba(0,0,0,.06);
}
body.popx-account-page .popx-account-login__brand {
  background: var(--popx-account-ink); color: var(--popx-account-surface);
  padding: clamp(28px, 5vw, 70px); min-height: 590px;
  display: flex; flex-direction: column; gap: 40px; min-width: 0;
}
body.popx-account-page .popx-account-login__brand-top {
  display:flex; align-items: center; min-height: 72px; max-width: 260px;
}
body.popx-account-page .popx-account-login__logo { display:block; max-height: 78px; max-width: 230px; width: auto; height: auto; object-fit: contain; }
body.popx-account-page .popx-account-login__wordmark { font-size: clamp(1.3rem,2.8vw,2rem); letter-spacing: -.03em; font-weight: 800; }
body.popx-account-page .popx-account-login__brand-main { margin: auto 0; min-width: 0; }
body.popx-account-page .popx-account-login__eyebrow,
body.popx-account-page .popx-account-login__content-eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: .73rem; font-weight: 800; }
body.popx-account-page .popx-account-login__brand h2 {
  color: inherit; font-size: clamp(2.2rem, 4.25vw, 4rem); letter-spacing: -.045em;
  line-height: 1.08; margin: 14px 0 22px; max-width: 700px; overflow-wrap: anywhere;
}
body.popx-account-page .popx-account-login__brand-main > p:last-of-type {
  color: inherit; opacity: .87; line-height: 1.65; font-size: 1rem;
  max-width: 490px; margin: 0;
}
body.popx-account-page .popx-account-login__media { margin-top: 30px; max-width: 380px; }
body.popx-account-page .popx-account-login__media img { display:block; width:100%; max-height: 260px; object-fit: contain; }
body.popx-account-page .popx-account-login__brand-foot { font-size: .8rem; font-weight: 700; letter-spacing: .1em; opacity: .7; }
body.popx-account-page .popx-account-login__content {
  padding: clamp(25px, 5.2vw, 75px); align-self: center;
  width:100%; max-width: 650px; min-width: 0;
}
body.popx-account-page .popx-account-login__content-eyebrow { margin: 0 0 10px; opacity: .66; }
body.popx-account-page .popx-account-login__content-title { color: inherit; margin: 0 0 25px; font-size: clamp(1.65rem, 2.55vw, 2.25rem); }
body.popx-account-page .popx-account-login__native { min-width:0; }
body.popx-account-page .popx-account-login__native :is(.u-columns, .col2-set) {
  display: grid !important; grid-template-columns: minmax(0,1fr) !important;
  gap: 25px; margin: 0 !important;
}
body.popx-account-page .popx-account-login__native :is(.u-column1, .u-column2, .col-1, .col-2) {
  float: none !important; clear: none !important; width: 100% !important;
  margin: 0 !important; padding: 0 !important; max-width: none !important; min-width: 0;
}
body.popx-account-page .popx-account-login__native h2 {
  font-size: clamp(1.15rem, 1.8vw, 1.45rem); color: inherit;
  margin: 0 0 12px; font-weight: 750;
}
body.popx-account-page .popx-account-login__native .u-column2 {
  border-top: 1px solid var(--popx-account-stroke); padding-top: 24px !important;
}
body.popx-account-page .popx-account-login__native form {
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  background: transparent !important; box-shadow: none !important;
}
body.popx-account-page .popx-account-login__native :is(.form-row, .woocommerce-form-row) {
  margin: 0 0 17px !important; padding: 0 !important; float:none !important; max-width:none;
}
body.popx-account-page .popx-account-login__native label { font-weight: 650; font-size: .9rem; margin-bottom: 7px; display: inline-block; }
body.popx-account-page .popx-account-login__native :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"]) {
  display:block; width:100%; min-width:0; max-width:100%; min-height: 51px;
  border:1px solid var(--popx-account-stroke); border-radius: 11px;
  padding: 11px 14px; font-size:16px; font-family:inherit;
  background:var(--popx-account-surface); color:var(--popx-account-ink);
}
body.popx-account-page .popx-account-login__native input:focus-visible,
body.popx-account-page .popx-account-login__native button:focus-visible,
body.popx-account-page .popx-account-login__native a:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
body.popx-account-page .popx-account-login__native :is(.woocommerce-button, button.button) {
  min-height: 50px; border-radius:11px; font-size: .98rem; font-weight:750;
  padding: 12px 22px; cursor:pointer;
  /* Los colores del botón proceden del tema WooCommerce/Astra. */
}
body.popx-account-page .popx-account-login__native .woocommerce-form-login__rememberme {
  display: inline-flex; align-items:center; gap: 9px;
}
body.popx-account-page .popx-account-login__native input[type="checkbox"] { margin: 0; width: 18px; height: 18px; }
body.popx-account-page .popx-account-login__native a { text-underline-offset: 3px; }
body.popx-account-page .popx-account-login__native .lost_password { margin-top: 13px; }
/* WooCommerce mantiene intactos sus endpoints y navegación de cuenta. */
body.popx-account-page .woocommerce-MyAccount-navigation ul {
  margin:0; padding:0; list-style:none;
}
body.popx-account-page .woocommerce-MyAccount-navigation li a { display:block; padding:12px 15px; border-bottom:1px solid rgba(120,120,120,.15); }
body.popx-account-page .woocommerce-MyAccount-navigation li.is-active a { font-weight:800; }
@media (max-width: 900px) {
  body.popx-account-page .popx-account-login { grid-template-columns: 1fr; }
  body.popx-account-page .popx-account-login__brand { min-height: 0; padding: 29px 28px; gap:18px; }
  body.popx-account-page .popx-account-login__brand-top { min-height: 45px; }
  body.popx-account-page .popx-account-login__logo { max-height: 58px; }
  body.popx-account-page .popx-account-login__brand-main > p:last-of-type { max-width: 630px; }
  body.popx-account-page .popx-account-login__brand h2 { font-size: clamp(1.8rem,5vw,2.8rem); margin: 8px 0 12px; }
  body.popx-account-page .popx-account-login__brand-foot { display: none; }
  body.popx-account-page .popx-account-login__media { display:none; }
  body.popx-account-page .popx-account-login__content { max-width: none; padding: 30px 28px 40px; }
}
@media (max-width: 480px) {
  body.popx-account-page .popx-account-login { border-radius:16px; margin:0 auto 30px; }
  body.popx-account-page .popx-account-login__brand { padding:23px 20px; }
  body.popx-account-page .popx-account-login__brand h2 { font-size: 1.75rem; }
  body.popx-account-page .popx-account-login__content { padding: 26px 20px 32px; }
  body.popx-account-page .popx-account-login__native :is(.woocommerce-button, button.button) { width:100%; }
}
@media (prefers-reduced-motion: reduce) {
  body.popx-account-page .popx-account-login * { scroll-behavior: auto !important; transition: none !important; }
}
