/* ============================================================================= ORDEN 08 - Mi cuenta deslogueado: acceso, registro y recuperar/reset ============================================================================= */
/* LINEA PREMIUM DE MI CUENTA (orden del dueno del 2026-09-18): los rojos chillantes que quedaban fuera del pago pasan a la linea de la casa. Mismos valores que el pago (--ap-pago-*): petroleo = lo elegido y lo activo, cian = foco unico, carmin mate = acento y error, verde mate. Tokens propios porque el pago no descarga esta hoja; cada valor sale de los --ap-btn-* (modulo global 20-botones-relieve.css) con respaldo literal o de la calculadora. Carmin suave = carmin mate al 10 % sobre blanco; carmin claro = el de los paneles oscuros de todo el sitio (--ap-carmin-claro del modulo global 22), para la estrella del panel de Paradise Points. Lo vigila MiCuentaLineaPremiumStylesTest. */
body.woocommerce-account { --ap-cuenta-petroleo: var(--ap-btn-dark, #152d3c); --ap-cuenta-carmin: var(--ap-btn-primary, #bd3548); --ap-cuenta-carmin-tinta: var(--ap-btn-primary-hover, #a72b3d); --ap-cuenta-carmin-oscuro: var(--ap-btn-primary-press, #952a3a); --ap-cuenta-carmin-suave: #f8ebed; --ap-cuenta-carmin-claro: var(--ap-carmin-claro, #ca5d6d); --ap-cuenta-verde: var(--ap-btn-green, #1f7a4d); --ap-cuenta-cian: #087b90; --ap-cuenta-cian-halo: 0 0 0 3px rgba(8, 123, 144, 0.18); --ap-cuenta-cian-suave: #e7f1f4; --ap-cuenta-control: #5b6b7a; --ap-cuenta-tinte: #f4f6f8; --ap-cuenta-flecha: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.75 6 6.25l4.5-4.5' fill='none' stroke='%23152d3c' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
/* Blocksy pinta titulos (h2 y h3 BLANCOS en su Customizer: no se leian en «Editar direccion» ni en «Ver pedido»), texto (#898989, bajo AA), bordes de campo (#303030 a 2 px), foco, casillas, enlaces, botones nativos y la seleccion de texto con su paleta. Dentro del contenido de la cuenta (no en el header ni en el pie) sus variables apuntan a la casa. La tipografia no se toca. */
body.woocommerce-account .woocommerce { color: var(--ap-account-body, #374151); --theme-text-color: var(--ap-account-body, #374151); --theme-heading-2-color: var(--ap-color-ink); --theme-heading-3-color: var(--ap-color-ink); --theme-border-color: var(--ap-color-line); --theme-form-field-border-initial-color: var(--ap-color-line); --theme-form-field-border-width: 1.5px; --theme-form-field-border-focus-color: var(--ap-cuenta-cian); --theme-form-selection-field-initial-color: var(--ap-cuenta-control); --theme-form-selection-field-active-color: var(--ap-cuenta-petroleo); --theme-link-initial-color: var(--ap-cuenta-carmin-tinta); --theme-link-hover-color: var(--ap-cuenta-carmin-oscuro); --theme-button-background-initial-color: var(--ap-cuenta-carmin); --theme-button-background-hover-color: var(--ap-cuenta-carmin-tinta); --theme-selection-background-color: var(--ap-cuenta-cian); --theme-selection-text-color: #fff; }
.ap-account { width: min(100%, 1120px); margin: 0 auto; padding: var(--ap-space-4) 0 var(--ap-space-4); color: var(--ap-ink-2); font-family: var(--ap-font-sans); }
.ap-account *, .ap-account *::before, .ap-account *::after { box-sizing: border-box; }
.ap-account__lead { max-width: 720px; margin: 0 0 var(--ap-space-4); color: var(--ap-gray-600); font-size: var(--ap-fs-base); line-height: var(--ap-lh-base); }
.ap-account__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--ap-color-line); border-radius: var(--ap-r); background: #fff; box-shadow: var(--ap-shadow-md); }
.ap-account__col { min-width: 0; padding: var(--ap-space-6); }
.ap-account__col--register { border-left: 1px solid var(--ap-color-line); }
.ap-account h2 { margin: 0 0 var(--ap-space-1); color: var(--ap-ink-1); font-size: var(--ap-fs-xl); font-weight: var(--ap-fw-bold); line-height: var(--ap-lh-tight); letter-spacing: 0; }
.ap-account__intro { margin: 0 0 var(--ap-space-4); color: var(--ap-gray-600); font-size: var(--ap-fs-sm); line-height: var(--ap-lh-base); }
.ap-account__form { display: grid; gap: var(--ap-space-4); margin: 0; }
.ap-account__form .form-row { margin: 0; padding: 0; }
.ap-account label { display: inline-block; margin-bottom: var(--ap-space-2); color: var(--ap-ink-2); font-size: var(--ap-fs-sm); font-weight: var(--ap-fw-semibold); line-height: 1.35; }
.ap-account :where(input, select, textarea) { width: 100%; min-height: var(--ap-h); border: 1px solid var(--ap-color-line); border-radius: var(--ap-r); background: #fff; color: var(--ap-ink-1); font-family: var(--ap-font-sans); font-size: var(--ap-fs-base); line-height: 1.3; letter-spacing: 0; }
.ap-account :where(input, select, textarea)::placeholder { color: var(--ap-gray-500); opacity: 1; }
/* Foco unico de la casa en todo campo de Mi cuenta (acceso, registro, recuperar, detalles y direccion): borde cian + halo suave, el mismo del pago. Es :focus y no :focus-visible porque un select abierto con el raton tambien debe decir donde esta el cliente. */
.ap-account :where(input, select, textarea):focus, .woocommerce-account form.woocommerce-ResetPassword :where(input, select, textarea):focus, .woocommerce-account .woocommerce-EditAccountForm .woocommerce-Input:focus, .woocommerce-account .woocommerce-address-fields :where(.input-text, select, textarea):focus { border-color: var(--ap-cuenta-cian); outline: none; box-shadow: var(--ap-cuenta-cian-halo); }
/* Enlaces y controles sin relieve (el ojo de la contrasena, «¿Olvidaste tu contrasena?»): el contorno de la casa. Los campos ya tienen su foco arriba. */
.ap-account :where(a, button, [tabindex]):focus-visible, .woocommerce-account form.woocommerce-ResetPassword :where(a, button, [tabindex]):focus-visible { outline: var(--ap-btn-focus, 2px solid #087b90); outline-offset: 2px; box-shadow: none; }
.ap-account__options { display: flex; align-items: center; justify-content: space-between; gap: var(--ap-space-3); min-height: 44px; }
.ap-account__options label { display: inline-flex; align-items: center; gap: var(--ap-space-2); margin: 0; color: var(--ap-gray-600); font-weight: var(--ap-fw-medium); }
.ap-account input[type="checkbox"] { width: 20px; min-width: 20px; height: 20px; min-height: 20px; margin: 0; accent-color: var(--ap-cuenta-petroleo); }
.ap-account .woocommerce-LostPassword { margin: 0; }
.ap-account .woocommerce-LostPassword a { color: var(--ap-cuenta-carmin-tinta); font-size: var(--ap-fs-sm); font-weight: var(--ap-fw-bold); text-decoration: none; }
.ap-account .woocommerce-LostPassword a:hover { text-decoration: underline; }
.ap-account__submit-row { display: block; }
.ap-account__submit { width: 100%; min-height: 56px; }
/* Relieve mate de la casa (orden del dueno 2026-09-13): «Acceder» es el CTA carmin y «Crear cuenta» el PRIMARIO petroleo. Siempre background-color (respaldo solido) + background-image (el relieve), nunca el atajo background:, que borra las capas. Al pasar el raton quedan planos; al pulsar, un punto mas oscuro (--ap-btn-press-bg, que lee la regla compartida del final de la hoja). */
body.woocommerce-account .ap-account button.ap-account__submit--login { background-color: var(--ap-btn-primary, #bd3548); background-image: var(--ap-btn-relief-primary, radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.10), transparent 60%), linear-gradient(180deg, #cf4a5c 0%, #bd3548 45%, #952a3a 100%)); box-shadow: var(--ap-btn-inset-primary, inset 0 1px 0 rgba(255, 255, 255, 0.14)); border-radius: var(--ap-btn-radius, 8px); color: #fff; font-weight: var(--ap-fw-bold); --ap-btn-press-bg: var(--ap-btn-primary-press, #952a3a); }
body.woocommerce-account .ap-account button.ap-account__submit--login:hover { background-image: none; background-color: var(--ap-btn-primary-hover, #a72b3d); box-shadow: var(--ap-btn-shadow-primary-hover, 0 4px 10px rgba(189, 53, 72, 0.25)); transform: none; color: #fff; }
.ap-account__submit--register { background-color: var(--ap-btn-dark, #152d3c); background-image: var(--ap-btn-relief-dark, radial-gradient(ellipse at 50% 0%, rgba(35, 119, 143, 0.30), transparent 60%), linear-gradient(180deg, #244a60 0%, #152d3c 45%, #0c1c26 100%)); box-shadow: var(--ap-btn-inset-dark, inset 0 1px 0 rgba(255, 255, 255, 0.10)); border-radius: var(--ap-btn-radius, 8px); color: #fff; font-weight: var(--ap-fw-bold); --ap-btn-press-bg: var(--ap-btn-dark-press, #152d3c); }
body.woocommerce-account .ap-account button.ap-account__submit--register { background-color: var(--ap-btn-dark, #152d3c); color: #fff; font-weight: var(--ap-fw-bold); }
.ap-account__submit--register:hover { background-image: none; background-color: var(--ap-btn-dark-hover, #26485b); box-shadow: none; transform: none; color: #fff; }
body.woocommerce-account .ap-account button.ap-account__submit--register:hover { background-color: var(--ap-btn-dark-hover, #26485b); color: #fff; }
.ap-account__hint { display: block; margin-top: var(--ap-space-2); color: var(--ap-gray-600); font-size: var(--ap-fs-xs); line-height: 1.4; }
.ap-account__tabs { display: none; }
.ap-account__social { margin-bottom: var(--ap-space-4); }
.ap-account__social .nsl-container { display: block; }
/* Entrar con Google: SECUNDARIO claro con relieve. No se le toca el peso de letra, que es el de la marca del proveedor. */
.ap-account__social .nsl-button { width: 100%; min-height: var(--ap-h); border: 1px solid var(--ap-btn-light-line, #cfd5dc); border-radius: var(--ap-btn-radius, 8px); background-color: var(--ap-btn-light, #ffffff); background-image: var(--ap-btn-relief-light, linear-gradient(180deg, #ffffff 0%, #f1f3f6 100%)); box-shadow: var(--ap-btn-inset-light, inset 0 1px 0 rgba(255, 255, 255, 0.9)); color: var(--ap-btn-light-text, #152d3c); --ap-btn-press-bg: var(--ap-btn-light-press, #eef2f7); }
.ap-account__social .nsl-button:hover { background-image: none; background-color: var(--ap-btn-light-hover, #eef0f3); border-color: var(--ap-btn-light-line-hover, #152d3c); color: var(--ap-btn-light-text, #152d3c); transform: none; }
.ap-account__divider { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: var(--ap-space-3); margin: var(--ap-space-4) 0; color: var(--ap-gray-600); font-size: var(--ap-fs-xs); font-weight: var(--ap-fw-semibold); }
.ap-account__divider::before, .ap-account__divider::after { content: ""; height: 1px; background: var(--ap-color-line); }
.ap-pass-field { position: relative; }
.ap-pass-field .woocommerce-Input { padding-right: 54px; }
.ap-pass-toggle { position: absolute; top: calc(var(--ap-space-2) + 1.35em + 2px); right: var(--ap-space-2); display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-height: 44px; padding: 0; border: 0; border-radius: var(--ap-r); background: transparent; color: var(--ap-gray-600); cursor: pointer; }
.ap-pass-toggle:hover { color: var(--ap-cuenta-petroleo); background: var(--ap-cuenta-tinte); }
.ap-account .woocommerce-password-strength, .woocommerce-account form.woocommerce-ResetPassword .woocommerce-password-strength { margin-top: var(--ap-space-2); padding: var(--ap-space-2) var(--ap-space-3); border-radius: var(--ap-r); background: #f7f8fa; color: var(--ap-ink-2); font-size: var(--ap-fs-xs); font-weight: var(--ap-fw-bold); line-height: 1.3; }
.ap-account .woocommerce-password-strength.strong, .woocommerce-account form.woocommerce-ResetPassword .woocommerce-password-strength.strong { border-left: 4px solid var(--ap-cuenta-verde); }
.ap-account .woocommerce-password-strength.good, .woocommerce-account form.woocommerce-ResetPassword .woocommerce-password-strength.good { border-left: 4px solid #1f7a4d; }
.ap-account .woocommerce-password-strength.short, .ap-account .woocommerce-password-strength.bad, .woocommerce-account form.woocommerce-ResetPassword .woocommerce-password-strength.short, .woocommerce-account form.woocommerce-ResetPassword .woocommerce-password-strength.bad { border-left: 4px solid var(--ap-cuenta-carmin); }
.ap-account__trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ap-space-4); margin: var(--ap-space-5) 0 0; padding: 0; list-style: none; }
.ap-account__trust li { display: flex; align-items: center; gap: var(--ap-space-3); min-width: 0; color: var(--ap-gray-600); }
.ap-account__trust-icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-width: 44px; border-radius: var(--ap-r); background: var(--ap-cuenta-carmin-suave); color: var(--ap-cuenta-carmin-tinta); }
.ap-account__trust strong, .ap-account__trust small { display: block; }
.ap-account__trust strong { color: var(--ap-ink-1); font-size: var(--ap-fs-sm); font-weight: var(--ap-fw-bold); line-height: 1.3; }
.ap-account__trust small { color: var(--ap-gray-600); font-size: var(--ap-fs-xs); line-height: 1.35; }
.woocommerce-account :where(.woocommerce-error, .woocommerce-message, .woocommerce-info) { width: min(100%, 1120px); margin: var(--ap-space-4) auto; padding: var(--ap-space-3) var(--ap-space-4) var(--ap-space-3) 44px; border: 1px solid var(--ap-color-line); border-radius: var(--ap-r); background: #fff; color: var(--ap-ink-2); font-family: var(--ap-font-sans); font-size: var(--ap-fs-sm); line-height: 1.45; box-shadow: var(--ap-shadow-sm); --theme-link-initial-color: var(--ap-cuenta-carmin-tinta); --theme-link-hover-color: var(--ap-cuenta-carmin-oscuro); }
.woocommerce-account :where(.woocommerce-error, .woocommerce-message, .woocommerce-info)::before { content: ""; position: absolute; width: 18px; height: 18px; margin-left: -28px; border: 2px solid currentColor; border-radius: 50%; }
.woocommerce-account .woocommerce-error { border-left: 4px solid var(--ap-cuenta-carmin); --ap-aviso-icono: var(--ap-cuenta-carmin); }
.woocommerce-account .woocommerce-message { border-left: 4px solid var(--ap-cuenta-verde); --ap-aviso-icono: var(--ap-cuenta-verde); }
.woocommerce-account form.woocommerce-ResetPassword { width: min(100%, 560px); margin: var(--ap-space-5) auto var(--ap-space-6); padding: var(--ap-space-6); border: 1px solid var(--ap-color-line); border-radius: var(--ap-r); background: #fff; color: var(--ap-ink-2); font-family: var(--ap-font-sans); box-shadow: var(--ap-shadow-md); }
.woocommerce-account form.woocommerce-ResetPassword.lost_reset_password, .woocommerce-account form.woocommerce-ResetPassword #user_login, .woocommerce-account form.woocommerce-ResetPassword #password_1, .woocommerce-account form.woocommerce-ResetPassword #password_2 { font-family: var(--ap-font-sans); }
.woocommerce-account form.woocommerce-ResetPassword label { display: inline-block; margin-bottom: var(--ap-space-2); color: var(--ap-ink-2); font-size: var(--ap-fs-sm); font-weight: var(--ap-fw-semibold); }
.woocommerce-account form.woocommerce-ResetPassword input { width: 100%; min-height: var(--ap-h); border: 1px solid var(--ap-color-line); border-radius: var(--ap-r); background: #fff; color: var(--ap-ink-1); font-family: var(--ap-font-sans); }
/* «Restablecer contrasena»: CTA carmin con relieve. El peso sube de 600 a 700, que es el de la receta de la casa y el que ya llevan los demas CTA. */
.woocommerce-account form.woocommerce-ResetPassword button.woocommerce-Button.button, .woocommerce-account form.woocommerce-ResetPassword button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; border: 1px solid transparent; border-radius: var(--ap-btn-radius, 8px); background-color: var(--ap-btn-primary, #bd3548); background-image: var(--ap-btn-relief-primary, radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.10), transparent 60%), linear-gradient(180deg, #cf4a5c 0%, #bd3548 45%, #952a3a 100%)); color: #fff; font-family: var(--ap-font-sans); font-size: var(--ap-fs-base); font-weight: var(--ap-fw-bold); line-height: 1; box-shadow: var(--ap-btn-inset-primary, inset 0 1px 0 rgba(255, 255, 255, 0.14)); --ap-btn-press-bg: var(--ap-btn-primary-press, #952a3a); }
.woocommerce-account form.woocommerce-ResetPassword button.woocommerce-Button.button:hover, .woocommerce-account form.woocommerce-ResetPassword button[type="submit"]:hover { background-image: none; background-color: var(--ap-btn-primary-hover, #a72b3d); box-shadow: var(--ap-btn-shadow-primary-hover, 0 4px 10px rgba(189, 53, 72, 0.25)); color: #fff; transform: none; }
@media (max-width: 960px) {
    .ap-account__trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .ap-account { padding: var(--ap-space-4) var(--ap-space-4) var(--ap-space-5); }
    .ap-account__tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ap-space-2); margin: 0 0 var(--ap-space-3); padding: var(--ap-space-1); border: 1px solid var(--ap-color-line); border-radius: var(--ap-r); background: #fff; }
    .ap-account__tab { min-height: 44px; border: 0; border-radius: var(--ap-r); background: transparent; color: var(--ap-gray-600); font-family: var(--ap-font-sans); font-size: var(--ap-fs-sm); font-weight: var(--ap-fw-bold); cursor: pointer; }
    /* La pestana activa del movil: PRIMARIO petroleo con relieve (la inactiva se queda transparente, que es lo que la distingue). */
    .ap-account__tab.is-active { background-color: var(--ap-btn-dark, #152d3c); background-image: var(--ap-btn-relief-dark, radial-gradient(ellipse at 50% 0%, rgba(35, 119, 143, 0.30), transparent 60%), linear-gradient(180deg, #244a60 0%, #152d3c 45%, #0c1c26 100%)); box-shadow: var(--ap-btn-inset-dark, inset 0 1px 0 rgba(255, 255, 255, 0.10)); border-radius: var(--ap-btn-radius, 8px); color: #fff; --ap-btn-press-bg: var(--ap-btn-dark-press, #152d3c); }
    .ap-account__cols { display: block; border-radius: var(--ap-r); }
    body.woocommerce-account .ap-account #customer_login.ap-account__cols { display: block; }
    .ap-account__col { padding: var(--ap-space-5) var(--ap-space-4); }
    body.woocommerce-account .ap-account #customer_login .ap-account__col { float: none; width: 100%; }
    .ap-account__col--register { border-left: 0; border-top: 1px solid var(--ap-color-line); }
    .js-ap-account-ready .ap-account__col[hidden] { display: none; }
    .js-ap-account-ready .ap-account__col--register { border-top: 0; }
    .ap-account__options { align-items: flex-start; flex-direction: column; }
    .ap-account__trust { grid-template-columns: 1fr; }
    .woocommerce-account form.woocommerce-ResetPassword { margin: var(--ap-space-4) var(--ap-space-4) var(--ap-space-5); padding: var(--ap-space-5) var(--ap-space-4); }
}
@media (prefers-reduced-motion: reduce) {
    .ap-pass-toggle, .ap-account__tab, .ap-account__submit { transition: none; }
}
/* ============================================================================= ORDEN 09 — Mi cuenta (panel logueado / Escritorio) Datos nativos reales. Cumple los gates de ap-woo.css: solo tokens de marca, fondos solidos (sin degradados), transiciones especificas, colores de estado con contraste AA. Ver docs 19-23 del caso. ============================================================================= */
/* Oculta el saludo/descripcion nativos SOLO cuando existe el panel del escritorio. */
.woocommerce-MyAccount-content:has(.ap-dash) > p { display: none; }
.ap-dash { display: flex; flex-direction: column; gap: 22px; font-family: var(--ap-font-sans); color: var(--ap-account-body); line-height: var(--ap-lh-base); }
.ap-dash__header { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--ap-space-4); flex-wrap: wrap; }
.ap-dash__title { font-size: 1.75rem; font-weight: 800; color: var(--ap-color-ink); line-height: 1.1; text-wrap: balance; letter-spacing: 0; margin: 0 0 5px; }
.ap-dash__subtitle { font-size: 0.9375rem; color: var(--ap-account-muted); margin: 0; }
/* «Volver a comprar» de la cabecera: CTA carmin con relieve (orden del 2026-09-13). La sombra de caja en reposo se cambia por la luz interior del relieve. */
.ap-dash__reorder { display: inline-flex; align-items: center; gap: var(--ap-space-2); min-height: 44px; padding: 0 18px; border-radius: var(--ap-btn-radius, 8px); background-color: var(--ap-btn-primary, #bd3548); background-image: var(--ap-btn-relief-primary, radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.10), transparent 60%), linear-gradient(180deg, #cf4a5c 0%, #bd3548 45%, #952a3a 100%)); color: #fff; font-weight: var(--ap-fw-bold); font-size: 0.875rem; text-decoration: none; transition: background-color var(--ap-transition), box-shadow var(--ap-transition), transform var(--ap-transition); box-shadow: var(--ap-btn-inset-primary, inset 0 1px 0 rgba(255, 255, 255, 0.14)); --ap-btn-press-bg: var(--ap-btn-primary-press, #952a3a); }
.ap-dash__reorder:hover { background-image: none; background-color: var(--ap-btn-primary-hover, #a72b3d); box-shadow: var(--ap-btn-shadow-primary-hover, 0 4px 10px rgba(189, 53, 72, 0.25)); color: #fff; transform: none; }
.ap-dash-icon { flex: none; }
.ap-dash__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ap-dash-tile { background: #fff; border: 1px solid var(--ap-color-line); border-radius: var(--ap-r-lg); box-shadow: var(--ap-shadow-sm); padding: 18px; }
.ap-dash-tile__label { display: flex; align-items: center; gap: var(--ap-space-2); color: var(--ap-account-muted); font-size: 0.75rem; font-weight: var(--ap-fw-semibold); margin-bottom: var(--ap-space-3); }
.ap-dash__stats .ap-dash-tile:nth-child(2) .ap-dash-icon { color: var(--ap-cuenta-carmin); }
.ap-dash__stats .ap-dash-tile:nth-child(4) .ap-dash-icon { color: var(--ap-cuenta-verde); }
.ap-dash-tile__value { font-size: 1.625rem; font-weight: 800; color: var(--ap-color-ink); line-height: 1.1; letter-spacing: 0; font-variant-numeric: var(--ap-nums); }
.ap-dash-tile__sub { font-size: 0.75rem; font-weight: var(--ap-fw-medium); color: var(--ap-account-muted); margin-top: 2px; }
.ap-dash__grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: var(--ap-space-5); align-items: start; }
.ap-dash__col { display: flex; flex-direction: column; gap: var(--ap-space-5); min-width: 0; }
.ap-dash__section { background: #fff; border: 1px solid var(--ap-color-line); border-radius: var(--ap-r-lg); box-shadow: var(--ap-shadow-sm); padding: var(--ap-space-5) var(--ap-space-5); }
.ap-dash__section-head { display: flex; align-items: center; justify-content: space-between; gap: var(--ap-space-3); margin-bottom: var(--ap-space-3); }
.ap-dash__section-title { display: inline-flex; align-items: center; gap: var(--ap-space-2); font-size: 1rem; font-weight: var(--ap-fw-bold); color: var(--ap-color-ink); }
.ap-dash__section-link { font-size: 0.8125rem; font-weight: var(--ap-fw-bold); color: var(--ap-cuenta-carmin-tinta); text-decoration: none; }
.ap-dash__section-link:hover { text-decoration: underline; }
.ap-dash-order { display: flex; align-items: center; justify-content: space-between; gap: var(--ap-space-3); padding: var(--ap-space-4) 0; border-top: 1px solid var(--ap-color-line); }
.ap-dash-order:first-of-type { border-top: 0; }
.ap-dash-order__num { font-size: 0.875rem; font-weight: var(--ap-fw-bold); color: var(--ap-color-ink); }
.ap-dash-order__info { font-size: 0.75rem; color: var(--ap-account-muted); margin: 2px 0 6px; }
.ap-dash-order__side { text-align: right; }
.ap-dash-order__total { font-size: var(--ap-fs-lg); font-weight: var(--ap-fw-bold); color: var(--ap-color-ink); font-variant-numeric: var(--ap-nums); }
.ap-dash-order__actions { display: flex; gap: var(--ap-space-2); justify-content: flex-end; margin-top: 6px; flex-wrap: wrap; }
.ap-dash-chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: var(--ap-r-pill); font-size: var(--ap-fs-xs); font-weight: var(--ap-fw-bold); }
.ap-dash-chip--warn { background: var(--ap-warn-bg); color: var(--ap-warn-ink); }
.ap-dash-chip--ok { background: var(--ap-ok-bg); color: var(--ap-ok-ink); }
.ap-dash-chip--muted { background: var(--ap-muted-bg); color: var(--ap-gray-600); }
.ap-dash-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--ap-space-2); min-height: 42px; padding: 0 var(--ap-space-4); border-radius: var(--ap-btn-radius, 8px); font-size: var(--ap-fs-sm); font-weight: var(--ap-fw-bold); text-decoration: none; border: 1px solid transparent; transition: border-color var(--ap-transition), background-color var(--ap-transition), box-shadow var(--ap-transition), transform var(--ap-transition); }
/* Cada variante conserva su identidad de color y estrena la tonalidad mate y el relieve de su familia (orden del dueno 2026-09-13). */
.ap-dash-btn--ghost { border-color: var(--ap-btn-light-line, #cfd5dc); color: var(--ap-btn-light-text, #152d3c); background-color: var(--ap-btn-light, #ffffff); background-image: var(--ap-btn-relief-light, linear-gradient(180deg, #ffffff 0%, #f1f3f6 100%)); box-shadow: var(--ap-btn-inset-light, inset 0 1px 0 rgba(255, 255, 255, 0.9)); --ap-btn-press-bg: var(--ap-btn-light-press, #eef2f7); }
.ap-dash-btn--ghost:hover { background-image: none; background-color: var(--ap-btn-light-hover, #eef0f3); border-color: var(--ap-btn-light-line-hover, #152d3c); color: var(--ap-btn-light-text, #152d3c); transform: none; }
.ap-dash-btn--primary { background-color: var(--ap-btn-primary, #bd3548); background-image: var(--ap-btn-relief-primary, radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.10), transparent 60%), linear-gradient(180deg, #cf4a5c 0%, #bd3548 45%, #952a3a 100%)); box-shadow: var(--ap-btn-inset-primary, inset 0 1px 0 rgba(255, 255, 255, 0.14)); color: #fff; --ap-btn-press-bg: var(--ap-btn-primary-press, #952a3a); }
.ap-dash-btn--primary:hover { background-image: none; background-color: var(--ap-btn-primary-hover, #a72b3d); box-shadow: var(--ap-btn-shadow-primary-hover, 0 4px 10px rgba(189, 53, 72, 0.25)); color: #fff; transform: none; }
.ap-dash-btn--whatsapp { background-color: var(--ap-btn-green, #1f7a4d); background-image: var(--ap-btn-relief-green, linear-gradient(180deg, #2a9a63 0%, #1f7a4d 45%, #14563a 100%)); box-shadow: var(--ap-btn-inset-green, inset 0 1px 0 rgba(255, 255, 255, 0.14)); color: var(--ap-whatsapp-ink); --ap-btn-press-bg: var(--ap-btn-green-press, #14563a); }
.ap-dash-btn--whatsapp:hover { background-image: none; background-color: var(--ap-btn-green-hover, #16623e); box-shadow: var(--ap-btn-shadow-green-hover, 0 4px 10px rgba(31, 122, 77, 0.28)); color: #fff; transform: none; }
.ap-dash-empty { text-align: center; padding: var(--ap-space-4) 0; color: var(--ap-account-muted); font-size: 0.875rem; }
.ap-dash-address__body { display: flex; gap: var(--ap-space-3); font-size: var(--ap-fs-sm); line-height: var(--ap-lh-base); color: var(--ap-account-body); }
.ap-dash-address__body .ap-dash-icon { color: var(--ap-cuenta-carmin); }
.ap-dash-help__text { font-size: var(--ap-fs-sm); color: var(--ap-account-muted); margin: 0 0 var(--ap-space-3); }
.ap-dash-help .ap-dash-btn { width: 100%; min-height: var(--ap-h); margin-top: var(--ap-space-2); font-size: var(--ap-fs-sm); }
.ap-dash-preview__text { font-size: var(--ap-fs-sm); color: var(--ap-account-muted); margin: 0; line-height: var(--ap-lh-base); }
.ap-dash-preview--dark { background: var(--ap-color-ink); border-color: transparent; }
.ap-dash-preview--dark .ap-dash__section-title { color: #fff; }
.ap-dash-preview--dark .ap-dash-preview__text { color: rgba(255, 255, 255, 0.72); }
.ap-dash-badge { padding: 4px 10px; border-radius: var(--ap-r-pill); background: var(--ap-muted-bg); color: var(--ap-account-muted); font-size: var(--ap-fs-xs); font-weight: var(--ap-fw-bold); }
.ap-dash-badge--onDark { background: rgba(255, 255, 255, 0.14); color: rgba(255, 255, 255, 0.85); }
.ap-dash-profile { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; padding: 24px 22px 20px; background: #fff; border-bottom: 1px solid var(--ap-color-line); }
.ap-dash-profile__avatar { width: 64px; height: 64px; border-radius: var(--ap-r-pill); background: var(--ap-color-ink); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.375rem; font-weight: 800; letter-spacing: 0; margin-bottom: 10px; }
.ap-dash-profile__name { font-size: var(--ap-fs-base); font-weight: var(--ap-fw-bold); color: var(--ap-color-ink); }
.ap-dash-profile__email { font-size: 0.75rem; font-weight: var(--ap-fw-medium); color: var(--ap-account-muted); word-break: break-word; }
.ap-dash a:focus-visible, .ap-dash-btn:focus-visible { outline: var(--ap-btn-focus, 2px solid #087b90); outline-offset: 2px; box-shadow: none; }
@media (max-width: 768px) {
    .ap-dash__grid { grid-template-columns: 1fr; }
    .ap-dash__header { align-items: stretch; }
    .ap-dash__reorder { width: 100%; justify-content: center; }
    .ap-dash__title { font-size: 1.75rem; }
}
@media (max-width: 480px) {
    /* Las cuatro tarjetas caben a dos columnas en 360-480 px: «Proximamente» era lo mas ancho y empujaba la columna fuera de su panel. */
    .ap-dash-tile { padding: 14px 12px; }
    .ap-dash-tile__value--soon { font-size: 0.9375rem; }
    .ap-dash-order { flex-direction: column; align-items: flex-start; }
    .ap-dash-order__side { text-align: left; }
    .ap-dash-order__actions { justify-content: flex-start; }
}
/* --- Orden 09-A.2: nav blanca, 4 tiles, panel Points prominente, Mis Acuarios --- */
/* Navegacion lateral re-estilizada a tarjeta blanca (override de la negra nativa) */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 var(--ap-space-5); padding: 10px; background: #fff; border: 1px solid var(--ap-color-line); border-radius: var(--ap-r-lg); box-shadow: var(--ap-shadow-sm); }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; border: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: flex; align-items: center; gap: 12px; position: relative; min-height: 42px; padding: 0 14px; border-radius: 9px; color: var(--ap-account-body); font-weight: var(--ap-fw-semibold); font-size: 0.875rem; text-decoration: none; transition: background-color var(--ap-transition), color var(--ap-transition); }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #f7f8fa; color: var(--ap-color-ink); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li a[aria-current="page"] { background: var(--ap-cuenta-tinte); color: var(--ap-cuenta-petroleo); font-weight: var(--ap-fw-bold); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before { content: ""; position: absolute; left: 0; top: 9px; bottom: 9px; width: 3px; border-radius: 0 3px 3px 0; background: var(--ap-cuenta-petroleo); }
.woocommerce-account .woocommerce-MyAccount-navigation li a[aria-current="page"]::before { content: ""; position: absolute; left: 0; top: 9px; bottom: 9px; width: 3px; border-radius: 0 3px 3px 0; background: var(--ap-cuenta-petroleo); }
.woocommerce-account .woocommerce-MyAccount-navigation li--customer-logout { margin-top: var(--ap-space-2); border-top: 1px solid var(--ap-color-line); padding-top: var(--ap-space-2); }
/* Badge honesto del perfil */
.ap-dash-profile__badge { margin-top: 10px; padding: 5px 11px; border-radius: var(--ap-r-pill); background: var(--ap-cuenta-carmin-suave); color: var(--ap-cuenta-carmin-tinta); font-size: 0.6875rem; font-weight: 800; line-height: 1; letter-spacing: 0; }
/* Tiles preview (Paradise Points / Cupones) */
.ap-dash-tile--preview { background: #fff; }
.ap-dash-tile__value--soon { font-size: 1.0625rem; font-weight: var(--ap-fw-bold); color: var(--ap-account-muted); letter-spacing: 0; }
/* Panel Paradise Points prominente (oscuro solido) */
.ap-dash-points { background: var(--ap-color-ink); border-radius: var(--ap-r-lg); box-shadow: var(--ap-shadow-sm); min-height: 176px; padding: var(--ap-space-6); color: rgba(255, 255, 255, 0.72); }
.ap-dash-points__head { display: flex; align-items: center; justify-content: space-between; gap: var(--ap-space-3); margin-bottom: var(--ap-space-3); }
.ap-dash-points__title { display: inline-flex; align-items: center; gap: var(--ap-space-2); font-size: var(--ap-fs-lg); font-weight: var(--ap-fw-bold); color: #fff; }
.ap-dash-points__title .ap-dash-icon { color: var(--ap-cuenta-carmin-claro); }
.ap-dash-points__lead { font-size: var(--ap-fs-base); line-height: var(--ap-lh-base); margin: 0 0 var(--ap-space-2); color: rgba(255, 255, 255, 0.82); }
.ap-dash-points__note { font-size: var(--ap-fs-sm); margin: 0; color: rgba(255, 255, 255, 0.6); }
/* Seccion Mis Acuarios: 2 tarjetas preview */
.ap-dash-aquariums { overflow: hidden; padding: 0; }
.ap-dash-aquariums .ap-dash__section-head { padding: 18px 20px; border-bottom: 1px solid var(--ap-color-line); margin-bottom: 0; }
.ap-dash-aquariums__grid { display: grid; grid-template-columns: 1fr 1fr; padding: 16px 20px; gap: 14px; }
.ap-dash-aqua-card { border: 1px solid var(--ap-color-line); border-radius: 11px; padding: 15px; background: #fff; }
.ap-dash-aqua-card__title { font-size: 0.875rem; font-weight: var(--ap-fw-bold); color: var(--ap-color-ink); margin-block-end: 2px; }
.ap-dash-aqua-card__text { font-size: 0.75rem; font-weight: var(--ap-fw-medium); color: var(--ap-account-muted); line-height: var(--ap-lh-base); margin: 0; }
/* Estado vacio de pedidos, mas premium */
.ap-dash-empty--rich { padding: var(--ap-space-6) var(--ap-space-4); }
.ap-dash-empty__icon { display: inline-flex; width: 52px; height: 52px; align-items: center; justify-content: center; border-radius: var(--ap-r-pill); background: var(--ap-muted-bg); color: var(--ap-account-muted); margin-bottom: var(--ap-space-2); }
.ap-dash-empty__title { font-size: var(--ap-fs-base); font-weight: var(--ap-fw-bold); color: var(--ap-color-ink); margin: 0 0 4px; }
.ap-dash-empty__text { font-size: var(--ap-fs-sm); color: var(--ap-account-muted); margin: 0 0 var(--ap-space-3); }
/* Responsive de la franja de 4 tiles y las tarjetas de acuarios */
@media (max-width: 900px) {
    .ap-dash__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    .ap-dash-aquariums__grid { grid-template-columns: 1fr; }
}
/* --- Orden 09-A.3: columna lateral unificada blanca + hero de cuenta compacto --- */
/* Toda la columna del nav como UNA tarjeta blanca premium (elimina el bloque negro residual que Blocksy pinta en .ct-acount-nav via CSS dinamica del Customizer). Specificity alta (.woocommerce-account .ct-woo-account .ct-acount-nav) para ganar por especificidad, sin reglas forzadas. Si Blocksy usara un selector aun mas especifico, queda documentado para decision de Direccion. */
.woocommerce-account .ct-woo-account .ct-acount-nav { background: #fff; border: 1px solid var(--ap-color-line); border-radius: 14px; box-shadow: var(--ap-account-shadow); overflow: hidden; padding: 0; }
/* El menu ya no lleva tarjeta propia: el wrapper .ct-acount-nav es la tarjeta unica. */
.woocommerce-account .ct-acount-nav .woocommerce-MyAccount-navigation ul { background: transparent; border: 0; border-radius: 0; box-shadow: none; margin: 0; }
/* Hero "Mi Cuenta" compacto SOLO en paginas de cuenta (no toca el header global, ni logo, ni menu principal, ni carrito). El hero global es .hero-section[data-type]. */
.woocommerce-account .hero-section { padding-top: var(--ap-space-4); padding-bottom: var(--ap-space-4); min-height: 0; }
.woocommerce-account .hero-section .entry-header { padding-top: var(--ap-space-3); padding-bottom: var(--ap-space-3); }
/* --- Orden 09-A.5: alineacion fina con el ZIP de propuesta visual --- */
/* Orden del dueno 2026-09-11: la franja de Mi Cuenta se compacta como la de tienda (130 px a 1440). El 172px anterior se corrige AQUI, en su origen, en vez de taparlo con una marca de prioridad desde el modulo 18. */
body.woocommerce-account [data-prefix="woo_account"] .hero-section[data-type="type-2"], body.woocommerce-account .hero-section[data-type="type-2"] { --min-height: 0px; min-height: 0; padding-block: 20px; }
body.woocommerce-account [data-prefix="woo_account"] .hero-section[data-type="type-2"] > .entry-header, body.woocommerce-account .hero-section[data-type="type-2"] > .entry-header { padding-block: var(--ap-space-3); }
body.woocommerce-account [data-prefix="woo_account"] .hero-section[data-type="type-2"] .page-title, body.woocommerce-account .hero-section[data-type="type-2"] .page-title { font-size: 2.625rem; line-height: 1.12; letter-spacing: 0; text-wrap: balance; }
@media (max-width: 768px) {
    body.woocommerce-account [data-prefix="woo_account"] .hero-section[data-type="type-2"] .page-title, body.woocommerce-account .hero-section[data-type="type-2"] .page-title { font-size: 2.125rem; }
}
/* ============================================================================= MI CUENTA — SHELL (Orden 09-D): marco compartido de todas las secciones. Reutiliza el sidebar/perfil/activo ya definidos en la seccion ORDEN 09 (no se duplican). Aqui solo se anade: layout de 2 columnas, sticky, contador de pedidos, tipografia de seccion y el responsive a chips. ============================================================================= */
/* Layout de dos columnas del shell: sidebar 264px + contenido; contenedor 1200px, fondo general */
.woocommerce-account .ct-woo-account { display: grid; grid-template-columns: 264px 1fr; gap: 28px; align-items: start; max-width: 1200px; margin-inline: auto; padding: 30px 32px 48px; background: #f7f8fa; }
.woocommerce-account .ct-woo-account .ct-acount-nav { position: sticky; top: 20px; }
/* Pildora con el contador REAL de pedidos en el item de nav */
.woocommerce-account .woocommerce-MyAccount-navigation li a .ap-nav-count { margin-left: auto; min-width: 18px; height: 18px; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--ap-r-pill); background: var(--ap-color-ink); color: #fff; font-size: 0.6875rem; font-weight: 800; line-height: 1; }
/* Tipografia de cabecera de cada seccion (columna de contenido) */
.ap-account-title { font-size: 1.625rem; font-weight: 800; letter-spacing: 0; color: var(--ap-color-ink); margin: 0 0 4px; }
.ap-account-subtitle { font-size: 0.9375rem; font-weight: var(--ap-fw-regular); color: var(--ap-account-muted, #6b7280); margin: 0 0 20px; }
/* Responsive: en <=991px el sidebar se vuelve una fila de chips scroll-x */
@media (max-width: 991px) {
    /* minmax(0, 1fr): con 1fr a secas el minimo de su contenido estiraba la columna (332 px en un hueco de 279 a 390 px) y el Escritorio desbordaba su panel. */
    .woocommerce-account .ct-woo-account { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .woocommerce-account .ct-woo-account .ct-acount-nav { position: static; }
    .woocommerce-account .ct-acount-nav .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 8px; padding: 6px; }
    .woocommerce-account .woocommerce-MyAccount-navigation li a { white-space: nowrap; border: 1px solid var(--ap-color-line); border-radius: var(--ap-r-pill); }
    .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--ap-cuenta-petroleo); border-color: var(--ap-cuenta-petroleo); color: #fff; }
    .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a .ap-nav-count { background: #fff; color: var(--ap-cuenta-petroleo); }
    .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before { display: none; }
}
/* Perfil VARIANTE compacta/horizontal en secciones internas (NO en el Escritorio). El dashboard (body.woocommerce-dashboard) conserva su perfil vertical 64px aprobado. */
.woocommerce-account:not(.woocommerce-dashboard) .ap-dash-profile { display: grid; grid-template-columns: 46px 1fr; grid-template-areas: "avatar name" "avatar email"; column-gap: 12px; row-gap: 0; align-items: center; text-align: left; padding: 14px 16px; }
.woocommerce-account:not(.woocommerce-dashboard) .ap-dash-profile__avatar { grid-area: avatar; width: 46px; height: 46px; font-size: 1rem; margin-bottom: 0; }
.woocommerce-account:not(.woocommerce-dashboard) .ap-dash-profile__name { grid-area: name; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.woocommerce-account:not(.woocommerce-dashboard) .ap-dash-profile__email { grid-area: email; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.woocommerce-account:not(.woocommerce-dashboard) .ap-dash-profile__badge { display: none; }
/* Iconos del menu de cuenta: SVG propios (lineales, currentColor). Se oculta el icono ::before nativo de Blocksy SOLO en items no activos; el item activo usa ::before para la barra roja (definida en la seccion ORDEN 09; no se toca aqui). */
.woocommerce-account .woocommerce-MyAccount-navigation li a .ap-nav-icon { flex: none; margin-right: 10px; }
.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a::before { content: none; }
/* R09-D — FIN SHELL (sentinel: cierra el slice de MiCuentaShellStylesTest; el CSS de los loops de secciones va DESPUÉS de este marcador). */
/* ============================================================================= R09D PEDIDOS — /mi-cuenta/orders/ (Orden 09-D, Loop 2). Stats reales, tabla premium con chips por estado real, ayuda WhatsApp y estado vacio premium. Solo tokens; cumple los gates del archivo. ============================================================================= */
.ap-orders-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 20px; }
.ap-orders-stat { background: #fff; border: 1px solid var(--ap-color-line); border-radius: 12px; padding: 15px 16px; }
.ap-orders-stat__label { font-size: 0.75rem; font-weight: var(--ap-fw-semibold); color: var(--ap-account-muted, #6b7280); margin-bottom: 6px; }
.ap-orders-stat__value { font-size: 1.375rem; font-weight: 800; color: var(--ap-color-ink); letter-spacing: 0; font-variant-numeric: var(--ap-nums); }
.ap-orders-stat__value--date { font-size: 1rem; }
/* Tabla premium sobre la nativa (clases nativas intactas) */
.woocommerce-account table.account-orders-table { background: #fff; border: 1px solid var(--ap-color-line); border-radius: 14px; border-collapse: separate; border-spacing: 0; overflow: hidden; width: 100%; }
.woocommerce-account table.account-orders-table thead th { background: #fafbfc; font-size: 0.6875rem; font-weight: var(--ap-fw-bold); text-transform: uppercase; letter-spacing: .07em; color: var(--ap-account-muted, #6b7280); padding: 12px 16px; border-bottom: 1px solid var(--ap-color-line); }
.woocommerce-account table.account-orders-table tbody td, .woocommerce-account table.account-orders-table tbody th { padding: 16px; border-bottom: 1px solid var(--ap-color-line); vertical-align: middle; font-size: 0.875rem; }
.woocommerce-account table.account-orders-table tbody tr:last-child td, .woocommerce-account table.account-orders-table tbody tr:last-child th { border-bottom: 0; }
.woocommerce-account table.account-orders-table tbody th a { font-weight: var(--ap-fw-bold); color: var(--ap-color-ink); text-decoration: none; }
.ap-order-meta { display: block; font-size: 0.75rem; font-weight: var(--ap-fw-medium); color: var(--ap-account-muted, #6b7280); margin-top: 2px; }
.ap-order-chip { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: var(--ap-r-pill); font-size: 0.6875rem; font-weight: var(--ap-fw-bold); }
.ap-order-chip--ok { background: var(--ap-ok-bg); color: var(--ap-ok-ink); }
.ap-order-chip--warn { background: var(--ap-warn-bg); color: var(--ap-warn-ink); }
.ap-order-chip--muted { background: var(--ap-muted-bg); color: var(--ap-gray-600); }
/* Acciones de la tabla de pedidos: SECUNDARIO claro con relieve, radio 7 -> 8 px (el de la casa). Los 34 px de alto se conservan; el media de 480 px ya los sube a 44. */
.woocommerce-account table.account-orders-table .woocommerce-button { display: inline-flex; align-items: center; min-height: 34px; padding: 4px 12px; border: 1px solid var(--ap-btn-light-line, #cfd5dc); border-radius: var(--ap-btn-radius, 8px); background-color: var(--ap-btn-light, #ffffff); background-image: var(--ap-btn-relief-light, linear-gradient(180deg, #ffffff 0%, #f1f3f6 100%)); box-shadow: var(--ap-btn-inset-light, inset 0 1px 0 rgba(255, 255, 255, 0.9)); color: var(--ap-btn-light-text, #152d3c); font-size: 0.75rem; font-weight: var(--ap-fw-bold); margin: 2px 6px 2px 0; text-decoration: none; transition: border-color var(--ap-transition), background-color var(--ap-transition), transform var(--ap-transition); --ap-btn-press-bg: var(--ap-btn-light-press, #eef2f7); }
.woocommerce-account table.account-orders-table .woocommerce-button:hover { background-image: none; background-color: var(--ap-btn-light-hover, #eef0f3); border-color: var(--ap-btn-light-line-hover, #152d3c); color: var(--ap-btn-light-text, #152d3c); transform: none; }
/* «Volver a comprar» es la accion callada de la fila: sigue siendo un enlace sin relleno ni filete, y de el solo cambia la tinta al carmin de la casa (5,6:1 sobre blanco, pasa AA). */
.woocommerce-account table.account-orders-table .ap-order-reorder { border-color: transparent; background-image: none; box-shadow: none; color: var(--ap-btn-primary, #bd3548); }
/* Bloque de ayuda */
.ap-orders-help { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--ap-color-line); border-radius: 14px; padding: 18px 20px; margin-top: 20px; flex-wrap: wrap; }
.ap-orders-help__icon { flex: none; width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--ap-cuenta-carmin-suave); color: var(--ap-cuenta-carmin-tinta); }
.ap-orders-help__body { flex: 1; min-width: 200px; }
.ap-orders-help__title { font-size: 0.875rem; font-weight: var(--ap-fw-bold); color: var(--ap-color-ink); }
.ap-orders-help__text { font-size: 0.8125rem; color: var(--ap-account-muted, #6b7280); margin: 2px 0 0; }
/* WhatsApp: del verde plano de antes (el --ap-whatsapp-bg de la base) al verde mate de la casa con relieve. El texto sigue blanco y el contraste sigue pasando AA (5,1:1 sobre #1f7a4d). */
.ap-btn-whatsapp { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 18px; border-radius: var(--ap-btn-radius, 8px); background-color: var(--ap-btn-green, #1f7a4d); background-image: var(--ap-btn-relief-green, linear-gradient(180deg, #2a9a63 0%, #1f7a4d 45%, #14563a 100%)); box-shadow: var(--ap-btn-inset-green, inset 0 1px 0 rgba(255, 255, 255, 0.14)); color: #fff; font-size: 0.8125rem; font-weight: var(--ap-fw-bold); text-decoration: none; transition: background-color var(--ap-transition), box-shadow var(--ap-transition), transform var(--ap-transition); --ap-btn-press-bg: var(--ap-btn-green-press, #14563a); }
.ap-btn-whatsapp:hover { background-image: none; background-color: var(--ap-btn-green-hover, #16623e); box-shadow: var(--ap-btn-shadow-green-hover, 0 4px 10px rgba(31, 122, 77, 0.28)); color: #fff; transform: none; }
/* Estado vacio premium (compartido por secciones de cuenta) */
.ap-account-empty { background: #fff; border: 1px solid var(--ap-color-line); border-radius: 14px; padding: 48px 28px; text-align: center; }
.ap-account-empty__icon { display: inline-flex; width: 66px; height: 66px; align-items: center; justify-content: center; border-radius: var(--ap-r-pill); background: var(--ap-muted-bg); color: var(--ap-gray-600); margin-bottom: 12px; }
.ap-account-empty__title { font-size: 1.1875rem; font-weight: 800; color: var(--ap-color-ink); margin: 0 0 6px; }
.ap-account-empty__text { font-size: 0.875rem; color: var(--ap-account-muted, #6b7280); max-width: 44ch; margin: 0 auto 18px; }
.ap-account-empty__cta { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border-radius: var(--ap-btn-radius, 8px); background-color: var(--ap-btn-primary, #bd3548); background-image: var(--ap-btn-relief-primary, radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.10), transparent 60%), linear-gradient(180deg, #cf4a5c 0%, #bd3548 45%, #952a3a 100%)); box-shadow: var(--ap-btn-inset-primary, inset 0 1px 0 rgba(255, 255, 255, 0.14)); color: #fff; font-size: 0.875rem; font-weight: var(--ap-fw-bold); text-decoration: none; transition: background-color var(--ap-transition), box-shadow var(--ap-transition), transform var(--ap-transition); --ap-btn-press-bg: var(--ap-btn-primary-press, #952a3a); }
.ap-account-empty__cta:hover { background-image: none; background-color: var(--ap-btn-primary-hover, #a72b3d); box-shadow: var(--ap-btn-shadow-primary-hover, 0 4px 10px rgba(189, 53, 72, 0.25)); color: #fff; transform: none; }
@media (max-width: 767px) {
    .ap-orders-stats { grid-template-columns: 1fr; }
    .ap-orders-help { flex-direction: column; align-items: flex-start; }
    .ap-orders-help .ap-btn-whatsapp { width: 100%; }
}
/* ============================================================================= R09D DESCARGAS — /mi-cuenta/downloads/ (Orden 09-D, Loop 3). Estado vacio premium (comparte .ap-account-empty) + tabla nativa de descargas re-estilizada. Solo tokens; cumple los gates del archivo. ============================================================================= */
.woocommerce-account table.woocommerce-table--order-downloads { background: #fff; border: 1px solid var(--ap-color-line); border-radius: 14px; border-collapse: separate; border-spacing: 0; overflow: hidden; width: 100%; }
.woocommerce-account table.woocommerce-table--order-downloads thead th { background: #fafbfc; font-size: 0.6875rem; font-weight: var(--ap-fw-bold); text-transform: uppercase; letter-spacing: .07em; color: var(--ap-account-muted, #6b7280); padding: 12px 16px; border-bottom: 1px solid var(--ap-color-line); }
.woocommerce-account table.woocommerce-table--order-downloads tbody td { padding: 14px 16px; border-bottom: 1px solid var(--ap-color-line); font-size: 0.8125rem; vertical-align: middle; }
.woocommerce-account table.woocommerce-table--order-downloads tbody tr:last-child td { border-bottom: 0; }
/* «Descargar» era grafito (#1a1a1a): la spec §2 manda que todo grafito de boton pase al petroleo mate. Mismo alto de 36 px, mismo sitio en la fila. */
.woocommerce-account table.woocommerce-table--order-downloads .woocommerce-MyAccount-downloads-file { display: inline-flex; align-items: center; min-height: 36px; padding: 4px 14px; border-radius: var(--ap-btn-radius, 8px); background-color: var(--ap-btn-dark, #152d3c); background-image: var(--ap-btn-relief-dark, radial-gradient(ellipse at 50% 0%, rgba(35, 119, 143, 0.30), transparent 60%), linear-gradient(180deg, #244a60 0%, #152d3c 45%, #0c1c26 100%)); box-shadow: var(--ap-btn-inset-dark, inset 0 1px 0 rgba(255, 255, 255, 0.10)); color: #fff; font-size: 0.75rem; font-weight: var(--ap-fw-bold); text-decoration: none; transition: background-color var(--ap-transition), box-shadow var(--ap-transition), transform var(--ap-transition); --ap-btn-press-bg: var(--ap-btn-dark-press, #152d3c); }
.woocommerce-account table.woocommerce-table--order-downloads .woocommerce-MyAccount-downloads-file:hover { background-image: none; background-color: var(--ap-btn-dark-hover, #26485b); box-shadow: none; color: #fff; transform: none; }
/* «Contactar soporte»: SECUNDARIO claro. Conserva su filete de 1,5 px, que es lo que le da cuerpo al lado del boton verde de WhatsApp. */
.ap-btn-soporte { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 18px; border-radius: var(--ap-btn-radius, 8px); border: 1.5px solid var(--ap-btn-light-line, #cfd5dc); background-color: var(--ap-btn-light, #ffffff); background-image: var(--ap-btn-relief-light, linear-gradient(180deg, #ffffff 0%, #f1f3f6 100%)); box-shadow: var(--ap-btn-inset-light, inset 0 1px 0 rgba(255, 255, 255, 0.9)); color: var(--ap-btn-light-text, #152d3c); font-size: 0.8125rem; font-weight: var(--ap-fw-bold); text-decoration: none; transition: border-color var(--ap-transition), background-color var(--ap-transition), transform var(--ap-transition); --ap-btn-press-bg: var(--ap-btn-light-press, #eef2f7); }
.ap-btn-soporte:hover { background-image: none; background-color: var(--ap-btn-light-hover, #eef0f3); border-color: var(--ap-btn-light-line-hover, #152d3c); color: var(--ap-btn-light-text, #152d3c); transform: none; }
/* ============================================================================= R09D DIRECCIONES — /mi-cuenta/edit-address/ (Orden 09-D, Loop 4). Dos tarjetas premium con badge de completitud real y aviso de campos faltantes. ============================================================================= */
.woocommerce-account .ap-addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ap-address-card { background: #fff; border: 1px solid var(--ap-color-line); border-radius: 14px; padding: 22px; box-shadow: var(--ap-shadow-sm); }
.ap-address-card__head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.ap-address-card__icon { flex: none; width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: var(--ap-bg, #f7f8fa); color: var(--ap-gray-600); }
.ap-address-card__title { font-size: 0.9375rem; font-weight: var(--ap-fw-bold); color: var(--ap-color-ink); margin: 0; flex: 1; }
.ap-address-badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: var(--ap-r-pill); font-size: 0.625rem; font-weight: var(--ap-fw-bold); text-transform: uppercase; letter-spacing: .04em; }
.ap-address-badge--ok { background: var(--ap-ok-bg); color: var(--ap-ok-ink); }
.ap-address-badge--warn { background: var(--ap-warn-bg); color: var(--ap-warn-ink); }
.ap-address-card__body { font-size: 0.84375rem; font-weight: var(--ap-fw-medium); font-style: normal; color: var(--ap-account-body, #374151); line-height: 1.7; margin-bottom: 14px; }
.ap-address-card__notice { display: flex; align-items: flex-start; gap: 8px; background: var(--ap-warn-bg); color: var(--ap-warn-ink); font-size: 0.75rem; font-weight: var(--ap-fw-semibold); border-radius: 9px; padding: 10px 12px; margin-bottom: 14px; }
.ap-address-card__edit, .ap-address-card__complete { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 18px; border-radius: var(--ap-btn-radius, 8px); font-size: 0.8125rem; font-weight: var(--ap-fw-bold); text-decoration: none; transition: border-color var(--ap-transition), background-color var(--ap-transition), box-shadow var(--ap-transition), transform var(--ap-transition); }
.ap-address-card__edit { border: 1.5px solid var(--ap-btn-light-line, #cfd5dc); background-color: var(--ap-btn-light, #ffffff); background-image: var(--ap-btn-relief-light, linear-gradient(180deg, #ffffff 0%, #f1f3f6 100%)); box-shadow: var(--ap-btn-inset-light, inset 0 1px 0 rgba(255, 255, 255, 0.9)); color: var(--ap-btn-light-text, #152d3c); --ap-btn-press-bg: var(--ap-btn-light-press, #eef2f7); }
.ap-address-card__edit:hover { background-image: none; background-color: var(--ap-btn-light-hover, #eef0f3); border-color: var(--ap-btn-light-line-hover, #152d3c); color: var(--ap-btn-light-text, #152d3c); transform: none; }
.ap-address-card__complete { background-color: var(--ap-btn-primary, #bd3548); background-image: var(--ap-btn-relief-primary, radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.10), transparent 60%), linear-gradient(180deg, #cf4a5c 0%, #bd3548 45%, #952a3a 100%)); box-shadow: var(--ap-btn-inset-primary, inset 0 1px 0 rgba(255, 255, 255, 0.14)); color: #fff; --ap-btn-press-bg: var(--ap-btn-primary-press, #952a3a); }
.ap-address-card__complete:hover { background-image: none; background-color: var(--ap-btn-primary-hover, #a72b3d); box-shadow: var(--ap-btn-shadow-primary-hover, 0 4px 10px rgba(189, 53, 72, 0.25)); color: #fff; transform: none; }
@media (max-width: 767px) {
    .woocommerce-account .ap-addresses { grid-template-columns: 1fr; }
    .ap-address-card__edit, .ap-address-card__complete { width: 100%; }
}
/* ============================================================================= R09D METODOS DE PAGO — /mi-cuenta/payment-methods/ (Orden 09-D, Loop 5). Estado vacio premium + banda de seguridad + tabla nativa re-estilizada. ============================================================================= */
.ap-payment-security { display: flex; align-items: flex-start; gap: 10px; background: var(--ap-ok-bg); color: var(--ap-ok-ink); font-size: 0.78125rem; font-weight: var(--ap-fw-semibold); line-height: 1.5; border-radius: 10px; padding: 12px 14px; margin-top: 16px; }
.ap-payment-security svg { flex: none; margin-top: 1px; }
.woocommerce-account table.account-payment-methods-table { background: #fff; border: 1px solid var(--ap-color-line); border-radius: 14px; border-collapse: separate; border-spacing: 0; overflow: hidden; width: 100%; }
.woocommerce-account table.account-payment-methods-table thead th { background: #fafbfc; font-size: 0.6875rem; font-weight: var(--ap-fw-bold); text-transform: uppercase; letter-spacing: .07em; color: var(--ap-account-muted, #6b7280); padding: 12px 16px; border-bottom: 1px solid var(--ap-color-line); }
.woocommerce-account table.account-payment-methods-table td { padding: 14px 16px; border-bottom: 1px solid var(--ap-color-line); font-size: 0.8125rem; vertical-align: middle; }
.woocommerce-account table.account-payment-methods-table tr:last-child td { border-bottom: 0; }
/* Acciones de la tabla de metodos: SECUNDARIO claro, radio 7 -> 8 px, mismos 34 px. */
.woocommerce-account table.account-payment-methods-table .button { display: inline-flex; align-items: center; min-height: 34px; padding: 4px 12px; border: 1px solid var(--ap-btn-light-line, #cfd5dc); border-radius: var(--ap-btn-radius, 8px); background-color: var(--ap-btn-light, #ffffff); background-image: var(--ap-btn-relief-light, linear-gradient(180deg, #ffffff 0%, #f1f3f6 100%)); box-shadow: var(--ap-btn-inset-light, inset 0 1px 0 rgba(255, 255, 255, 0.9)); color: var(--ap-btn-light-text, #152d3c); font-size: 0.75rem; font-weight: var(--ap-fw-bold); text-decoration: none; transition: border-color var(--ap-transition), background-color var(--ap-transition), transform var(--ap-transition); --ap-btn-press-bg: var(--ap-btn-light-press, #eef2f7); }
.woocommerce-account table.account-payment-methods-table .button:hover { background-image: none; background-color: var(--ap-btn-light-hover, #eef0f3); border-color: var(--ap-btn-light-line-hover, #152d3c); color: var(--ap-btn-light-text, #152d3c); transform: none; }
.woocommerce-account .ap-payment-add { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px; margin-top: 16px; border-radius: var(--ap-btn-radius, 8px); background-color: var(--ap-btn-primary, #bd3548); background-image: var(--ap-btn-relief-primary, radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.10), transparent 60%), linear-gradient(180deg, #cf4a5c 0%, #bd3548 45%, #952a3a 100%)); box-shadow: var(--ap-btn-inset-primary, inset 0 1px 0 rgba(255, 255, 255, 0.14)); color: #fff; font-size: 0.8125rem; font-weight: var(--ap-fw-bold); text-decoration: none; transition: background-color var(--ap-transition), box-shadow var(--ap-transition), transform var(--ap-transition); --ap-btn-press-bg: var(--ap-btn-primary-press, #952a3a); }
.woocommerce-account .ap-payment-add:hover { background-image: none; background-color: var(--ap-btn-primary-hover, #a72b3d); box-shadow: var(--ap-btn-shadow-primary-hover, 0 4px 10px rgba(189, 53, 72, 0.25)); color: #fff; transform: none; }
/* ============================================================================= R09D DETALLES — /mi-cuenta/edit-account/ (Orden 09-D, Loop 6). Formulario nativo como dos paneles premium (Datos personales / Seguridad) + ojo de contraseña accesible. Campos y nonce nativos intactos. ============================================================================= */
.woocommerce-account form.woocommerce-EditAccountForm { background: #fff; border: 1px solid var(--ap-color-line); border-radius: 14px; padding: 24px; max-width: 720px; }
.ap-account-block-head { margin-bottom: 16px; }
.ap-account-block-head__title { display: block; font-size: 1rem; font-weight: var(--ap-fw-bold); color: var(--ap-color-ink); }
.ap-account-block-head__text { font-size: 0.8125rem; color: var(--ap-account-muted, #6b7280); margin: 4px 0 0; }
.woocommerce-account .woocommerce-EditAccountForm .form-row label { display: block; font-size: 0.8125rem; font-weight: var(--ap-fw-semibold); color: var(--ap-color-ink); margin-bottom: 6px; }
.woocommerce-account .woocommerce-EditAccountForm .woocommerce-Input { width: 100%; min-height: 48px; border: 1.5px solid var(--ap-color-line); border-radius: var(--ap-r); padding: 0 14px; font-size: 0.875rem; color: var(--ap-account-body, #374151); background: #fff; transition: border-color var(--ap-transition), box-shadow var(--ap-transition); }
/* Panel "Seguridad": el fieldset nativo como sub-tarjeta */
.woocommerce-account .woocommerce-EditAccountForm fieldset { border: 1px solid var(--ap-color-line); border-radius: 12px; padding: 18px; margin: 20px 0 0; }
.woocommerce-account .woocommerce-EditAccountForm fieldset legend { font-size: 1rem; font-weight: var(--ap-fw-bold); color: var(--ap-color-ink); padding: 0 6px; }
/* Ojo de contraseña accesible (44px) */
.ap-eye-wrap { position: relative; display: block; }
.ap-eye-wrap .woocommerce-Input { width: 100%; padding-right: 52px; }
.woocommerce-account form.woocommerce-EditAccountForm .password-input .ap-eye-toggle { position: absolute; top: 50%; right: 4px; transform: translateY(-50%); width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 0; background: transparent; color: var(--ap-gray-600); cursor: pointer; border-radius: var(--ap-r); }
.woocommerce-account form.woocommerce-EditAccountForm .password-input .ap-eye-toggle::before { content: none; }
.ap-eye-toggle:focus-visible { outline: var(--ap-btn-focus, 2px solid #087b90); outline-offset: 2px; box-shadow: none; }
/* Botones: Guardar (nativo) + Cancelar */
.woocommerce-account .woocommerce-EditAccountForm button[name="save_account_details"] { min-height: 48px; padding: 0 22px; border: 0; border-radius: var(--ap-btn-radius, 8px); background-color: var(--ap-btn-primary, #bd3548); background-image: var(--ap-btn-relief-primary, radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.10), transparent 60%), linear-gradient(180deg, #cf4a5c 0%, #bd3548 45%, #952a3a 100%)); box-shadow: var(--ap-btn-inset-primary, inset 0 1px 0 rgba(255, 255, 255, 0.14)); color: #fff; font-size: 0.875rem; font-weight: var(--ap-fw-bold); cursor: pointer; transition: background-color var(--ap-transition), box-shadow var(--ap-transition), transform var(--ap-transition); --ap-btn-press-bg: var(--ap-btn-primary-press, #952a3a); }
.woocommerce-account .woocommerce-EditAccountForm button[name="save_account_details"]:hover { background-image: none; background-color: var(--ap-btn-primary-hover, #a72b3d); box-shadow: var(--ap-btn-shadow-primary-hover, 0 4px 10px rgba(189, 53, 72, 0.25)); color: #fff; transform: none; }
.ap-account-cancel { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; margin: 20px 12px 0 0; vertical-align: middle; border: 1.5px solid var(--ap-btn-light-line, #cfd5dc); border-radius: var(--ap-btn-radius, 8px); background-color: var(--ap-btn-light, #ffffff); background-image: var(--ap-btn-relief-light, linear-gradient(180deg, #ffffff 0%, #f1f3f6 100%)); box-shadow: var(--ap-btn-inset-light, inset 0 1px 0 rgba(255, 255, 255, 0.9)); color: var(--ap-btn-light-text, #152d3c); font-size: 0.875rem; font-weight: var(--ap-fw-bold); text-decoration: none; transition: border-color var(--ap-transition), background-color var(--ap-transition), transform var(--ap-transition); --ap-btn-press-bg: var(--ap-btn-light-press, #eef2f7); }
.ap-account-cancel:hover { background-image: none; background-color: var(--ap-btn-light-hover, #eef0f3); border-color: var(--ap-btn-light-line-hover, #152d3c); color: var(--ap-btn-light-text, #152d3c); transform: none; }
/* Fila de acciones: el parrafo nativo del boton Guardar se vuelve inline-level para alinearse en la MISMA linea que el enlace Cancelar (el hook lo imprime antes del parrafo; sin esto quedan apilados y pegados). No toca el form ni el nonce. */
.woocommerce-account .woocommerce-EditAccountForm p:has(button[name="save_account_details"]) { display: inline-flex; align-items: center; vertical-align: middle; margin: 20px 0 0; }
@media (max-width: 767px) {
    .woocommerce-account form.woocommerce-EditAccountForm { padding: 18px; }
    .woocommerce-account .woocommerce-EditAccountForm button[name="save_account_details"], .ap-account-cancel { width: 100%; }
    .ap-account-cancel { margin: 16px 0 0; }
    .woocommerce-account .woocommerce-EditAccountForm p:has(button[name="save_account_details"]) { display: flex; width: 100%; margin: 10px 0 0; }
}
/* ============================================================================= R09D DIRECCION (EDITAR) Y VER PEDIDO — pasada premium del 2026-09-18. Medido en Local antes: el formulario nativo de «Editar direccion» salia con el estilo de Blocksy (titulo blanco sobre gris, campos de 2 px #303030, letra #898989 y «Guardar direccion» plano en #E02B20) y «Ver pedido», con sus dos titulos blancos y la tabla en #898989. Ahora son tarjetas como «Detalles», en la tipografia y los tonos de la casa. Campos y nonces nativos intactos. ============================================================================= */
.woocommerce-account .woocommerce-MyAccount-content > form:has(.woocommerce-address-fields) { background: #fff; border: 1px solid var(--ap-color-line); border-radius: 14px; padding: 24px; max-width: 720px; }
.woocommerce-account .woocommerce-MyAccount-content > form:has(.woocommerce-address-fields) > h2, .woocommerce-account .woocommerce-order-details__title, .woocommerce-account .woocommerce-column__title { margin: 0 0 16px; font-family: var(--ap-font-sans); font-size: 1.0625rem; font-weight: var(--ap-fw-bold); letter-spacing: 0; color: var(--ap-color-ink); }
.woocommerce-account .woocommerce-address-fields .form-row label { display: block; margin-bottom: 6px; font-family: var(--ap-font-sans); font-size: 0.8125rem; font-weight: var(--ap-fw-semibold); color: var(--ap-color-ink); }
.woocommerce-account .woocommerce-address-fields :where(.input-text, select) { min-height: 48px; border-radius: 8px; background-color: #fff; font-family: var(--ap-font-sans); font-size: 0.875rem; color: var(--ap-account-body, #374151); }
.woocommerce-account .woocommerce-address-fields .select2-container--default .select2-selection--single { min-height: 48px; border-radius: 8px; font-family: var(--ap-font-sans); }
/* Un solo chevron en el formulario, el petroleo del pago: el selectWoo mostraba el triangulo negro de select2 y el select nativo, el chevron gris de Blocksy. Como en el pago, el pais unico no es una eleccion y queda sin flecha. */
.woocommerce-account .woocommerce-address-fields select:not(.country_to_state--single) { padding-right: 40px; background-image: var(--ap-cuenta-flecha); background-repeat: no-repeat; background-position: right 14px center; background-size: 12px 8px; cursor: pointer; }
.woocommerce-account .woocommerce-address-fields select.country_to_state--single { background-image: none; }
.woocommerce-account .woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__arrow { top: 0; right: 0; width: 40px; height: 100%; background-image: var(--ap-cuenta-flecha); background-repeat: no-repeat; background-position: center; background-size: 12px 8px; }
.woocommerce-account .woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__arrow b { display: none; }
.woocommerce-account .woocommerce-address-fields .select2-selection--single .select2-selection__rendered { font-size: 0.875rem; color: var(--ap-account-body, #374151); }
.woocommerce-account .woocommerce-address-fields .select2-container--default.select2-container--focus .select2-selection--single, .woocommerce-account .woocommerce-address-fields .select2-container--default.select2-container--open .select2-selection--single { border-color: var(--ap-cuenta-cian); box-shadow: var(--ap-cuenta-cian-halo); }
/* El desplegable de selectWoo vive al final del body (fuera de .woocommerce): la opcion resaltada deja el rojo de la paleta por el cian suave con texto petroleo, como en el pago. */
body.woocommerce-account .select2-dropdown .select2-results__option--highlighted[aria-selected], body.woocommerce-account .select2-dropdown .select2-results__option--highlighted[data-selected] { background-color: var(--ap-cuenta-cian-suave); color: var(--ap-cuenta-petroleo); }
/* Asterisco de obligatorio: Blocksy lo pinta en red puro. */
body.woocommerce-account .woocommerce .required { color: var(--ap-cuenta-carmin); }
/* «Guardar direccion»: el CTA carmin con relieve, igual que «Guardar cambios» de Detalles. */
.woocommerce-account .woocommerce-address-fields button[name="save_address"] { min-height: 48px; padding: 0 22px; border: 0; border-radius: var(--ap-btn-radius, 8px); background-color: var(--ap-btn-primary, #bd3548); background-image: var(--ap-btn-relief-primary, radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.10), transparent 60%), linear-gradient(180deg, #cf4a5c 0%, #bd3548 45%, #952a3a 100%)); box-shadow: var(--ap-btn-inset-primary, inset 0 1px 0 rgba(255, 255, 255, 0.14)); color: #fff; font-family: var(--ap-font-sans); font-size: 0.875rem; font-weight: var(--ap-fw-bold); cursor: pointer; transition: background-color var(--ap-transition), box-shadow var(--ap-transition), transform var(--ap-transition); --ap-btn-press-bg: var(--ap-btn-primary-press, #952a3a); }
.woocommerce-account .woocommerce-address-fields button[name="save_address"]:hover { background-image: none; background-color: var(--ap-btn-primary-hover, #a72b3d); box-shadow: var(--ap-btn-shadow-primary-hover, 0 4px 10px rgba(189, 53, 72, 0.25)); color: #fff; transform: none; }
/* «Ver pedido»: dos tarjetas (detalle y direccion), filas con la linea de la casa y el total en tinta. */
.woocommerce-account .woocommerce-order-details, .woocommerce-account .woocommerce-customer-details { background: #fff; border: 1px solid var(--ap-color-line); border-radius: 14px; padding: 22px; margin-bottom: 20px; font-family: var(--ap-font-sans); }
.woocommerce-account .woocommerce-table--order-details :where(th, td) { border-bottom: 1px solid var(--ap-color-line); color: var(--ap-account-body, #374151); }
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child :where(th, td) { color: var(--ap-color-ink); font-weight: 800; }
.woocommerce-account .woocommerce-customer-details address { border: 1px solid var(--ap-color-line); border-radius: 12px; background: var(--ap-cuenta-tinte); padding: 16px 20px; line-height: 1.7; }
/* ============================================================================= R09D ESTADOS DEL RELIEVE — pulsado y foco compartidos por los botones de Mi cuenta (orden del dueno 2026-09-13, lote L5 de «Botones de la casa»). Una sola regla por estado en vez de una por boton: cada boton deja dicho su tono de pulsado en --ap-btn-press-bg y aqui se lee. Los selectores repiten la especificidad de la regla base de cada boton (y van despues en la cascada) para ganarle sin marcas de prioridad. El foco es un contorno teal, no el halo de box-shadow de --ap-focus-ring: un halo tapa el relieve. ============================================================================= */
body.woocommerce-account .ap-account button.ap-account__submit:active, .ap-account__social .nsl-button:active, .ap-account__tab.is-active:active, .woocommerce-account form.woocommerce-ResetPassword button.woocommerce-Button.button:active, .woocommerce-account form.woocommerce-ResetPassword button[type="submit"]:active, .ap-dash__reorder:active, .ap-dash-btn:active, .woocommerce-account table.account-orders-table .woocommerce-button:active, .ap-btn-whatsapp:active, .ap-account-empty__cta:active, .woocommerce-account table.woocommerce-table--order-downloads .woocommerce-MyAccount-downloads-file:active, .ap-btn-soporte:active, .ap-address-card__edit:active, .ap-address-card__complete:active, .woocommerce-account table.account-payment-methods-table .button:active, .woocommerce-account .ap-payment-add:active, .woocommerce-account .woocommerce-EditAccountForm button[name="save_account_details"]:active, .ap-account-cancel:active, .woocommerce-account .woocommerce-address-fields button[name="save_address"]:active { background-image: none; background-color: var(--ap-btn-press-bg, transparent); transform: var(--ap-btn-press, scale(0.985)); }
body.woocommerce-account .ap-account button.ap-account__submit:focus-visible, .ap-account__social .nsl-button:focus-visible, .ap-account__tab:focus-visible, .woocommerce-account form.woocommerce-ResetPassword button.woocommerce-Button.button:focus-visible, .woocommerce-account form.woocommerce-ResetPassword button[type="submit"]:focus-visible, .ap-dash .ap-dash__reorder:focus-visible, .ap-dash .ap-dash-btn:focus-visible, .woocommerce-account table.account-orders-table .woocommerce-button:focus-visible, .ap-btn-whatsapp:focus-visible, .ap-account-empty__cta:focus-visible, .woocommerce-account table.woocommerce-table--order-downloads .woocommerce-MyAccount-downloads-file:focus-visible, .ap-btn-soporte:focus-visible, .ap-address-card__edit:focus-visible, .ap-address-card__complete:focus-visible, .woocommerce-account table.account-payment-methods-table .button:focus-visible, .woocommerce-account .ap-payment-add:focus-visible, .woocommerce-account .woocommerce-EditAccountForm button[name="save_account_details"]:focus-visible, .ap-account-cancel:focus-visible, .woocommerce-account .woocommerce-address-fields button[name="save_address"]:focus-visible { outline: var(--ap-btn-focus, 2px solid #087b90); outline-offset: 2px; box-shadow: none; }
/* ============================================================================= R09D RESPONSIVE — ajustes transversales de las secciones de cuenta (Loop 7). Padding movil del contenedor, area tactil minima de los chips y foco visible. ============================================================================= */
@media (max-width: 480px) {
    .woocommerce-account .ct-container, .woocommerce-account .ct-container-narrow { padding-left: 16px; padding-right: 16px; }
    .woocommerce-account .ct-woo-account { padding: 18px 12px 32px; }
    .woocommerce-account .woocommerce-MyAccount-navigation li a { min-height: 44px; }
    .woocommerce-account table.account-orders-table .woocommerce-button, .woocommerce-account table.account-payment-methods-table .button { min-height: 44px; }
}
/* El menu lateral NO es un boton de la casa: conserva su aro de box-shadow, desde el 2026-09-18 en cian macizo de 2 px (el foco unico de la casa; el halo coral translucido quedo retirado). Los botones que antes estaban en esta lista pasaron al contorno teal de la seccion «R09D ESTADOS DEL RELIEVE» (2026-09-13). */
.woocommerce-account .woocommerce-MyAccount-navigation li a:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--ap-cuenta-cian); }
/* ============================================================================= R09D AVISOS — fix quirurgico del icono de los avisos nativos de cuenta. La regla de Orden 08 posiciona el icono ::before con position:absolute pero el aviso no era contexto de posicionamiento: dentro del grid del shell el circulo se escapaba de la tarjeta. Aqui se ancla al propio aviso, centrado verticalmente. Misma especificidad que la regla original; gana por orden de cascada. ============================================================================= */
.woocommerce-account :where(.woocommerce-error, .woocommerce-message, .woocommerce-info) { position: relative; }
.woocommerce-account :where(.woocommerce-error, .woocommerce-message, .woocommerce-info)::before { left: 16px; top: 50%; transform: translateY(-50%); margin-left: 0; border-color: var(--ap-aviso-icono, currentColor); }
/* Movimiento reducido: el escalado del pulsado se apaga con la preferencia del sistema. Va al final de la hoja y repite los selectores del pulsado para ganarle por orden de cascada, igual que hace la familia .ap-btn en ap-woo-base.css. */
@media (prefers-reduced-motion: reduce) {
    body.woocommerce-account .ap-account button.ap-account__submit:active, .ap-account__social .nsl-button:active, .ap-account__tab.is-active:active, .woocommerce-account form.woocommerce-ResetPassword button.woocommerce-Button.button:active, .woocommerce-account form.woocommerce-ResetPassword button[type="submit"]:active, .ap-dash__reorder:active, .ap-dash-btn:active, .woocommerce-account table.account-orders-table .woocommerce-button:active, .ap-btn-whatsapp:active, .ap-account-empty__cta:active, .woocommerce-account table.woocommerce-table--order-downloads .woocommerce-MyAccount-downloads-file:active, .ap-btn-soporte:active, .ap-address-card__edit:active, .ap-address-card__complete:active, .woocommerce-account table.account-payment-methods-table .button:active, .woocommerce-account .ap-payment-add:active, .woocommerce-account .woocommerce-EditAccountForm button[name="save_account_details"]:active, .ap-account-cancel:active, .woocommerce-account .woocommerce-address-fields button[name="save_address"]:active { transform: none; }
}
