/* =========================================================
   SOAR · Mi cuenta
   Lo carga soar-cargar.php (parte 1i). Todo va dentro de #soar-cuenta para que el tema
   y los estilos de WooCommerce no lo pisen (por eso algunas reglas llevan !important).
   Los íconos del menú los agrega el snippet (son los mismos del resto del sitio).

   Formas: campos 12px · tarjetas 18px · botones y etiquetas en píldora.
   ========================================================= */

/* ---------- Página ---------- */
html:has(body.soar-cuenta-page) { overflow-x: clip; }
body.soar-cuenta-page { background: #F4F6FA; }
body.soar-cuenta-page :is(.hero-section, .entry-header, .page-header) { display: none !important; }
body.soar-cuenta-page [data-vertical-spacing*="top"] { padding-top: 0 !important; }

#soar-cuenta {
  /* COLORES */
  --sa-buy: #048DEF;             /* botones de compra (Pagar, Ir a la tienda) */
  --sa-buy-hover: #0379CF;
  --sa-green: #25D366;           /* WhatsApp */
  --sa-green-hover: #1EBE5B;

  --sa-paper: #F4F6FA;
  --sa-white: #FFFFFF;
  --sa-ink: #0D1530;
  --sa-ink-soft: #2E3858;
  --sa-muted: #4A5578;
  --sa-faint: #6B7491;
  --sa-line: rgb(13 21 48 / .1);
  --sa-line-strong: rgb(13 21 48 / .2);
  --sa-blue: #0A3D7E;
  --sa-blue-hover: #072C5C;
  --sa-blue-wash: rgb(10 61 126 / .08);
  --sa-error: #B42318;
  --sa-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
  --sa-body: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --sa-ease: cubic-bezier(.23, 1, .32, 1);
  --sa-r-control: 12px;
  --sa-r-surface: 18px;
  --sa-top: calc(var(--sh-h, 72px) + 20px);

  display: block;
  max-width: 1290px;
  margin: 0 auto clamp(48px, 7vw, 96px);
  color: var(--sa-ink);
  font-family: var(--sa-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
  text-align: left;
  -webkit-font-smoothing: antialiased;
}
body.admin-bar #soar-cuenta { --sa-top: calc(var(--sh-h, 72px) + 52px); }

/* ---------- Base aislada del tema ---------- */
#soar-cuenta, #soar-cuenta *, #soar-cuenta *::before, #soar-cuenta *::after { box-sizing: border-box; }
#soar-cuenta :is(h1, h2, h3, p, ul, ol, li, dl, dt, dd, form, label, table, thead, tbody, tfoot, tr, th, td, section, fieldset, legend, header, nav, address) { margin: 0; padding: 0; border: 0; background: none; font: inherit; color: inherit; text-transform: none; letter-spacing: inherit; max-width: none; min-width: 0; text-align: left; }
#soar-cuenta :is(ul, ol) { list-style: none; }
#soar-cuenta a { color: inherit; text-decoration: none; box-shadow: none; }
#soar-cuenta img { display: block; max-width: 100%; height: auto; border: 0; box-shadow: none; }
#soar-cuenta svg { display: block; flex: none; }
#soar-cuenta .sp-ico { width: 20px; height: 20px; }
#soar-cuenta :is(button, input, select, textarea) { margin: 0; font: inherit; color: inherit; letter-spacing: inherit; text-transform: none; }
#soar-cuenta :focus-visible { outline: 2px solid var(--sa-blue); outline-offset: 2px; }
#soar-cuenta ::selection { background: rgb(10 61 126 / .18); color: var(--sa-ink); }
#soar-cuenta .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
#soar-cuenta td::before, #soar-cuenta th::before { content: none !important; display: none !important; }
#soar-cuenta :is(.col2-set, .u-columns)::before,
#soar-cuenta :is(.col2-set, .u-columns)::after { display: none !important; }
#soar-cuenta mark { background: none; color: inherit; font-weight: 600; }

/* ---------- Distribución con sesión: menú a la izquierda, contenido a la derecha ----------
   Se aplica al elemento que contiene el contenido de la cuenta, aunque el tema agregue sus propios recuadros. */
#soar-cuenta :has(> .woocommerce-MyAccount-content) { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 20px 32px; align-items: start; }
#soar-cuenta :has(> .woocommerce-MyAccount-content) > * { grid-column: 1 / -1; min-width: 0; }
#soar-cuenta :has(> .woocommerce-MyAccount-content) > :is(.woocommerce-MyAccount-navigation, :has(.woocommerce-MyAccount-navigation)) { grid-column: 1; position: sticky; top: var(--sa-top); width: auto !important; max-width: none !important; float: none !important; }
#soar-cuenta :has(> .woocommerce-MyAccount-content) > .woocommerce-MyAccount-content { grid-column: 2; width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; display: grid; gap: 16px; }
/* Recuadro que pone el tema alrededor del menú: sin fondo ni bordes */
#soar-cuenta :has(> .woocommerce-MyAccount-content) > :has(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-navigation) { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
#soar-cuenta .woocommerce-MyAccount-navigation { width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }

/* ---------- Encabezado ---------- */
#soar-cuenta .sa-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 24px; padding: 28px 0 24px; }
#soar-cuenta .woocommerce > .sa-head { padding-bottom: 16px; } /* encabezado sin sesión (va dentro de WooCommerce) */
#soar-cuenta .sa-title { font-family: var(--sa-display); font-weight: 740; font-size: 2.25rem; line-height: 1.1; letter-spacing: -.03em; overflow-wrap: anywhere; }
#soar-cuenta .sa-sub { margin-top: 6px; color: var(--sa-muted); font-size: .9375rem; overflow-wrap: anywhere; }
#soar-cuenta .sa-head--guest .sa-sub { max-width: 56ch; }
#soar-cuenta .sa-logout { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--sa-line-strong); color: var(--sa-ink); font-size: .875rem; font-weight: 560; transition: box-shadow 160ms ease, transform 140ms var(--sa-ease); }
#soar-cuenta .sa-logout .sp-ico { width: 18px; height: 18px; }
#soar-cuenta .sa-logout:active { transform: scale(.97); }

/* ---------- Menú ---------- */
#soar-cuenta .woocommerce-MyAccount-navigation ul { display: grid; gap: 4px; padding: 8px; border-radius: var(--sa-r-surface); background: var(--sa-white); box-shadow: 0 0 0 1px var(--sa-line); }
#soar-cuenta .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; border: 0 !important; list-style: none; }
#soar-cuenta .woocommerce-MyAccount-navigation li::before { display: none !important; }
#soar-cuenta .woocommerce-MyAccount-navigation-link--customer-logout { display: none !important; } /* "Cerrar sesión" ya está arriba */
#soar-cuenta .woocommerce-MyAccount-navigation a {
  display: flex !important;
  align-items: center;
  gap: 12px;
  min-height: 46px;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 12px;
  background: none !important;
  color: var(--sa-ink-soft) !important;
  font-size: .9375rem;
  font-weight: 540;
  transition: background-color 140ms ease, color 140ms ease;
}
#soar-cuenta .woocommerce-MyAccount-navigation a svg,
#soar-cuenta .woocommerce-MyAccount-navigation a i { display: none !important; } /* íconos del tema */
#soar-cuenta .woocommerce-MyAccount-navigation a::before {
  content: "" !important;
  display: block !important;
  flex: none;
  width: 20px;
  height: 20px;
  margin: 0 !important;
  background-color: currentColor !important;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  font-size: 0 !important;
  opacity: .8;
}
#soar-cuenta .woocommerce-MyAccount-navigation li.is-active a { background: var(--sa-blue-wash) !important; color: var(--sa-blue) !important; font-weight: 640; }
#soar-cuenta .woocommerce-MyAccount-navigation li.is-active a::before { opacity: 1; }

/* ---------- Tarjetas, botones y estados ---------- */
#soar-cuenta .sa-card { padding: 22px 24px 24px; border-radius: var(--sa-r-surface); background: var(--sa-white); box-shadow: 0 0 0 1px var(--sa-line); }
#soar-cuenta .sa-card__title { font-family: var(--sa-display); font-weight: 700; font-size: 1.25rem; line-height: 1.25; letter-spacing: -.015em; }
#soar-cuenta .sa-card__text { margin-top: 6px; max-width: 60ch; color: var(--sa-muted); font-size: .9375rem; line-height: 1.5; text-wrap: pretty; }
#soar-cuenta .sa-card__note { margin-top: 12px; color: var(--sa-faint); font-size: .8125rem; line-height: 1.45; }

#soar-cuenta :is(.sa-btn, .woocommerce-Button, .woocommerce-button, button.button, a.button) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 46px;
  margin: 0;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--sa-blue) !important;
  color: #F5F8FF !important;
  font-family: var(--sa-body);
  font-size: .9375rem !important;
  font-weight: 620 !important;
  line-height: 1 !important;
  white-space: nowrap;
  text-decoration: none !important;
  cursor: pointer;
  transition: background-color 180ms ease, box-shadow 160ms ease, transform 140ms var(--sa-ease);
}
#soar-cuenta :is(.sa-btn, .woocommerce-Button, .woocommerce-button, button.button, a.button):active { transform: scale(.97); }
#soar-cuenta .sa-btn .sp-ico { width: 18px; height: 18px; }
#soar-cuenta .sa-btn.sa-btn--buy { background: var(--sa-buy) !important; color: #FFF !important; }
#soar-cuenta .sa-btn.sa-btn--wa { background: var(--sa-green) !important; color: var(--sa-ink) !important; }
#soar-cuenta .sa-btn.sa-btn--ghost { background: var(--sa-white) !important; color: var(--sa-ink) !important; box-shadow: inset 0 0 0 1px var(--sa-line-strong); }
#soar-cuenta .sa-link { color: var(--sa-blue); font-size: .9375rem; font-weight: 560; text-decoration: underline; text-decoration-color: rgb(10 61 126 / .3); text-underline-offset: 3px; }

#soar-cuenta .sa-status { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 999px; font-size: .8125rem; font-weight: 620; white-space: nowrap; vertical-align: middle; }
#soar-cuenta .sa-status--info { background: var(--sa-blue-wash); color: var(--sa-blue); }
#soar-cuenta .sa-status--ok { background: rgb(21 122 58 / .1); color: #11692F; }
#soar-cuenta .sa-status--warn { background: #FFF1D6; color: #7A4F00; }
#soar-cuenta .sa-status--off { background: #E9ECF2; color: var(--sa-muted); }
#soar-cuenta .sa-status--bad { background: rgb(180 35 24 / .09); color: #8A1C12; }

/* ---------- Inicio ---------- */
#soar-cuenta .woocommerce-MyAccount-content > p:has(~ .sa-dash) { display: none; } /* el texto de bienvenida de WooCommerce */
#soar-cuenta .sa-dash { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#soar-cuenta .sa-last { grid-column: 1 / -1; }
#soar-cuenta .sa-last__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-top: 14px; }
#soar-cuenta .sa-last__num { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 1.0625rem; font-weight: 640; }
#soar-cuenta .sa-last__meta { margin-top: 4px; color: var(--sa-muted); font-size: .9063rem; font-variant-numeric: tabular-nums; }
#soar-cuenta .sa-last__meta strong { color: var(--sa-ink); font-weight: 640; }
#soar-cuenta .sa-last__imgs { display: flex; gap: 8px; }
#soar-cuenta .sa-last__imgs li { width: 56px; height: 56px; border-radius: 12px; background: var(--sa-white); box-shadow: 0 0 0 1px var(--sa-line); overflow: hidden; }
#soar-cuenta .sa-last__imgs img { width: 100% !important; height: 100% !important; padding: 5px; object-fit: contain; mix-blend-mode: multiply; }
#soar-cuenta .sa-last__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 18px; }
#soar-cuenta .sa-help__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
#soar-cuenta .sa-tax__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; margin-top: 14px; }
#soar-cuenta .sa-tax__list dt { color: var(--sa-muted); font-size: .8125rem; }
#soar-cuenta .sa-tax__list dd { color: var(--sa-ink); font-size: .9375rem; font-weight: 560; overflow-wrap: anywhere; }

/* ---------- Avisos ---------- */
#soar-cuenta .woocommerce-notices-wrapper:empty { display: none; }
#soar-cuenta :is(.woocommerce-message, .woocommerce-error, .woocommerce-info) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin: 0;
  padding: 14px 18px;
  border: 0;
  border-radius: 14px;
  background: var(--sa-white);
  box-shadow: 0 0 0 1px var(--sa-line);
  color: var(--sa-ink);
  font-size: .9375rem;
  list-style: none;
  justify-content: flex-start;
  text-align: left !important;
}
#soar-cuenta :is(.woocommerce-message, .woocommerce-error, .woocommerce-info)::before { display: none; }
#soar-cuenta .woocommerce-error { display: grid; gap: 4px; box-shadow: 0 0 0 1px rgb(180 35 24 / .35); color: #8A1C12; }
/* Avisos fuera de la cuenta (por ejemplo "Tu contraseña se ha restablecido"): a todo lo ancho y separados de los recuadros */
#soar-cuenta .woocommerce > .woocommerce-notices-wrapper { width: auto !important; max-width: none !important; margin: 0 0 16px !important; padding: 0 !important; text-align: left; }
#soar-cuenta .woocommerce-notices-wrapper:empty { margin: 0 !important; }
#soar-cuenta .woocommerce-notices-wrapper > * + * { margin-top: 8px; }
#soar-cuenta :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) { width: auto !important; max-width: none !important; }
/* Aviso de éxito con palomita verde */
#soar-cuenta .woocommerce-message { padding-left: 48px; position: relative; }
#soar-cuenta .woocommerce-message::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 16px;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background: #157A3A;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
#soar-cuenta .woocommerce-info .button { order: 2; margin-left: auto !important; }

/* ---------- Mis pedidos ---------- */
#soar-cuenta table.woocommerce-orders-table { display: block; width: 100%; margin: 0; border: 0 !important; background: none; }
#soar-cuenta .woocommerce-orders-table thead { display: none; }
#soar-cuenta .woocommerce-orders-table tbody { display: grid; gap: 12px; }
#soar-cuenta .woocommerce-orders-table tr.order {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  grid-template-areas: "num status total" "date status total" "actions actions actions";
  gap: 4px 24px;
  align-items: center;
  padding: 18px 20px;
  border-radius: var(--sa-r-surface);
  background: var(--sa-white);
  box-shadow: 0 0 0 1px var(--sa-line);
}
#soar-cuenta .woocommerce-orders-table :is(th, td) { display: block; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important; font-size: .9375rem; font-weight: 400; }
#soar-cuenta .woocommerce-orders-table__cell-order-number { grid-area: num; font-size: 1.0625rem !important; font-weight: 640 !important; }
#soar-cuenta .woocommerce-orders-table__cell-order-number a { color: var(--sa-ink); }
#soar-cuenta .woocommerce-orders-table__cell-order-date { grid-area: date; color: var(--sa-muted); font-size: .875rem !important; }
#soar-cuenta .woocommerce-orders-table__cell-order-status { grid-area: status; }
#soar-cuenta .woocommerce-orders-table__cell-order-total { grid-area: total; color: var(--sa-muted); font-size: .875rem !important; text-align: right !important; font-variant-numeric: tabular-nums; }
#soar-cuenta .woocommerce-orders-table__cell-order-total .amount { display: block; color: var(--sa-ink); font-family: var(--sa-display); font-size: 1.125rem; font-weight: 700; }
#soar-cuenta .woocommerce-orders-table__cell-order-actions { grid-area: actions; display: flex !important; flex-wrap: wrap; gap: 8px; margin-top: 12px; padding-top: 14px !important; box-shadow: inset 0 1px 0 var(--sa-line); }
#soar-cuenta .woocommerce-orders-table__cell-order-actions .button { height: 40px; padding: 0 16px !important; font-size: .875rem !important; }
#soar-cuenta .woocommerce-orders-table__cell-order-actions .button.view { background: var(--sa-white) !important; color: var(--sa-ink) !important; box-shadow: inset 0 0 0 1px var(--sa-line-strong); }
#soar-cuenta .woocommerce-orders-table__cell-order-actions .button.pay { background: var(--sa-buy) !important; }
#soar-cuenta .woocommerce-pagination { display: flex; justify-content: space-between; gap: 12px; margin-top: 4px; }

/* ---------- Ver un pedido ---------- */
#soar-cuenta .woocommerce-MyAccount-content > p:has(mark.order-number) { padding: 18px 20px; border-radius: var(--sa-r-surface); background: var(--sa-white); box-shadow: 0 0 0 1px var(--sa-line); color: var(--sa-ink-soft); font-size: 1rem; line-height: 1.6; }
#soar-cuenta mark.order-status { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 999px; background: var(--sa-blue-wash); color: var(--sa-blue); font-size: .875rem; }
#soar-cuenta .woocommerce-OrderUpdates { display: grid; gap: 8px; }
#soar-cuenta .woocommerce-OrderUpdate { padding: 12px 16px; border-radius: 12px; background: var(--sa-white); box-shadow: 0 0 0 1px var(--sa-line); }
#soar-cuenta .woocommerce-OrderUpdate-meta { color: var(--sa-faint); font-size: .8125rem; }
#soar-cuenta :is(.woocommerce-order-details, .woocommerce-customer-details) { margin: 0; padding: 22px 24px 24px; border-radius: var(--sa-r-surface); background: var(--sa-white); box-shadow: 0 0 0 1px var(--sa-line); }
#soar-cuenta :is(.woocommerce-order-details__title, .woocommerce-column__title) { margin-bottom: 12px; padding: 0; border: 0; font-family: var(--sa-display); font-weight: 700; font-size: 1.25rem; line-height: 1.25; letter-spacing: -.015em; }
#soar-cuenta table.order_details { display: block; width: 100%; margin: 0; border: 0 !important; }
#soar-cuenta table.order_details thead { display: none; }
#soar-cuenta table.order_details :is(tbody, tfoot) { display: block; }
#soar-cuenta table.order_details tr { display: flex; justify-content: space-between; align-items: baseline; gap: 4px 16px; padding: 12px 0; box-shadow: inset 0 -1px 0 var(--sa-line); }
#soar-cuenta table.order_details :is(th, td) { display: block; width: auto; padding: 0 !important; border: 0 !important; background: none !important; font-size: .9375rem; font-weight: 400; }
#soar-cuenta table.order_details td.product-name { flex: 1; }
#soar-cuenta table.order_details td.product-name a { font-weight: 560; }
#soar-cuenta table.order_details :is(td.product-total, tfoot td) { margin-left: auto; text-align: right !important; font-weight: 560; font-variant-numeric: tabular-nums; }
#soar-cuenta table.order_details tfoot th { color: var(--sa-muted); }
#soar-cuenta table.order_details tfoot tr:last-child { box-shadow: none; }
#soar-cuenta .woocommerce-customer-details .woocommerce-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
#soar-cuenta .woocommerce-customer-details .woocommerce-column { width: auto; float: none; margin: 0; padding: 0; }
#soar-cuenta .woocommerce-customer-details address { padding: 0; border: 0 !important; color: var(--sa-ink-soft); font-style: normal; line-height: 1.6; }
#soar-cuenta .woocommerce-customer-details address p { margin-top: 4px; }
#soar-cuenta .sa-order-help { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 16px 20px; border-radius: var(--sa-r-surface); background: var(--sa-blue-wash); color: var(--sa-ink-soft); font-size: .9375rem; }
#soar-cuenta .order-again { display: none; } /* "Pedir de nuevo": se puede activar quitando esta línea */

/* ---------- Direcciones ---------- */
#soar-cuenta .woocommerce-MyAccount-content > p:has(+ .woocommerce-Addresses) { color: var(--sa-muted); font-size: .9375rem; }
#soar-cuenta .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#soar-cuenta .woocommerce-Address { width: auto !important; float: none !important; margin: 0 !important; padding: 22px 24px 24px; border-radius: var(--sa-r-surface); background: var(--sa-white); box-shadow: 0 0 0 1px var(--sa-line); }
#soar-cuenta .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
#soar-cuenta .woocommerce-Address-title::before, #soar-cuenta .woocommerce-Address-title::after { display: none; }
#soar-cuenta .woocommerce-Address-title h2 { font-family: var(--sa-display); font-weight: 700; font-size: 1.125rem; line-height: 1.25; }
#soar-cuenta .woocommerce-Address-title h2 { min-width: 0; }
#soar-cuenta .woocommerce-Address-title a.edit::before { content: ""; width: 15px; height: 15px; flex: none; background: currentColor; -webkit-mask: no-repeat center / contain; mask: no-repeat center / contain; }
#soar-cuenta .woocommerce-Address-title a.edit { flex: none; gap: 6px; white-space: nowrap; display: inline-flex; align-items: center; height: 34px; padding: 0 14px 0 12px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--sa-line-strong); font-size: .8125rem; font-weight: 600; float: none; transition: box-shadow 160ms ease; }
#soar-cuenta .woocommerce-Address address { color: var(--sa-ink-soft); font-style: normal; line-height: 1.6; }

/* ---------- Formularios (direcciones, mis datos, acceso) ---------- */
#soar-cuenta :is(.woocommerce-address-fields, form.edit-account, form.login, form.register, form.lost_reset_password) { display: grid; gap: 16px; }
#soar-cuenta .woocommerce-MyAccount-content > form,
#soar-cuenta .woocommerce-MyAccount-content > :is(.woocommerce-address-fields, form) { padding: 24px; border-radius: var(--sa-r-surface); background: var(--sa-white); box-shadow: 0 0 0 1px var(--sa-line); }
#soar-cuenta .woocommerce-MyAccount-content > form > h2,
#soar-cuenta .woocommerce-MyAccount-content > form > h3 { font-family: var(--sa-display); font-weight: 700; font-size: 1.25rem; line-height: 1.25; letter-spacing: -.015em; }
#soar-cuenta :is(.woocommerce-address-fields__field-wrapper, form.edit-account) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#soar-cuenta form.edit-account > :is(fieldset, .clear, p:not(.form-row-first):not(.form-row-last), div) { grid-column: 1 / -1; }
#soar-cuenta .form-row { grid-column: 1 / -1; width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; }
#soar-cuenta .form-row::before, #soar-cuenta .form-row::after { display: none !important; } /* espacios invisibles de WooCommerce */
#soar-cuenta .form-row-first { grid-column: 1; }
#soar-cuenta .form-row-last { grid-column: 2; }
#soar-cuenta .clear { display: none; }
#soar-cuenta .form-row:has(#account_display_name) { display: none !important; } /* "Nombre visible": no hace falta */
#soar-cuenta .form-row label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) { display: block; margin: 0 0 6px; color: var(--sa-ink); font-size: .875rem; font-weight: 600; line-height: 1.3; }
#soar-cuenta .form-row :is(.required, abbr.required) { color: var(--sa-error); text-decoration: none; border: 0; font-weight: 600; }
#soar-cuenta .form-row .optional { color: var(--sa-faint); font-weight: 400; }
#soar-cuenta .form-row :is(.woocommerce-input-wrapper, .password-input) { position: relative; display: block; width: 100%; }
#soar-cuenta .form-row :is(input.input-text, input[type="email"], input[type="password"], input[type="text"], input[type="tel"], select:not(.select2-hidden-accessible), textarea) {
  display: block;
  width: 100% !important;
  height: 48px;
  margin: 0;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: var(--sa-r-control) !important;
  outline: 0;
  background: var(--sa-white) !important;
  box-shadow: inset 0 0 0 1px var(--sa-line-strong) !important;
  color: var(--sa-ink) !important;
  font-size: 1rem !important;
  transition: box-shadow 160ms ease;
}
#soar-cuenta .form-row :is(input.input-text, select:not(.select2-hidden-accessible)):hover { box-shadow: inset 0 0 0 1px var(--sa-muted) !important; }
#soar-cuenta .form-row :is(input.input-text, select:not(.select2-hidden-accessible), textarea):focus { box-shadow: inset 0 0 0 1.5px var(--sa-blue) !important; }
#soar-cuenta .form-row select:not(.select2-hidden-accessible) { -webkit-appearance: none; appearance: none; padding-right: 40px !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%234A5578'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 16px !important; }
#soar-cuenta .form-row em,
#soar-cuenta .form-row .description { display: block; margin-top: 6px; color: var(--sa-faint); font-size: .8125rem; font-style: normal; }
#soar-cuenta .show-password-input { position: absolute !important; top: 0 !important; right: 4px !important; display: grid !important; place-items: center; width: 44px; height: 48px !important; margin: 0 !important; padding: 0 !important; border: 0; background: none !important; color: var(--sa-muted); cursor: pointer; transform: none !important; }
#soar-cuenta .show-password-input::after { position: static !important; margin: 0 !important; color: inherit !important; }
#soar-cuenta fieldset { display: grid; gap: 16px; margin: 4px 0 0 !important; padding: 20px 0 0 !important; border: 0 !important; box-shadow: inset 0 1px 0 var(--sa-line); }
#soar-cuenta fieldset legend { float: left; width: 100%; margin-bottom: 4px; padding: 0; font-family: var(--sa-display); font-weight: 700; font-size: 1.125rem; }
#soar-cuenta fieldset legend + * { clear: left; }
#soar-cuenta :is(label.checkbox, .woocommerce-form__label-for-checkbox) { display: inline-flex !important; align-items: center; gap: 10px; color: var(--sa-ink); font-size: .9375rem; font-weight: 500; cursor: pointer; }
#soar-cuenta input[type="checkbox"] { -webkit-appearance: auto; appearance: auto; width: 18px; height: 18px; margin: 0 !important; border: 0; background: none; accent-color: var(--sa-blue); }
/* Select con buscador (país y estado) */
#soar-cuenta .select2-container { width: 100% !important; }
#soar-cuenta .select2-container .select2-selection--single { height: 48px; border: 0; border-radius: var(--sa-r-control); box-shadow: inset 0 0 0 1px var(--sa-line-strong); }
#soar-cuenta .select2-container .select2-selection__rendered { padding: 0 40px 0 14px !important; line-height: 48px !important; color: var(--sa-ink) !important; }
#soar-cuenta .select2-container .select2-selection__arrow { top: 0 !important; right: 10px !important; height: 48px !important; }
#soar-cuenta .select2-container strong { font-weight: inherit; }

/* ---------- Sin sesión: iniciar sesión y crear cuenta ---------- */
#soar-cuenta .sa-head--guest { padding-bottom: 8px; }
#soar-cuenta #customer_login { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
#soar-cuenta #customer_login > :is(.u-column1, .u-column2) { width: auto !important; float: none !important; margin: 0 !important; padding: 26px 26px 28px; border-radius: var(--sa-r-surface); background: var(--sa-white); box-shadow: 0 0 0 1px var(--sa-line); }
#soar-cuenta #customer_login > :only-child { max-width: 480px; }
#soar-cuenta #customer_login h2 { margin-bottom: 16px; font-family: var(--sa-display); font-weight: 700; font-size: 1.375rem; line-height: 1.2; letter-spacing: -.02em; }
#soar-cuenta :is(form.login, form.register, form.lost_reset_password) { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; }
#soar-cuenta form.login .form-row:has(.woocommerce-form-login__submit) { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
#soar-cuenta form.login .woocommerce-form-login__submit { order: 2; }
#soar-cuenta form.login .form-row:has(.woocommerce-form-login__submit) > label { order: 1; margin-right: auto; }
#soar-cuenta .lost_password a,
#soar-cuenta .woocommerce-privacy-policy-text a { color: var(--sa-blue); font-weight: 560; text-decoration: underline; text-decoration-color: rgb(10 61 126 / .3); text-underline-offset: 3px; }
#soar-cuenta .lost_password { font-size: .9063rem; }
#soar-cuenta .woocommerce-privacy-policy-text p,
#soar-cuenta form.register > p:not(.form-row) { color: var(--sa-faint); font-size: .8125rem; line-height: 1.45; }
#soar-cuenta form.register .woocommerce-form-register__submit,
#soar-cuenta form.register button[type="submit"] { width: 100%; background: var(--sa-buy) !important; }
#soar-cuenta .sa-perks { display: grid; gap: 10px; margin-bottom: 4px; }
#soar-cuenta .sa-perks li { display: flex; align-items: center; gap: 12px; color: var(--sa-ink-soft); font-size: .9063rem; line-height: 1.35; }
#soar-cuenta .sa-perks .sp-ico { width: 20px; height: 20px; color: var(--sa-blue); }
/* Solo "Iniciar sesión" (cuando el registro en Mi cuenta está apagado, WooCommerce no pone los dos recuadros) */
#soar-cuenta .woocommerce > h2:has(+ form.login) { display: none; }
#soar-cuenta .woocommerce > form.login { max-width: 480px; margin-top: 16px !important; padding: 26px 26px 28px !important; border-radius: var(--sa-r-surface) !important; background: var(--sa-white); box-shadow: 0 0 0 1px var(--sa-line); }
#soar-cuenta .woocommerce > form.login::before { content: "Iniciar sesión"; font-family: var(--sa-display); font-weight: 700; font-size: 1.375rem; line-height: 1.2; letter-spacing: -.02em; }
#soar-cuenta form.login .woocommerce-form-login__submit { width: auto !important; }
/* Olvidé mi contraseña y nueva contraseña: un campo debajo de otro */
#soar-cuenta form.lost_reset_password .form-row { grid-column: 1 / -1; }
#soar-cuenta form.lost_reset_password button[type="submit"] { justify-self: start; }
/* Medidor de seguridad de la contraseña (nueva contraseña, crear cuenta y Mis datos) */
#soar-cuenta .woocommerce-password-strength { display: inline-flex; align-items: center; margin-top: 8px; padding: 4px 10px; border: 0 !important; border-radius: 999px; font-size: .8125rem; font-weight: 600; text-align: left; }
#soar-cuenta .woocommerce-password-strength.short,
#soar-cuenta .woocommerce-password-strength.bad { background: rgb(180 35 24 / .09) !important; color: #8A1C12 !important; }
#soar-cuenta .woocommerce-password-strength.good { background: #FFF1D6 !important; color: #7A4F00 !important; }
#soar-cuenta .woocommerce-password-strength.strong { background: rgb(21 122 58 / .1) !important; color: #11692F !important; }
#soar-cuenta .woocommerce-password-hint { display: block; margin-top: 6px; color: var(--sa-faint); font-size: .8125rem; line-height: 1.45; }
/* Olvidé mi contraseña */
#soar-cuenta form.lost_reset_password { max-width: 520px; padding: 26px !important; border-radius: var(--sa-r-surface) !important; background: var(--sa-white); box-shadow: 0 0 0 1px var(--sa-line); }
#soar-cuenta form.lost_reset_password > p:first-child { color: var(--sa-muted); font-size: .9375rem; }

/* ---------- Pantallas de un solo formulario (iniciar sesión sin registro, olvidé mi contraseña,
   nueva contraseña): todo en una columna al centro ---------- */
#soar-cuenta .woocommerce:has(> form.lost_reset_password),
#soar-cuenta .woocommerce:has(> form.login) { max-width: 460px; margin-inline: auto; }
#soar-cuenta .woocommerce:has(> form.lost_reset_password) > .sa-head,
#soar-cuenta .woocommerce:has(> form.login) > .sa-head { flex-direction: column-reverse; align-items: center; gap: 16px; padding: 40px 0 20px; text-align: center; }
#soar-cuenta .woocommerce:has(> form.lost_reset_password) > .sa-head .sa-title,
#soar-cuenta .woocommerce:has(> form.login) > .sa-head .sa-title { font-size: 2rem; text-wrap: balance; }
#soar-cuenta .woocommerce:has(> form.login) > .sa-head .sa-sub { margin-inline: auto; max-width: 40ch; text-wrap: balance; }
#soar-cuenta .woocommerce:has(> form.lost_reset_password) > .sa-head :is(.sa-title, .sa-sub),
#soar-cuenta .woocommerce:has(> form.login) > .sa-head :is(.sa-title, .sa-sub) { text-align: center; }
/* "Volver a iniciar sesión": enlace discreto arriba del título */
#soar-cuenta .woocommerce:has(> form.lost_reset_password) > .sa-head .sa-logout { height: auto; padding: 4px 6px; border-radius: 8px; box-shadow: none; color: var(--sa-blue); font-weight: 560; }
#soar-cuenta .woocommerce:has(> form.lost_reset_password) > .sa-head .sa-logout .sp-ico { width: 16px; height: 16px; transition: transform 200ms var(--sa-ease); }
#soar-cuenta .woocommerce > form.lost_reset_password,
#soar-cuenta .woocommerce > form.login { max-width: none; margin-top: 0 !important; }
#soar-cuenta .woocommerce:has(> form.login) > .woocommerce-notices-wrapper:not(:empty) { margin-bottom: 12px; }

/* ---------- Pasar el mouse (solo computadoras) ---------- */
@media (hover: hover) and (pointer: fine) {
  #soar-cuenta .woocommerce-MyAccount-navigation li:not(.is-active) a:hover { background: var(--sa-paper) !important; color: var(--sa-ink) !important; }
  #soar-cuenta .woocommerce:has(> form.lost_reset_password) > .sa-head .sa-logout:hover { box-shadow: none; text-decoration: underline; text-underline-offset: 3px; }
  #soar-cuenta .woocommerce:has(> form.lost_reset_password) > .sa-head .sa-logout:hover .sp-ico { transform: translateX(-3px); }
  #soar-cuenta .sa-logout:hover,
  #soar-cuenta .woocommerce-Address-title a.edit:hover { box-shadow: inset 0 0 0 1px var(--sa-ink); }
  #soar-cuenta :is(.sa-btn, .woocommerce-Button, .woocommerce-button, button.button, a.button):hover { background: var(--sa-blue-hover) !important; }
  #soar-cuenta .sa-btn.sa-btn--buy:hover,
  #soar-cuenta form.register button[type="submit"]:hover,
  #soar-cuenta .woocommerce-orders-table__cell-order-actions .button.pay:hover { background: var(--sa-buy-hover) !important; }
  #soar-cuenta .sa-btn.sa-btn--wa:hover { background: var(--sa-green-hover) !important; }
  #soar-cuenta :is(.sa-btn.sa-btn--ghost, .woocommerce-orders-table__cell-order-actions .button.view):hover { background: var(--sa-white) !important; box-shadow: inset 0 0 0 1px var(--sa-ink); }
  #soar-cuenta .sa-link:hover,
  #soar-cuenta .lost_password a:hover { text-decoration-color: currentColor; }
}

/* ---------- Tablet y celular ---------- */
@media (max-width: 1023px) {
  #soar-cuenta :has(> .woocommerce-MyAccount-content) { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  #soar-cuenta :has(> .woocommerce-MyAccount-content) > :is(.woocommerce-MyAccount-navigation, :has(.woocommerce-MyAccount-navigation), .woocommerce-MyAccount-content) { grid-column: 1; position: static; }
  /* Menú en una fila que se desliza de lado */
  #soar-cuenta .woocommerce-MyAccount-navigation { margin: 0 calc(var(--sa-pad, 0px) * -1); }
  #soar-cuenta .woocommerce-MyAccount-navigation ul { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px; border-radius: 0; background: none; box-shadow: none; }
  #soar-cuenta .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
  #soar-cuenta .woocommerce-MyAccount-navigation li { flex: none; }
  #soar-cuenta .woocommerce-MyAccount-navigation a { min-height: 42px; padding: 0 14px !important; border-radius: 999px; background: var(--sa-white) !important; box-shadow: inset 0 0 0 1px var(--sa-line); font-size: .875rem; white-space: nowrap; }
  #soar-cuenta .woocommerce-MyAccount-navigation a::before { width: 18px; height: 18px; }
  #soar-cuenta .woocommerce-MyAccount-navigation li.is-active a { box-shadow: inset 0 0 0 1.5px var(--sa-blue); }
}
@media (max-width: 767px) {
  #soar-cuenta .sa-dash,
  #soar-cuenta .woocommerce-Addresses,
  #soar-cuenta #customer_login { grid-template-columns: minmax(0, 1fr); }
  #soar-cuenta .sa-tax__list { grid-template-columns: minmax(0, 1fr); }
  #soar-cuenta :is(.woocommerce-address-fields__field-wrapper, form.edit-account) { grid-template-columns: minmax(0, 1fr); }
  #soar-cuenta :is(.form-row-first, .form-row-last) { grid-column: 1; }
}
@media (max-width: 639px) {
  #soar-cuenta .sa-head { padding-top: 18px; }
  #soar-cuenta .sa-title { font-size: 1.875rem; }
  #soar-cuenta :is(.sa-card, .woocommerce-Address, .woocommerce-order-details, .woocommerce-customer-details) { padding: 20px 18px; }
  #soar-cuenta .woocommerce-MyAccount-content > form,
  #soar-cuenta #customer_login > :is(.u-column1, .u-column2) { padding: 20px 18px; }
  #soar-cuenta .woocommerce-orders-table tr.order { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "num total" "date total" "status status" "actions actions"; padding: 16px; }
  #soar-cuenta .woocommerce-orders-table__cell-order-status { margin-top: 8px; }
  #soar-cuenta .sa-last__actions .sa-btn,
  #soar-cuenta .sa-help__actions .sa-btn { flex: 1 1 auto; }
}

@media (prefers-reduced-motion: reduce) {
  #soar-cuenta *, #soar-cuenta *::before, #soar-cuenta *::after { animation: none !important; transition-property: opacity, background-color, color, box-shadow !important; }
}