/* ==========================================================================
   Account — Mi Cuenta
   Archivo  : assets/css/shared/account.css
   Versión  : 2.0
   Cargado  : por inc/enqueue.php en is_account_page()
   Depende  : assets/css/app.css

   CAMBIOS v2.0 vs v1.0:
   ─────────────────────────────────────────────────────────────────────────
   - Resets de Storefront más agresivos: #page, #primary, .site-main,
     .hentry, .entry-content y .woocommerce quedan 100% transparentes
     y sin padding/margin que contaminen el layout.
   - .woocommerce-MyAccount-content recibe surface card (bg + border +
     radius + padding). Antes flotaba sin contenedor visual.
   - .woocommerce-EditAccountForm y .woocommerce-address-fields pierden
     su propia card (bg + border) porque ahora viven dentro del
     content card → evita doble-card (nested card).
   - .woocommerce-orders-table ajustado para verse correctamente dentro
     del nuevo content card (sin border-radius duplicado).
   ─────────────────────────────────────────────────────────────────────────

   PREFIJO : ac- (account) — no colisiona con cm-, il-, im-, lp-.
   SCOPE   : .ac-page y clases nativas de WooCommerce (.woocommerce-MyAccount-*)
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. TOKENS
   -------------------------------------------------------------------------- */
:root {
    /* Fondos */
    --ac-page-bg:        #f5f5f7;
    --ac-surface:        #ffffff;
    --ac-surface-2:      #f9f9f9;
    --ac-surface-hover:  #f2f2f4;

    /* Bordes */
    --ac-border:         rgba(0, 0, 0, .07);
    --ac-border-strong:  rgba(0, 0, 0, .13);

    /* Texto */
    --ac-text-1:         #1d1d1f;
    --ac-text-2:         #6e6e73;
    --ac-text-3:         #a1a1a6;

    /* Acento corporativo (gold) */
    --ac-accent:         #c5a97e;
    --ac-accent-deep:    #a08550;
    --ac-accent-soft:    #dfc9a0;

    /* Inputs */
    --ac-input-bg:       #ffffff;
    --ac-input-border:   rgba(0, 0, 0, .12);
    --ac-input-focus:    #c5a97e;
    --ac-input-color:    #1d1d1f;
    --ac-input-ph:       #a1a1a6;

    /* Radios */
    --ac-radius-sm:      10px;
    --ac-radius:         16px;
    --ac-radius-lg:      24px;

    /* Timing */
    --ac-ease:           cubic-bezier(.165, .84, .44, 1);
    --ac-t:              .25s;
}


/* --------------------------------------------------------------------------
   2. BODY / STOREFRONT RESETS — AGRESIVOS
   --------------------------------------------------------------------------
   Objetivo: la cuenta es una "app shell" propia.
   Todo el andamiaje de Storefront debe ser invisible.
   -------------------------------------------------------------------------- */

/* Fondo de página */
body.woocommerce-account {
    background-color: var(--ac-page-bg) !important;
}

/* Neutralizar TODOS los wrappers estructurales de Storefront/WP */
body.woocommerce-account #page,
body.woocommerce-account #content,
body.woocommerce-account #primary,
body.woocommerce-account .content-area,
body.woocommerce-account .site-main,
body.woocommerce-account article.page,
body.woocommerce-account .hentry,
body.woocommerce-account .entry-content,
body.woocommerce-account .page-content {
    background:  transparent !important;
    border:      none        !important;
    box-shadow:  none        !important;
    float:       none        !important;
    clear:       none        !important;
    max-width:   none        !important;
}

/* Quitar padding/margin de los wrappers de contenido */
body.woocommerce-account .entry-content,
body.woocommerce-account .page-content {
    padding: 0 !important;
    margin:  0 !important;
}

body.woocommerce-account .site-main,
body.woocommerce-account #primary,
body.woocommerce-account .content-area {
    padding: 0   !important;
    margin:  0   !important;
    width:   100% !important;
}

/* El wrapper .woocommerce que WC inyecta */
body.woocommerce-account .woocommerce {
    background: transparent !important;
    border:     none        !important;
    box-shadow: none        !important;
    max-width:  none        !important;
    padding:    0           !important;
    margin:     0           !important;
    width:      100%        !important;
}

/* Suprimir breadcrumb nativo de Storefront */
body.woocommerce-account .woocommerce-breadcrumb {
    display: none !important;
}

/* Suprimir entry-header / page-title de Storefront */
body.woocommerce-account .entry-header,
body.woocommerce-account .page-title {
    display: none !important;
}

/* Suprimir overflow: hidden que Storefront aplica en .site-content */
body.woocommerce-account .site-content {
    overflow: visible !important;
    background: transparent !important;
}

/* Notices wrapper: posicionado dentro del flujo de .ac-page */
body.woocommerce-account .woocommerce-notices-wrapper {
    max-width:      var(--max-w, 1400px);
    margin-inline:  auto;
    padding-inline: var(--pad-x, 60px);
    padding-top:    16px;
}


/* --------------------------------------------------------------------------
   3. LAYOUT
   -------------------------------------------------------------------------- */
.ac-page {
    width:          100%;
    min-height:     70vh;     /* garantiza fondo page-bg siempre visible */
    padding-bottom: 96px;
}

/* Grid principal: sidebar fijo + contenido flexible */
.ac-layout {
    max-width:      var(--max-w, 1400px);
    margin-inline:  auto;
    padding-inline: var(--pad-x, 60px);
    padding-top:    40px;
    display:        grid;
    grid-template-columns: 260px 1fr;
    gap:            40px;
    align-items:    start;
}

/* Guest: centrado, sin sidebar */
.ac-auth {
    max-width:      var(--max-w, 1400px);
    margin-inline:  auto;
    padding-inline: var(--pad-x, 60px);
    padding-top:    48px;
}


/* --------------------------------------------------------------------------
   4. SIDEBAR
   -------------------------------------------------------------------------- */
.ac-sidebar {
    position:        sticky;
    top:             88px;   /* offset para el header sticky (68px + gap) */
    display:         flex;
    flex-direction:  column;
    gap:             8px;
}

/* ── Bloque de usuario ──────────────────────────────────────────────────── */
.ac-user {
    display:       flex;
    align-items:   center;
    gap:           12px;
    padding:       16px;
    background:    var(--ac-surface);
    border:        1px solid var(--ac-border);
    border-radius: var(--ac-radius);
    margin-bottom: 8px;
}

.ac-user__avatar-wrap {
    flex-shrink: 0;
}

.ac-user__avatar {
    width:         44px !important;
    height:        44px !important;
    border-radius: 50%  !important;
    object-fit:    cover;
    display:       block;
    border:        2px solid var(--ac-border);
}

.ac-user__info {
    display:        flex;
    flex-direction: column;
    gap:            2px;
    min-width:      0;
}

.ac-user__name {
    font-size:      13px;
    font-weight:    700;
    color:          var(--ac-text-1);
    letter-spacing: 0;
    white-space:    nowrap;
    overflow:       hidden;
    text-overflow:  ellipsis;
}

.ac-user__email {
    font-size:     11px;
    color:         var(--ac-text-3);
    white-space:   nowrap;
    overflow:      hidden;
    text-overflow: ellipsis;
}

/* ── Nav WooCommerce ────────────────────────────────────────────────────── */
.woocommerce-MyAccount-navigation {
    background:    var(--ac-surface);
    border:        1px solid var(--ac-border);
    border-radius: var(--ac-radius);
    overflow:      hidden;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding:    0;
    margin:     0;
}

.woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid var(--ac-border);
}

.woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none;
}

.woocommerce-MyAccount-navigation ul li a {
    display:         flex;
    align-items:     center;
    padding:         13px 18px;
    font-size:       12px;
    font-weight:     600;
    letter-spacing:  .02em;
    color:           var(--ac-text-2);
    text-decoration: none;
    transition:
        color        var(--ac-t) ease,
        background   var(--ac-t) ease,
        padding-left var(--ac-t) var(--ac-ease);
}

.woocommerce-MyAccount-navigation ul li a:hover {
    color:        var(--ac-text-1);
    background:   var(--ac-surface-hover);
    padding-left: 22px;
}

/* Item activo */
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-active a {
    color:        var(--ac-accent);
    background:   rgba(197, 169, 126, .06);
    border-left:  2px solid var(--ac-accent);
    padding-left: 16px;   /* compensa los 2px del borde */
    font-weight:  700;
}

/* Logout */
.woocommerce-MyAccount-navigation-link--customer-logout a {
    color:       var(--ac-text-3) !important;
    font-weight: 500             !important;
}
.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    color:       rgba(255, 59, 48, .70)    !important;
    background:  rgba(255, 59, 48, .04)   !important;
    border-left: none                      !important;
}


/* --------------------------------------------------------------------------
   5. CONTENIDO PRINCIPAL
   -------------------------------------------------------------------------- */
.ac-content {
    min-width: 0;
}

.ac-content__inner {
    /* Contenedor directo del output de WC — sin estilos propios */
}

/* ── Surface card del contenido WooCommerce ─────────────────────────────── */
/*
 * KEY FIX v2.0:
 * WC inyecta .woocommerce-MyAccount-content para TODOS los endpoints.
 * Sin este bloque, el dashboard (párrafo suelto) flota sin contenedor
 * visual, y la página parece "WooCommerce incrustado".
 * Todos los endpoints quedan ahora dentro de un card blanco uniforme.
 */
.woocommerce-MyAccount-content {
    background:    var(--ac-surface);
    border:        1px solid var(--ac-border);
    border-radius: var(--ac-radius-lg);
    padding:       32px;
    min-height:    200px;
}

/* Heading H2/H3 dentro del contenido */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    font-size:      clamp(18px, 2vw, 26px);
    font-weight:    800;
    letter-spacing: 0;
    color:          var(--ac-text-1);
    margin:         0 0 20px;
    line-height:    1.1;
}

/* Párrafos de intro */
.woocommerce-MyAccount-content > p {
    font-size:     14px;
    line-height:   1.72;
    color:         var(--ac-text-2);
    margin-bottom: 20px;
}

/* Fuerte dentro del dashboard */
.woocommerce-MyAccount-content > p strong {
    color:       var(--ac-text-1);
    font-weight: 700;
}

/* Links dentro del contenido */
.woocommerce-MyAccount-content a:not(.button):not(.ac-btn) {
    color:           var(--ac-accent);
    text-decoration: none;
    font-weight:     600;
    transition:      color var(--ac-t) ease;
}
.woocommerce-MyAccount-content a:not(.button):not(.ac-btn):hover {
    color: var(--ac-accent-deep);
}


/* --------------------------------------------------------------------------
   6. AUTH — GUEST (login + registro)
   -------------------------------------------------------------------------- */

/* WC genera #customer_login.col2-set con dos columnas */
.ac-auth #customer_login.col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap:    24px;
    align-items: start;
}

.ac-auth #customer_login .col-1,
.ac-auth #customer_login .col-2 {
    background:    var(--ac-surface);
    border:        1px solid var(--ac-border);
    border-radius: var(--ac-radius-lg);
    padding:       36px;
}

/* Título sobre el grid */
.ac-auth > h2,
.ac-auth > .woocommerce-MyAccount-content > h2 {
    font-size:      clamp(26px, 3vw, 38px);
    font-weight:    800;
    letter-spacing: 0;
    color:          var(--ac-text-1);
    margin-bottom:  28px;
}

/* WC envuelve el formulario de login en .woocommerce-MyAccount-content */
/* Para el estado guest, neutralizamos la card general y dejamos el */
/* card a los .col-1 / .col-2 individuales */
.ac-auth .woocommerce-MyAccount-content {
    background:    transparent;
    border:        none;
    border-radius: 0;
    padding:       0;
    min-height:    auto;
}

/* Títulos de cada columna */
.ac-auth .col-1 h2,
.ac-auth .col-2 h2 {
    font-size:      18px;
    font-weight:    800;
    letter-spacing: 0;
    color:          var(--ac-text-1);
    margin-bottom:  6px;
}

/* Línea decorativa bajo el título de login */
.ac-auth .col-1 h2::after {
    content:       '';
    display:       block;
    width:         32px;
    height:        2px;
    background:    var(--ac-accent);
    margin-top:    8px;
    border-radius: 2px;
}

/* ¿Olvidaste tu contraseña? */
.ac-auth .woocommerce-LostPassword {
    margin-top: 12px;
}
.ac-auth .woocommerce-LostPassword a {
    font-size:       11px;
    color:           var(--ac-text-3);
    text-decoration: none;
    transition:      color var(--ac-t) ease;
}
.ac-auth .woocommerce-LostPassword a:hover {
    color: var(--ac-accent);
}

/* Texto de privacidad */
.ac-auth .woocommerce-privacy-policy-text {
    font-size:     11px;
    line-height:   1.6;
    color:         var(--ac-text-3);
    margin-bottom: 16px;
}
.ac-auth .woocommerce-privacy-policy-text a {
    color: var(--ac-accent);
}

/* Checkbox "Remember me" */
.ac-auth .woocommerce-form__label-for-checkbox {
    display:       flex;
    align-items:   center;
    gap:           8px;
    font-size:     12px;
    color:         var(--ac-text-2);
    cursor:        pointer;
    margin-bottom: 16px;
}
.ac-auth .woocommerce-form__input-checkbox {
    accent-color: var(--ac-accent);
    width:        15px;
    height:       15px;
}


/* --------------------------------------------------------------------------
   7. DASHBOARD
   -------------------------------------------------------------------------- */

/* Mensaje de bienvenida WC */
.woocommerce-MyAccount-content .woocommerce-account-success p,
.woocommerce-MyAccount-content > p:first-of-type {
    font-size:   14px;
    line-height: 1.8;
    color:       var(--ac-text-2);
}

/* ── Dashboard cards (Fase 2) ───────────────────────────────────────────── */
.ac-dashboard-cards {
    display:               grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap:                   16px;
    margin-top:            24px;
}

.ac-dashboard-card {
    background:    var(--ac-surface-2);
    border:        1px solid var(--ac-border);
    border-radius: var(--ac-radius);
    padding:       22px;
    text-decoration: none;
    transition:
        border-color var(--ac-t) ease,
        transform    var(--ac-t) var(--ac-ease),
        box-shadow   var(--ac-t) ease;
}
.ac-dashboard-card:hover {
    border-color: var(--ac-border-strong);
    transform:    translateY(-2px);
    box-shadow:   0 8px 24px rgba(0, 0, 0, .06);
}

.ac-dashboard-card__num {
    font-size:      28px;
    font-weight:    800;
    letter-spacing: 0;
    color:          var(--ac-accent);
    line-height:    1;
    margin-bottom:  6px;
}

.ac-dashboard-card__label {
    font-size:      10px;
    font-weight:    700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color:          var(--ac-text-3);
}


/* --------------------------------------------------------------------------
   8. TABLA DE PEDIDOS
   --------------------------------------------------------------------------
   Vive dentro del content card (.woocommerce-MyAccount-content).
   Se extiende a los bordes del card con margin negativo + ancho expandido.
   -------------------------------------------------------------------------- */
.woocommerce-orders-table {
    width:           calc(100% + 64px);  /* rompe el padding de 32px a cada lado */
    margin-left:     -32px;
    margin-right:    -32px;
    margin-top:      -8px;               /* cerca del heading si lo hay */
    border-collapse: collapse;
    font-size:       13px;
    background:      transparent;        /* card padre ya es blanco */
    border:          none;
    border-radius:   0;
    overflow:        hidden;
}

/* Headers */
.woocommerce-orders-table thead th {
    padding:        14px 18px;
    font-size:      9px;
    font-weight:    800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color:          var(--ac-text-3);
    text-align:     left;
    background:     var(--ac-surface-2);
    border-top:     1px solid var(--ac-border);
    border-bottom:  1px solid var(--ac-border);
}

/* Primera y última columna con padding generoso en los bordes */
.woocommerce-orders-table thead th:first-child { padding-left: 32px; }
.woocommerce-orders-table thead th:last-child  { padding-right: 32px; }
.woocommerce-orders-table tbody td:first-child { padding-left: 32px; }
.woocommerce-orders-table tbody td:last-child  { padding-right: 32px; }

/* Filas */
.woocommerce-orders-table tbody td {
    padding:         16px 18px;
    color:           var(--ac-text-1);
    border-bottom:   1px solid var(--ac-border);
    vertical-align:  middle;
}

.woocommerce-orders-table tbody tr:last-child td {
    border-bottom: none;
}

.woocommerce-orders-table tbody tr {
    transition: background var(--ac-t) ease;
}
.woocommerce-orders-table tbody tr:hover {
    background: var(--ac-surface-hover);
}

/* Número de pedido */
.woocommerce-orders-table__cell-order-number a {
    font-weight:     700;
    color:           var(--ac-accent);
    text-decoration: none;
}
.woocommerce-orders-table__cell-order-number a:hover {
    color: var(--ac-accent-deep);
}

/* Fecha */
.woocommerce-orders-table__cell-order-date {
    color:     var(--ac-text-2);
    font-size: 12px;
}

/* Badge de estado */
.woocommerce-orders-table__cell-order-status mark,
.woocommerce-orders-table__cell-order-status .woocommerce-order-status {
    display:        inline-flex;
    align-items:    center;
    padding:        4px 10px;
    border-radius:  999px;
    font-size:      10px;
    font-weight:    700;
    letter-spacing: .08em;
    text-transform: uppercase;
    background:     var(--ac-surface-2);
    border:         1px solid var(--ac-border);
    color:          var(--ac-text-2);
}

/* Estados con color */
.woocommerce-order-status.status-completed,
mark.order-status.status-completed {
    background:   rgba(52, 199, 89, .10);
    border-color: rgba(52, 199, 89, .25);
    color:        #1a7a38;
}
.woocommerce-order-status.status-processing,
mark.order-status.status-processing {
    background:   rgba(197, 169, 126, .10);
    border-color: rgba(197, 169, 126, .30);
    color:        var(--ac-accent-deep);
}
.woocommerce-order-status.status-pending,
mark.order-status.status-pending {
    background:   rgba(255, 204, 0, .10);
    border-color: rgba(255, 204, 0, .30);
    color:        #7a6200;
}
.woocommerce-order-status.status-cancelled,
mark.order-status.status-cancelled,
.woocommerce-order-status.status-failed,
mark.order-status.status-failed {
    background:   rgba(255, 59, 48, .08);
    border-color: rgba(255, 59, 48, .20);
    color:        rgba(180, 30, 20, .90);
}

/* Total */
.woocommerce-orders-table__cell-order-total {
    font-weight: 700;
}
.woocommerce-orders-table__cell-order-total .woocommerce-Price-amount {
    color: var(--ac-text-1);
}

/* Botón "Ver" */
.woocommerce-orders-table__cell-order-actions .button,
.woocommerce-orders-table td a.button {
    display:         inline-flex;
    align-items:     center;
    gap:             6px;
    padding:         7px 16px;
    font-size:       10px;
    font-weight:     700;
    letter-spacing:  .12em;
    text-transform:  uppercase;
    color:           var(--ac-text-2);
    border:          1.5px solid var(--ac-border-strong);
    border-radius:   999px;
    text-decoration: none;
    transition:      all var(--ac-t) ease;
}
.woocommerce-orders-table__cell-order-actions .button:hover,
.woocommerce-orders-table td a.button:hover {
    border-color: var(--ac-accent);
    color:        var(--ac-accent);
    transform:    translateY(-1px);
}

/* Empty state de pedidos */
.woocommerce-MyAccount-content .woocommerce-info {
    padding:       20px 24px;
    background:    var(--ac-surface-2);
    border:        1px solid var(--ac-border);
    border-left:   3px solid var(--ac-accent);
    border-radius: var(--ac-radius-sm);
    font-size:     14px;
    color:         var(--ac-text-2);
    list-style:    none;
    margin:        0;
}
.woocommerce-MyAccount-content .woocommerce-info::before {
    display: none;
}
.woocommerce-MyAccount-content .woocommerce-info a {
    color:       var(--ac-accent) !important;
    font-weight: 600;
}


/* --------------------------------------------------------------------------
   9. TABLA DE DESCARGAS
   -------------------------------------------------------------------------- */
.woocommerce-MyAccount-downloads {
    width:       calc(100% + 64px);
    margin-left: -32px;
    margin-right:-32px;
    margin-top:  -8px;
    border-collapse: collapse;
    font-size:   13px;
}

.woocommerce-MyAccount-downloads thead th {
    padding:        14px 18px;
    font-size:      9px;
    font-weight:    800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color:          var(--ac-text-3);
    text-align:     left;
    background:     var(--ac-surface-2);
    border-top:     1px solid var(--ac-border);
    border-bottom:  1px solid var(--ac-border);
}
.woocommerce-MyAccount-downloads thead th:first-child { padding-left: 32px; }
.woocommerce-MyAccount-downloads thead th:last-child  { padding-right: 32px; }

.woocommerce-MyAccount-downloads tbody td {
    padding:        16px 18px;
    color:          var(--ac-text-1);
    border-bottom:  1px solid var(--ac-border);
    vertical-align: middle;
}
.woocommerce-MyAccount-downloads tbody td:first-child { padding-left: 32px; }
.woocommerce-MyAccount-downloads tbody td:last-child  { padding-right: 32px; }

.woocommerce-MyAccount-downloads tbody tr:last-child td {
    border-bottom: none;
}
.woocommerce-MyAccount-downloads tbody tr:hover {
    background: var(--ac-surface-hover);
}

.woocommerce-MyAccount-downloads .download-product a,
.woocommerce-MyAccount-downloads .woocommerce-MyAccount-downloads-file a {
    color:           var(--ac-accent);
    font-weight:     600;
    text-decoration: none;
}
.woocommerce-MyAccount-downloads .download-product a:hover,
.woocommerce-MyAccount-downloads .woocommerce-MyAccount-downloads-file a:hover {
    color: var(--ac-accent-deep);
}


/* --------------------------------------------------------------------------
   10. DIRECCIONES
   -------------------------------------------------------------------------- */
.woocommerce-Addresses {
    display:               grid;
    grid-template-columns: 1fr 1fr;
    gap:                   20px;
}

.woocommerce-Address {
    background:    var(--ac-surface-2);
    border:        1px solid var(--ac-border);
    border-radius: var(--ac-radius);
    padding:       24px;
}

.woocommerce-Address header {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    margin-bottom:   16px;
    padding-bottom:  14px;
    border-bottom:   1px solid var(--ac-border);
}

.woocommerce-Address header h3 {
    font-size:      13px !important;
    font-weight:    700  !important;
    letter-spacing: .02em;
    color:          var(--ac-text-1) !important;
    margin:         0    !important;
}

.woocommerce-Address header .edit {
    font-size:       10px;
    font-weight:     700;
    letter-spacing:  .12em;
    text-transform:  uppercase;
    color:           var(--ac-text-3);
    text-decoration: none;
    padding:         5px 12px;
    border:          1.5px solid var(--ac-border-strong);
    border-radius:   999px;
    transition:      all var(--ac-t) ease;
}
.woocommerce-Address header .edit:hover {
    color:        var(--ac-accent);
    border-color: var(--ac-accent);
}

/* Dirección formateada */
.woocommerce-Address address {
    font-style:  normal;
    font-size:   13px;
    line-height: 1.72;
    color:       var(--ac-text-2);
}

/* Estado vacío */
.woocommerce-Address address p {
    font-size:  13px;
    color:      var(--ac-text-3);
    font-style: italic;
    margin:     0;
}


/* --------------------------------------------------------------------------
   11. FORMULARIOS DE CUENTA Y DIRECCIÓN
   --------------------------------------------------------------------------
   KEY FIX v2.0:
   Antes tenían su propio card (bg + border + border-radius-lg + padding).
   Ahora viven dentro del content card (.woocommerce-MyAccount-content),
   por lo que se muestran como secciones planas SIN contenedor propio.
   -------------------------------------------------------------------------- */
.woocommerce-EditAccountForm,
.woocommerce-address-fields {
    background:    transparent;
    border:        none;
    border-radius: 0;
    padding:       0;
}

/* Fieldsets — mantienen su borde como separadores de sección */
.woocommerce-EditAccountForm fieldset,
.woocommerce-address-fields fieldset {
    border:        1px solid var(--ac-border);
    border-radius: var(--ac-radius-sm);
    padding:       20px;
    margin:        0 0 24px;
}

.woocommerce-EditAccountForm fieldset legend,
.woocommerce-address-fields fieldset legend {
    font-size:      10px;
    font-weight:    800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color:          var(--ac-text-3);
    padding:        0 8px;
}

/* Grid de campos lado a lado en address form */
.woocommerce-address-fields .woocommerce-billing-fields__field-wrapper,
.woocommerce-address-fields .woocommerce-shipping-fields__field-wrapper {
    display:               grid;
    grid-template-columns: 1fr 1fr;
    gap:                   0 14px;
}

.woocommerce-address-fields .form-row--wide {
    grid-column: 1 / -1;
}

/* Separador antes del botón */
.woocommerce-EditAccountForm p.form-row:last-of-type,
.woocommerce-address-fields p.form-row:last-of-type {
    margin-top: 8px;
}


/* --------------------------------------------------------------------------
   12. CAMPOS WC — inputs, labels, selects
   -------------------------------------------------------------------------- */

/* Scope */
.woocommerce-EditAccountForm .form-row,
.woocommerce-address-fields .form-row,
.ac-auth .form-row,
.ac-auth .woocommerce-form-row {
    margin-bottom: 14px;
}

/* Labels */
.woocommerce-EditAccountForm .form-row label,
.woocommerce-address-fields .form-row label,
.ac-auth .form-row label,
.ac-auth .woocommerce-form-row label {
    display:        block;
    font-size:      10px;
    font-weight:    700;
    letter-spacing: .10em;
    text-transform: uppercase;
    color:          var(--ac-text-2);
    margin-bottom:  6px;
}

/* Indicador requerido */
.woocommerce-EditAccountForm .form-row .required,
.woocommerce-address-fields .form-row .required,
.ac-auth .form-row .required {
    color:       var(--ac-accent);
    margin-left: 2px;
}

/* Inputs */
.woocommerce-EditAccountForm .form-row input.input-text,
.woocommerce-address-fields .form-row input.input-text,
.woocommerce-EditAccountForm .form-row input[type="password"],
.woocommerce-EditAccountForm .form-row input[type="email"],
.woocommerce-EditAccountForm .form-row input[type="text"],
.woocommerce-address-fields .form-row select,
.ac-auth .form-row input.input-text,
.ac-auth .woocommerce-form-row input.input-text,
.ac-auth .form-row input[type="password"],
.ac-auth .form-row input[type="email"] {
    width:              100%;
    background-color:   var(--ac-input-bg)     !important;
    color:              var(--ac-input-color)   !important;
    border:             1.5px solid var(--ac-input-border);
    border-radius:      var(--ac-radius-sm);
    padding:            12px 14px;
    font-size:          14px;
    font-family:        inherit;
    box-shadow:         none !important;
    outline:            none;
    transition:
        border-color var(--ac-t) ease,
        box-shadow   var(--ac-t) ease;
    box-sizing:         border-box;
    -webkit-appearance: none;
    appearance:         none;
}

/* Placeholder */
.woocommerce-EditAccountForm .form-row input::placeholder,
.woocommerce-address-fields .form-row input::placeholder,
.ac-auth .form-row input::placeholder {
    color: var(--ac-input-ph);
}

/* Focus ring gold */
.woocommerce-EditAccountForm .form-row input:focus,
.woocommerce-address-fields .form-row input:focus,
.woocommerce-address-fields .form-row select:focus,
.ac-auth .form-row input:focus {
    border-color: var(--ac-input-focus);
    box-shadow:   0 0 0 3px rgba(197, 169, 126, .12) !important;
    outline:      none;
}

/* Select */
.woocommerce-address-fields .form-row select {
    background-image:    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2386868b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat:   no-repeat;
    background-position: right 12px center;
    padding-right:       36px;
    cursor:              pointer;
}

/* Botón submit */
.woocommerce-EditAccountForm .button,
.woocommerce-address-fields .button,
.ac-auth .button,
.ac-auth input[type="submit"],
.ac-auth .woocommerce-Button {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    gap:             8px;
    padding:         13px 32px;
    font-family:     inherit;
    font-size:       11px;
    font-weight:     700;
    letter-spacing:  .14em;
    text-transform:  uppercase;
    background:      var(--ac-accent);
    color:           #ffffff;
    border:          none;
    border-radius:   999px;
    cursor:          pointer;
    text-decoration: none;
    transition:
        filter     var(--ac-t) ease,
        transform  var(--ac-t) ease,
        box-shadow var(--ac-t) ease;
    box-shadow:      0 6px 18px rgba(197, 169, 126, .28);
    -webkit-appearance: none;
    appearance:      none;
}

.woocommerce-EditAccountForm .button:hover,
.woocommerce-address-fields .button:hover,
.ac-auth .button:hover,
.ac-auth input[type="submit"]:hover,
.ac-auth .woocommerce-Button:hover {
    filter:    brightness(.90);
    transform: translateY(-2px);
    box-shadow:0 10px 28px rgba(197, 169, 126, .38);
}

/* ¿Olvidaste tu contraseña? + remember me */
.ac-auth .woocommerce-form-login__rememberme,
.ac-auth .lost_password {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    gap:             12px;
    flex-wrap:       wrap;
    margin-bottom:   16px;
}


/* --------------------------------------------------------------------------
   13. NOTICES WC en contexto de cuenta
   -------------------------------------------------------------------------- */

/* Mensaje success */
.woocommerce-MyAccount-content .woocommerce-message,
.ac-auth .woocommerce-message {
    display:       flex;
    align-items:   flex-start;
    gap:           12px;
    padding:       14px 18px;
    background:    var(--ac-surface-2);
    border:        1px solid var(--ac-border);
    border-left:   3px solid #34c759;
    border-radius: var(--ac-radius-sm);
    font-size:     13px;
    color:         var(--ac-text-1);
    list-style:    none;
    margin:        0 0 20px;
}
.woocommerce-MyAccount-content .woocommerce-message::before,
.ac-auth .woocommerce-message::before { display: none; }

/* Error */
.woocommerce-MyAccount-content .woocommerce-error,
.ac-auth .woocommerce-error {
    padding:       14px 18px;
    background:    rgba(255, 59, 48, .05);
    border:        1px solid rgba(255, 59, 48, .15);
    border-left:   3px solid rgba(255, 59, 48, .60);
    border-radius: var(--ac-radius-sm);
    font-size:     13px;
    color:         rgba(160, 30, 20, .90);
    list-style:    none;
    margin:        0 0 20px;
    padding-left:  18px;
}
.woocommerce-MyAccount-content .woocommerce-error li,
.ac-auth .woocommerce-error li { list-style: none; margin: 0; }
.woocommerce-MyAccount-content .woocommerce-error::before,
.ac-auth .woocommerce-error::before { display: none; }

/* Notice info */
.woocommerce-MyAccount-content .woocommerce-info {
    border-left-color: var(--ac-accent) !important;
}


/* --------------------------------------------------------------------------
   14. RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 1200px) {
    .ac-layout,
    .ac-auth {
        padding-inline: 40px;
    }
    body.woocommerce-account .woocommerce-notices-wrapper {
        padding-inline: 40px;
    }
}

@media (max-width: 1024px) {

    /* Stack sidebar encima del contenido */
    .ac-layout {
        grid-template-columns: 1fr;
        padding-top: 28px;
        gap:         24px;
    }

    .ac-sidebar {
        position: static;
        display:  grid;
        grid-template-columns: auto 1fr;
        gap:      16px;
        align-items: start;
    }

    .ac-user {
        flex-direction: column;
        align-items:    flex-start;
        padding:        14px;
        margin-bottom:  0;
        max-width:      220px;
    }

    /* Nav en fila horizontal scrollable */
    .woocommerce-MyAccount-navigation {
        overflow-x:              auto;
        -webkit-overflow-scrolling: touch;
    }
    .woocommerce-MyAccount-navigation ul {
        display:        flex;
        flex-direction: row;
    }
    .woocommerce-MyAccount-navigation ul li {
        border-bottom: none;
        border-right:  1px solid var(--ac-border);
        flex-shrink:   0;
    }
    .woocommerce-MyAccount-navigation ul li:last-child {
        border-right: none;
    }
    .woocommerce-MyAccount-navigation ul li a {
        padding:    12px 16px;
        white-space:nowrap;
    }
    .woocommerce-MyAccount-navigation ul li.is-active a {
        border-left:   none;
        border-bottom: 2px solid var(--ac-accent);
        padding-left:  16px;
    }

    /* Orders / downloads table: reset full-bleed para tablet */
    .woocommerce-orders-table,
    .woocommerce-MyAccount-downloads {
        width:        100%;
        margin-left:  0;
        margin-right: 0;
    }
    .woocommerce-orders-table thead th:first-child,
    .woocommerce-orders-table thead th:last-child,
    .woocommerce-orders-table tbody td:first-child,
    .woocommerce-orders-table tbody td:last-child,
    .woocommerce-MyAccount-downloads thead th:first-child,
    .woocommerce-MyAccount-downloads thead th:last-child,
    .woocommerce-MyAccount-downloads tbody td:first-child,
    .woocommerce-MyAccount-downloads tbody td:last-child {
        padding-left:  18px;
        padding-right: 18px;
    }

    /* Login guest: 1 columna */
    .ac-auth #customer_login.col2-set {
        grid-template-columns: 1fr;
    }

    /* Addresses: 1 columna */
    .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }

    /* Address form: 1 columna */
    .woocommerce-address-fields .woocommerce-billing-fields__field-wrapper,
    .woocommerce-address-fields .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: 1fr;
    }
    .woocommerce-address-fields .form-row--wide {
        grid-column: 1;
    }
}

@media (max-width: 768px) {

    .ac-layout,
    .ac-auth {
        padding-inline: 20px;
        padding-top:    20px;
    }

    body.woocommerce-account .woocommerce-notices-wrapper {
        padding-inline: 20px;
    }

    /* Content card: padding reducido en móvil */
    .woocommerce-MyAccount-content {
        padding: 20px;
    }

    /* Orders / downloads table: ajuste en móvil */
    .woocommerce-orders-table,
    .woocommerce-MyAccount-downloads {
        width:        calc(100% + 40px);
        margin-left:  -20px;
        margin-right: -20px;
    }
    .woocommerce-orders-table thead th:first-child,
    .woocommerce-orders-table tbody td:first-child,
    .woocommerce-MyAccount-downloads thead th:first-child,
    .woocommerce-MyAccount-downloads tbody td:first-child {
        padding-left: 20px;
    }
    .woocommerce-orders-table thead th:last-child,
    .woocommerce-orders-table tbody td:last-child,
    .woocommerce-MyAccount-downloads thead th:last-child,
    .woocommerce-MyAccount-downloads tbody td:last-child {
        padding-right: 20px;
    }

    /* Ocultar columna fecha en móvil */
    .woocommerce-orders-table thead th:nth-child(2),
    .woocommerce-orders-table tbody td:nth-child(2) {
        display: none;
    }

    /* Sidebar: stack completo en móvil */
    .ac-sidebar {
        grid-template-columns: 1fr;
    }
    .ac-user {
        flex-direction: row;
        max-width:      100%;
        width:          100%;
    }

    /* Auth: padding reducido */
    .ac-auth .col-1,
    .ac-auth .col-2 {
        padding: 24px;
    }

    /* Botón guardar: full width */
    .woocommerce-EditAccountForm .button,
    .woocommerce-address-fields .button,
    .ac-auth .button,
    .ac-auth input[type="submit"] {
        width: 100%;
    }
}


/* --------------------------------------------------------------------------
   15. PREMIUM REFINEMENT — v2.2
   --------------------------------------------------------------------------
   Objetivo:
   - Más aire en los bordes
   - Sidebar mejor alineada y menos "pegada"
   - Tarjetas con respiración real
   - Navegación más minimalista
   - Neutralizar iconografía débil o inconsistente
   -------------------------------------------------------------------------- */

:root {
    --ac-shell-max: 1320px;
    --ac-shell-pad: 72px;
    --ac-sidebar-w: 272px;
    --ac-gap: 48px;
    --ac-shadow-soft: 0 14px 40px rgba(17, 17, 17, .035);
    --ac-shadow-card: 0 18px 44px rgba(17, 17, 17, .045);
}

body.woocommerce-account .woocommerce-notices-wrapper,
.ac-layout,
.ac-auth {
    max-width: var(--ac-shell-max);
}

.ac-page {
    padding-top: 18px;
    padding-bottom: 124px;
}

.ac-layout {
    padding-inline: var(--ac-shell-pad);
    padding-top: 52px;
    grid-template-columns: minmax(0, var(--ac-sidebar-w)) minmax(0, 1fr);
    gap: var(--ac-gap);
}

.ac-auth {
    padding-inline: var(--ac-shell-pad);
    padding-top: 56px;
}

body.woocommerce-account .woocommerce-notices-wrapper {
    padding-inline: var(--ac-shell-pad);
    padding-top: 10px;
}

/* Sidebar shell más elegante y mejor respiración */
.ac-sidebar {
    top: 104px;
    gap: 14px;
    padding-left: 6px;
}

.ac-user,
.woocommerce-MyAccount-navigation {
    border-radius: 26px;
    border-color: rgba(0, 0, 0, .055);
    box-shadow: var(--ac-shadow-soft);
}

.ac-user {
    padding: 18px 18px 17px;
    min-height: 84px;
}

.ac-user__avatar {
    width: 42px !important;
    height: 42px !important;
    border-width: 1px;
}

.ac-user__name {
    font-size: 12px;
    letter-spacing: .01em;
}

.ac-user__email {
    font-size: 10px;
    letter-spacing: .01em;
}

.woocommerce-MyAccount-navigation {
    padding: 8px;
    overflow: hidden;
}

.woocommerce-MyAccount-navigation ul li {
    border-bottom: none;
}

.woocommerce-MyAccount-navigation ul li + li {
    margin-top: 2px;
}

/* Oculta iconografía heredada o inconsistente */
.woocommerce-MyAccount-navigation ul li a::before,
.woocommerce-MyAccount-navigation ul li a::after,
.woocommerce-MyAccount-navigation ul li a i,
.woocommerce-MyAccount-navigation ul li a svg,
.woocommerce-MyAccount-navigation ul li a .fa,
.woocommerce-MyAccount-navigation ul li a .fas,
.woocommerce-MyAccount-navigation ul li a .far,
.woocommerce-MyAccount-navigation ul li a .fab,
.woocommerce-MyAccount-navigation ul li a [class*="icon"],
.woocommerce-MyAccount-navigation ul li a [class*="Icon"] {
    display: none !important;
}

.woocommerce-MyAccount-navigation ul li a {
    min-height: 52px;
    padding: 0 16px;
    border-radius: 16px;
    font-size: 13px;
    letter-spacing: .005em;
    font-weight: 650;
    justify-content: flex-start;
    transition:
        color var(--ac-t) ease,
        background-color var(--ac-t) ease,
        transform var(--ac-t) var(--ac-ease),
        box-shadow var(--ac-t) ease;
}

.woocommerce-MyAccount-navigation ul li a:hover {
    padding-left: 16px;
    color: var(--ac-text-1);
    background: rgba(0, 0, 0, .026);
    transform: translateX(2px);
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-active a {
    padding-left: 16px;
    border-left: none;
    color: #9b7340;
    background: linear-gradient(180deg, rgba(197, 169, 126, .12), rgba(197, 169, 126, .085));
    box-shadow: inset 0 0 0 1px rgba(197, 169, 126, .22);
}

.woocommerce-MyAccount-navigation-link--customer-logout a {
    min-height: 46px;
    color: var(--ac-text-3) !important;
}

/* Contenido principal: más aire y presencia */
.ac-content {
    padding-right: 6px;
}

.woocommerce-MyAccount-content {
    border-radius: 30px;
    border-color: rgba(0, 0, 0, .05);
    box-shadow: var(--ac-shadow-card);
    padding: 42px 40px;
    min-height: 240px;
}

.woocommerce-MyAccount-content > p {
    max-width: 62ch;
    line-height: 1.9;
    margin-bottom: 18px;
}

.woocommerce-MyAccount-content > p:first-of-type {
    font-size: 15px;
    color: #56565c;
}

.woocommerce-MyAccount-content hr,
.woocommerce-MyAccount-content .woocommerce-MyAccount-content__separator {
    border-color: rgba(0, 0, 0, .055);
}

/* Empty states con mejor equilibrio */
.woocommerce-MyAccount-content .woocommerce-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 84px;
    padding: 18px 20px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(248,248,248,.92));
}

.woocommerce-MyAccount-content .woocommerce-info a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 22px;
    border-radius: 999px;
    background: #111216;
    color: #d6b17d !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    white-space: nowrap;
}

.woocommerce-MyAccount-content .woocommerce-info a:hover {
    background: #1b1d22;
    color: #e4bf89 !important;
}

/* Addresses: tarjetas más equilibradas */
.woocommerce-Addresses {
    gap: 24px;
    align-items: stretch;
}

.woocommerce-Address {
    min-height: 300px;
    padding: 26px 24px;
    border-radius: 24px;
    background: linear-gradient(180deg, #fcfcfc 0%, #f8f8f8 100%);
}

.woocommerce-Address header {
    margin-bottom: 20px;
    padding-bottom: 16px;
}

.woocommerce-Address address {
    max-width: 26ch;
    line-height: 1.86;
}

/* Formularios: menos caja dentro de caja */
.woocommerce-EditAccountForm fieldset,
.woocommerce-address-fields fieldset {
    border-radius: 18px;
    border-color: rgba(0, 0, 0, .06);
    padding: 18px 18px 10px;
    margin-bottom: 28px;
    background: linear-gradient(180deg, rgba(249,249,249,.88), rgba(255,255,255,.9));
}

.woocommerce-EditAccountForm .form-row,
.woocommerce-address-fields .form-row {
    margin-bottom: 18px;
}

.woocommerce-EditAccountForm .form-row input.input-text,
.woocommerce-address-fields .form-row input.input-text,
.woocommerce-EditAccountForm .form-row input[type="password"],
.woocommerce-EditAccountForm .form-row input[type="email"],
.woocommerce-EditAccountForm .form-row input[type="text"],
.woocommerce-address-fields .form-row select {
    min-height: 52px;
    border-radius: 14px;
    padding: 14px 16px;
}

.woocommerce-EditAccountForm .button,
.woocommerce-address-fields .button {
    min-height: 46px;
    padding: 0 24px;
    background: #111216;
    color: #fff;
    box-shadow: 0 12px 28px rgba(17, 18, 22, .16);
}

.woocommerce-EditAccountForm .button:hover,
.woocommerce-address-fields .button:hover {
    background: #191b21;
    box-shadow: 0 16px 34px rgba(17, 18, 22, .22);
}

/* Tablas: menos pegadas a los bordes visualmente */
.woocommerce-orders-table,
.woocommerce-MyAccount-downloads {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-top: 8px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, .05);
    border-radius: 20px;
}

.woocommerce-orders-table thead th:first-child,
.woocommerce-orders-table thead th:last-child,
.woocommerce-orders-table tbody td:first-child,
.woocommerce-orders-table tbody td:last-child,
.woocommerce-MyAccount-downloads thead th:first-child,
.woocommerce-MyAccount-downloads thead th:last-child,
.woocommerce-MyAccount-downloads tbody td:first-child,
.woocommerce-MyAccount-downloads tbody td:last-child {
    padding-left: 18px;
    padding-right: 18px;
}

/* Móvil y tablet: más respiración lateral y mejor stacking */
@media (max-width: 1200px) {
    .ac-layout,
    .ac-auth,
    body.woocommerce-account .woocommerce-notices-wrapper {
        padding-inline: 40px;
    }

    .ac-layout {
        gap: 32px;
        grid-template-columns: 240px minmax(0, 1fr);
    }
}

@media (max-width: 1024px) {
    .ac-page {
        padding-top: 10px;
        padding-bottom: 92px;
    }

    .ac-layout,
    .ac-auth,
    body.woocommerce-account .woocommerce-notices-wrapper {
        padding-inline: 26px;
    }

    .ac-layout {
        grid-template-columns: 1fr;
        gap: 22px;
        padding-top: 30px;
    }

    .ac-sidebar {
        padding-left: 0;
        gap: 12px;
    }

    .ac-user,
    .woocommerce-MyAccount-navigation,
    .woocommerce-MyAccount-content {
        border-radius: 24px;
    }

    .woocommerce-MyAccount-navigation {
        padding: 8px;
        overflow: visible;
    }

    .woocommerce-MyAccount-navigation ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .woocommerce-MyAccount-navigation ul li,
    .woocommerce-MyAccount-navigation ul li:last-child {
        border: none;
        margin: 0;
    }

    .woocommerce-MyAccount-navigation ul li a,
    .woocommerce-MyAccount-navigation ul li.is-active a {
        min-height: 48px;
        border-bottom: none;
        padding: 0 14px;
    }

    .ac-content {
        padding-right: 0;
    }

    .woocommerce-MyAccount-content {
        padding: 30px 24px;
    }

    .woocommerce-MyAccount-content .woocommerce-info {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 768px) {
    .ac-layout,
    .ac-auth,
    body.woocommerce-account .woocommerce-notices-wrapper {
        padding-inline: 18px;
    }

    .ac-layout {
        padding-top: 24px;
        gap: 18px;
    }

    .ac-user {
        min-height: auto;
        padding: 14px 15px;
    }

    .woocommerce-MyAccount-navigation {
        padding: 6px;
    }

    .woocommerce-MyAccount-navigation ul {
        grid-template-columns: 1fr;
    }

    .woocommerce-MyAccount-navigation ul li a,
    .woocommerce-MyAccount-navigation ul li.is-active a,
    .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-active a {
        min-height: 46px;
        font-size: 12px;
        padding: 0 14px;
        transform: none;
    }

    .woocommerce-MyAccount-content {
        padding: 24px 18px;
        border-radius: 24px;
    }

    .woocommerce-MyAccount-content > p {
        max-width: 100%;
        font-size: 14px;
        line-height: 1.82;
    }

    .woocommerce-Address {
        min-height: auto;
        padding: 20px 18px;
        border-radius: 20px;
    }

    .woocommerce-EditAccountForm fieldset,
    .woocommerce-address-fields fieldset {
        padding: 16px 14px 8px;
        border-radius: 16px;
    }

    .woocommerce-orders-table,
    .woocommerce-MyAccount-downloads {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}


/* --------------------------------------------------------------------------
   16. UI FIXES — v2.3
   -------------------------------------------------------------------------- */

/* Recupera iconografía consistente en la sidebar */
.woocommerce-MyAccount-navigation ul li a {
    position: relative;
    padding-right: 44px;
}

.woocommerce-MyAccount-navigation ul li a::after {
    display: none !important;
}

.woocommerce-MyAccount-navigation-link--dashboard a::after,
.woocommerce-MyAccount-navigation-link--orders a::after,
.woocommerce-MyAccount-navigation-link--downloads a::after,
.woocommerce-MyAccount-navigation-link--edit-address a::after,
.woocommerce-MyAccount-navigation-link--edit-account a::after,
.woocommerce-MyAccount-navigation-link--customer-logout a::after {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 13px;
    line-height: 1;
    color: rgba(29, 29, 31, .28);
    background: transparent;
    content: "";
    transition:
        color var(--ac-t) ease,
        background-color var(--ac-t) ease,
        transform var(--ac-t) var(--ac-ease);
}

.woocommerce-MyAccount-navigation-link--dashboard a::after { content: "\f2bd"; }
.woocommerce-MyAccount-navigation-link--orders a::after { content: "\f07a"; }
.woocommerce-MyAccount-navigation-link--downloads a::after { content: "\f56d"; }
.woocommerce-MyAccount-navigation-link--edit-address a::after { content: "\f3c5"; }
.woocommerce-MyAccount-navigation-link--edit-account a::after { content: "\f4fe"; }
.woocommerce-MyAccount-navigation-link--customer-logout a::after { content: "\f2f5"; }

.woocommerce-MyAccount-navigation ul li a:hover::after {
    color: rgba(29, 29, 31, .48);
    transform: translateY(-50%) scale(1.02);
}

.woocommerce-MyAccount-navigation ul li.is-active a::after,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-active a::after {
    color: #9b7340;
    background: rgba(197, 169, 126, .12);
}

.woocommerce-MyAccount-navigation-link--customer-logout a::after {
    color: rgba(29, 29, 31, .18);
}

.woocommerce-MyAccount-navigation-link--customer-logout a:hover::after {
    color: rgba(180, 30, 20, .72);
    background: rgba(255, 59, 48, .06);
}

/* Botón mostrar/ocultar contraseña integrado al sistema */
.woocommerce form .password-input,
.woocommerce-EditAccountForm .password-input,
.ac-auth .password-input {
    position: relative;
    display: block;
    width: 100%;
}

.woocommerce form .password-input input,
.woocommerce-EditAccountForm .password-input input,
.ac-auth .password-input input {
    padding-right: 56px !important;
}

.woocommerce form .show-password-input,
.woocommerce-EditAccountForm .show-password-input,
.ac-auth .show-password-input {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 36px;
    height: 36px;
    margin: 0;
    border: 1px solid rgba(0, 0, 0, .07);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,246,247,.98));
    color: rgba(29, 29, 31, .58);
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition:
        color var(--ac-t) ease,
        border-color var(--ac-t) ease,
        background-color var(--ac-t) ease,
        box-shadow var(--ac-t) ease,
        transform var(--ac-t) var(--ac-ease);
}

.woocommerce form .show-password-input:hover,
.woocommerce-EditAccountForm .show-password-input:hover,
.ac-auth .show-password-input:hover {
    color: #9b7340;
    border-color: rgba(197, 169, 126, .22);
    background: linear-gradient(180deg, rgba(255,255,255,1), rgba(250,247,241,1));
    box-shadow: 0 8px 18px rgba(0, 0, 0, .06);
}

.woocommerce form .show-password-input::after,
.woocommerce-EditAccountForm .show-password-input::after,
.ac-auth .show-password-input::after {
    font-size: 16px;
    line-height: 1;
}

.woocommerce form .show-password-input.display-password,
.woocommerce-EditAccountForm .show-password-input.display-password,
.ac-auth .show-password-input.display-password {
    color: #9b7340;
    border-color: rgba(197, 169, 126, .24);
    background: rgba(197, 169, 126, .08);
}

/* Ajuste fino de inputs password para que no se vea cortado el botón */
.woocommerce-EditAccountForm .form-row .password-input input[type="password"],
.woocommerce-EditAccountForm .form-row .password-input input[type="text"],
.ac-auth .form-row .password-input input[type="password"],
.ac-auth .form-row .password-input input[type="text"] {
    min-height: 54px;
}

@media (max-width: 768px) {
    .woocommerce-MyAccount-navigation ul li a {
        padding-right: 42px;
    }

    .woocommerce-MyAccount-navigation-link--dashboard a::after,
    .woocommerce-MyAccount-navigation-link--orders a::after,
    .woocommerce-MyAccount-navigation-link--downloads a::after,
    .woocommerce-MyAccount-navigation-link--edit-address a::after,
    .woocommerce-MyAccount-navigation-link--edit-account a::after,
    .woocommerce-MyAccount-navigation-link--customer-logout a::after {
        right: 12px;
        width: 22px;
        height: 22px;
        font-size: 12px;
    }

    .woocommerce form .show-password-input,
    .woocommerce-EditAccountForm .show-password-input,
    .ac-auth .show-password-input {
        width: 34px;
        height: 34px;
        right: 8px;
        border-radius: 11px;
    }
}

/* --------------------------------------------------------------------------
   17. LAYOUT + SIDEBAR FIXES — v2.4
   -------------------------------------------------------------------------- */

/* Más aire lateral para que la shell no quede pegada al borde visual */
body.woocommerce-account .woocommerce-notices-wrapper,
.ac-layout,
.ac-auth {
    max-width: min(1360px, calc(100vw - 80px));
    padding-inline: clamp(28px, 4vw, 72px);
}

/* Afinar proporción del grid y separación entre columnas */
.ac-layout {
    grid-template-columns: minmax(236px, 272px) minmax(0, 1fr);
    gap: clamp(28px, 3vw, 44px);
    align-items: start;
}

/* Evitar que la sidebar se pegue demasiado arriba o al borde en pantallas medias */
.ac-sidebar {
    padding-left: 4px;
}

/* Tarjeta de navegación más consistente y menos tensa */
.woocommerce-MyAccount-navigation {
    border-radius: 22px;
    box-shadow: 0 18px 40px rgba(17, 17, 17, .035);
}

.woocommerce-MyAccount-navigation ul {
    padding: 6px;
}

.woocommerce-MyAccount-navigation ul li {
    border-bottom: none;
}

.woocommerce-MyAccount-navigation ul li + li {
    margin-top: 4px;
}

.woocommerce-MyAccount-navigation ul li a {
    min-height: 50px;
    border: 1px solid transparent;
    border-radius: 16px;
    padding-left: 16px;
    padding-right: 52px;
}

.woocommerce-MyAccount-navigation ul li a:hover {
    padding-left: 16px;
    border-color: rgba(197, 169, 126, .12);
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-active a {
    padding-left: 16px;
    border-left: none;
    border-color: rgba(197, 169, 126, .18);
    box-shadow: inset 0 0 0 1px rgba(197, 169, 126, .08);
}

/* La regla genérica de v2.3 escondía los iconos por especificidad.
   Aquí la reactivamos con un selector más fuerte y consistente. */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a::after,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::after,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a::after,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a::after,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a::after,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::after {
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a::after { content: "\f2bd" !important; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::after { content: "\f07a" !important; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a::after { content: "\f56d" !important; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a::after { content: "\f3c5" !important; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a::after { content: "\f4fe" !important; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::after { content: "\f2f5" !important; }

/* Mobile / narrow viewport: más margen lateral y stack limpio */
@media (max-width: 980px) {
    body.woocommerce-account .woocommerce-notices-wrapper,
    .ac-layout,
    .ac-auth {
        max-width: calc(100vw - 32px);
        padding-inline: 16px;
    }

    .ac-layout {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .ac-sidebar {
        position: static;
        top: auto;
        padding-left: 0;
    }
}

/* --------------------------------------------------------------------------
   18. MOBILE SIDEBAR REFINEMENT — v2.5
   -------------------------------------------------------------------------- */

/* En viewports estrechos, la shell necesitaba más aire real y una tarjeta
   lateral menos rígida. */
@media (max-width: 980px) {
    .ac-page {
        padding-bottom: 56px;
    }

    body.woocommerce-account .woocommerce-notices-wrapper,
    .ac-layout,
    .ac-auth {
        max-width: 100%;
        width: 100%;
        padding-inline: 22px;
    }

    .ac-layout {
        gap: 20px;
        padding-top: 20px;
    }

    .ac-sidebar {
        margin-left: 0;
        margin-right: 0;
    }

    .woocommerce-MyAccount-navigation {
        border-radius: 24px;
        padding: 8px;
        box-shadow: 0 14px 34px rgba(17, 17, 17, .04);
    }

    .woocommerce-MyAccount-navigation ul {
        padding: 0;
    }

    .woocommerce-MyAccount-navigation ul li + li {
        margin-top: 2px;
    }

    .woocommerce-MyAccount-navigation ul li a {
        min-height: 54px;
        padding-left: 18px;
        padding-right: 52px;
        border-radius: 18px;
    }

    .woocommerce-MyAccount-navigation ul li a:hover,
    .woocommerce-MyAccount-navigation ul li.is-active a,
    .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-active a {
        padding-left: 18px;
    }
}

@media (max-width: 640px) {
    body.woocommerce-account .woocommerce-notices-wrapper,
    .ac-layout,
    .ac-auth {
        padding-inline: 18px;
    }

    .woocommerce-MyAccount-navigation {
        border-radius: 22px;
    }

    .woocommerce-MyAccount-navigation ul li a {
        font-size: 15px;
        min-height: 52px;
        padding-left: 16px;
        padding-right: 48px;
    }

    .woocommerce-MyAccount-navigation ul li a::after {
        right: 16px;
    }
}


/* ==========================================================================
   LAUNCH POLISH — Cuenta, login, registro y recuperación
   ========================================================================== */

body.woocommerce-account,
body.woocommerce-account * {
    box-sizing: border-box;
}

.ac-page,
.ac-layout,
.ac-auth,
.ac-sidebar,
.ac-content,
.woocommerce-MyAccount-content,
.ac-auth #customer_login,
.ac-auth #customer_login .col-1,
.ac-auth #customer_login .col-2 {
    min-width: 0;
}

.ac-auth,
.ac-layout,
body.woocommerce-account .woocommerce-notices-wrapper {
    width: 100%;
}

.ac-auth #customer_login .col-1,
.ac-auth #customer_login .col-2,
.woocommerce-MyAccount-content {
    box-shadow: 0 18px 48px rgba(17, 18, 22, .06);
}

.ac-auth #customer_login .col-1,
.ac-auth #customer_login .col-2 {
    position: relative;
    overflow: hidden;
}

.ac-auth #customer_login .col-1::before,
.ac-auth #customer_login .col-2::before,
.woocommerce-MyAccount-content::before {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    margin-bottom: 22px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--ac-accent), rgba(197, 169, 126, .18));
}

.ac-auth .col-1 h2::after {
    display: none;
}

.ac-auth #customer_login h2,
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3,
.ac-auth > h2 {
    letter-spacing: 0;
}

.ac-auth .woocommerce-form-login,
.ac-auth .woocommerce-form-register,
.woocommerce-ResetPassword.lost_reset_password,
.woocommerce-lost-password .woocommerce {
    width: 100%;
}

.woocommerce-ResetPassword.lost_reset_password {
    max-width: 560px;
    margin: 0 auto;
    padding: 36px;
    border: 1px solid var(--ac-border);
    border-radius: 28px;
    background: var(--ac-surface);
    box-shadow: 0 18px 48px rgba(17, 18, 22, .06);
}

.woocommerce-ResetPassword.lost_reset_password > p:first-child {
    margin-top: 0;
    color: var(--ac-text-2);
    font-size: 14px;
    line-height: 1.75;
}

.woocommerce-ResetPassword .form-row {
    margin-bottom: 18px;
}

.woocommerce-ResetPassword .form-row label {
    display: block;
    margin-bottom: 8px;
    color: var(--ac-text-2);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.woocommerce-ResetPassword input.input-text {
    width: 100%;
    min-height: 54px;
    border: 1px solid var(--ac-input-border);
    border-radius: 14px;
    background: var(--ac-input-bg);
    color: var(--ac-input-color);
    padding: 14px 16px;
}

.woocommerce-ResetPassword input.input-text:focus {
    border-color: var(--ac-input-focus);
    box-shadow: 0 0 0 3px rgba(197, 169, 126, .12);
    outline: none;
}

.woocommerce-ResetPassword .button {
    min-height: 48px;
    padding: 0 26px;
    border-radius: 999px;
    background: #111216;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.ac-auth .woocommerce-LostPassword a,
.ac-auth .lost_password a {
    color: #9b7340;
    font-weight: 700;
}

.ac-auth .woocommerce-form__label-for-checkbox,
.ac-auth .woocommerce-form-login__rememberme {
    line-height: 1.45;
}

.ac-auth .woocommerce-form__input-checkbox,
.woocommerce-form__input-checkbox {
    accent-color: var(--ac-accent);
}

.ac-auth .woocommerce-privacy-policy-text,
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-error,
.ac-auth .woocommerce-info,
.ac-auth .woocommerce-message,
.ac-auth .woocommerce-error {
    overflow-wrap: normal;
    hyphens: none;
}

.ac-auth .woocommerce-error,
.woocommerce-MyAccount-content .woocommerce-error {
    border-left: 3px solid rgba(255, 59, 48, .72);
    line-height: 1.6;
}

.ac-auth .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-message {
    border-left: 3px solid rgba(52, 199, 89, .75);
}

.woocommerce-MyAccount-content .woocommerce-info {
    border-left: 3px solid var(--ac-accent);
}

.woocommerce-orders-table,
.woocommerce-MyAccount-downloads {
    table-layout: auto;
}

.woocommerce-orders-table .button,
.woocommerce-MyAccount-downloads .button,
.woocommerce-MyAccount-content .button {
    border-radius: 999px;
}

@media (max-width: 980px) {
    .ac-layout,
    .ac-auth,
    body.woocommerce-account .woocommerce-notices-wrapper {
        max-width: 100%;
        padding-inline: 20px;
    }

    .ac-auth #customer_login.col2-set {
        gap: 18px;
    }
}

@media (max-width: 640px) {
    .ac-page {
        overflow-x: hidden;
    }

    .ac-layout,
    .ac-auth,
    body.woocommerce-account .woocommerce-notices-wrapper {
        padding-inline: 16px;
    }

    .ac-auth {
        padding-top: 26px;
    }

    .ac-auth #customer_login .col-1,
    .ac-auth #customer_login .col-2,
    .woocommerce-ResetPassword.lost_reset_password {
        width: 100%;
        padding: 24px 20px;
        border-radius: 22px;
    }

    .woocommerce-ResetPassword .button {
        width: 100%;
    }

    .woocommerce form .show-password-input,
    .woocommerce-EditAccountForm .show-password-input,
    .ac-auth .show-password-input {
        right: 10px;
    }
}


/* ==========================================================================
   VIEW ORDER / ORDER DETAILS IN MI CUENTA
   Scope: woocommerce/myaccount/view-order.php + shared order templates.
   ========================================================================== */

.cm-view-order,
.woocommerce-MyAccount-content .cm-order-details,
.woocommerce-MyAccount-content .cm-customer-details {
    --cm-border: var(--ac-border);
    --cm-border-strong: var(--ac-border-strong);
    --cm-surface: var(--ac-surface);
    --cm-surface-2: var(--ac-surface-2);
    --cm-text-1: var(--ac-text-1);
    --cm-text-2: var(--ac-text-2);
    --cm-text-3: var(--ac-text-3);
    --brand-primary: var(--ac-accent);
}

.cm-view-order {
    display: grid;
    gap: 20px;
}

.cm-view-order__hero,
.cm-view-order__updates,
.woocommerce-MyAccount-content .cm-order-card {
    border: 1px solid var(--ac-border);
    border-radius: 22px;
    background: var(--ac-surface-2);
    box-shadow: none;
    box-sizing: border-box;
}

.cm-view-order__hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 22px;
}

.cm-view-order__hero h2 {
    margin: 0 0 8px;
    color: var(--ac-text-1);
    font-size: clamp(22px, 2.8vw, 32px);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
}

.cm-view-order__hero p {
    margin: 0;
    color: var(--ac-text-2);
    font-size: 14px;
    line-height: 1.65;
}

.cm-view-order mark {
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(197, 169, 126, .12);
    color: #8a6939;
    font-weight: 800;
}

.cm-view-order__badge {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(197, 169, 126, .12);
    color: #8a6939;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.cm-view-order__updates {
    padding: 22px;
}

.cm-view-order__updates h2 {
    margin: 0 0 16px;
    color: var(--ac-text-1);
    font-size: 18px;
    font-weight: 850;
    letter-spacing: 0;
}

.cm-view-order__updates .woocommerce-OrderUpdates {
    display: grid;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.cm-view-order__updates .woocommerce-OrderUpdate {
    margin: 0;
    padding: 16px;
    border: 1px solid var(--ac-border);
    border-radius: 16px;
    background: var(--ac-surface);
}

.cm-view-order__updates .woocommerce-OrderUpdate-meta {
    margin: 0 0 8px;
    color: var(--ac-text-3);
    font-size: 11px;
    font-weight: 800;
}

.cm-view-order__updates .description {
    color: var(--ac-text-2);
    font-size: 13px;
    line-height: 1.65;
}

.woocommerce-MyAccount-content .cm-order-details,
.woocommerce-MyAccount-content .cm-customer-details {
    margin: 0;
}

.woocommerce-MyAccount-content .cm-order-card {
    padding: 22px;
}

.woocommerce-MyAccount-content .cm-order-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.woocommerce-MyAccount-content .cm-order-card__eyebrow {
    margin: 0 0 5px;
    color: var(--ac-text-3);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .16em;
    line-height: 1.2;
    text-transform: uppercase;
}

.woocommerce-MyAccount-content .cm-order-card__title {
    margin: 0;
    color: var(--ac-text-1);
    font-size: 20px;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.15;
}

.woocommerce-MyAccount-content .cm-order-card__count {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(197, 169, 126, .12);
    color: #8a6939;
    font-size: 11px;
    font-weight: 850;
    white-space: nowrap;
}

.woocommerce-MyAccount-content .cm-order-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.woocommerce-MyAccount-content .cm-order-table {
    width: 100%;
    min-width: 560px;
    margin: 0;
    border-collapse: collapse;
    border: none;
    background: transparent;
}

.woocommerce-MyAccount-content .cm-order-table th,
.woocommerce-MyAccount-content .cm-order-table td {
    padding: 15px 0;
    border: none;
    border-bottom: 1px solid var(--ac-border);
    vertical-align: top;
}

.woocommerce-MyAccount-content .cm-order-table thead th {
    padding-top: 0;
    color: var(--ac-text-3);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .14em;
    text-align: left;
    text-transform: uppercase;
}

.woocommerce-MyAccount-content .cm-order-table thead th:last-child,
.woocommerce-MyAccount-content .cm-order-table tbody td:last-child,
.woocommerce-MyAccount-content .cm-order-table tfoot td {
    text-align: right;
}

.woocommerce-MyAccount-content .cm-order-table tbody td {
    color: var(--ac-text-1);
    font-size: 14px;
    line-height: 1.55;
}

.woocommerce-MyAccount-content .cm-order-table .product-name a {
    color: var(--ac-text-1);
    font-weight: 800;
    text-decoration: none;
}

.woocommerce-MyAccount-content .cm-order-table .product-name a:hover {
    color: var(--ac-accent);
}

.woocommerce-MyAccount-content .cm-order-table .product-quantity,
.woocommerce-MyAccount-content .cm-order-table .wc-item-meta {
    color: var(--ac-text-3);
    font-size: 12px;
}

.woocommerce-MyAccount-content .cm-order-table__totals th,
.woocommerce-MyAccount-content .cm-order-table__totals td,
.woocommerce-MyAccount-content .cm-order-table__actions th,
.woocommerce-MyAccount-content .cm-order-table__actions td {
    padding: 12px 0;
    color: var(--ac-text-2);
    font-size: 13px;
    font-weight: 700;
}

.woocommerce-MyAccount-content .cm-order-table__totals tr:last-child th,
.woocommerce-MyAccount-content .cm-order-table__totals tr:last-child td {
    border-bottom: none;
}

.woocommerce-MyAccount-content .cm-order-table__totals .total-order_total th,
.woocommerce-MyAccount-content .cm-order-table__totals .total-order_total td,
.woocommerce-MyAccount-content .cm-order-table__totals .total-order_total .woocommerce-Price-amount {
    color: #8a6939;
    font-size: 18px;
    font-weight: 850;
}

.woocommerce-MyAccount-content .cm-customer-details__grid {
    display: grid;
    gap: 14px;
}

.woocommerce-MyAccount-content .cm-customer-details__grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.woocommerce-MyAccount-content .cm-customer-details__address {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--ac-border);
    border-radius: 18px;
    background: var(--ac-surface);
}

.woocommerce-MyAccount-content .cm-customer-details__address h3 {
    margin: 0 0 12px;
    color: var(--ac-text-1);
    font-size: 14px;
    font-weight: 850;
    letter-spacing: 0;
}

.woocommerce-MyAccount-content .cm-customer-details__address address {
    margin: 0;
    color: var(--ac-text-2);
    font-style: normal;
    font-size: 13px;
    line-height: 1.75;
}

.woocommerce-MyAccount-content .cm-customer-details__address p {
    display: flex;
    gap: 9px;
    align-items: center;
    margin: 10px 0 0;
    color: var(--ac-text-1);
    font-weight: 700;
    overflow-wrap: anywhere;
}

.woocommerce-MyAccount-content .cm-customer-details__address p i {
    color: var(--ac-accent);
    width: 15px;
    text-align: center;
}

@media (max-width: 768px) {
    .cm-view-order__hero {
        flex-direction: column;
        padding: 20px;
    }

    .woocommerce-MyAccount-content .cm-order-card__head {
        flex-direction: column;
        gap: 10px;
    }

    .woocommerce-MyAccount-content .cm-customer-details__grid--two {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .cm-view-order__hero,
    .cm-view-order__updates,
    .woocommerce-MyAccount-content .cm-order-card {
        border-radius: 20px;
        padding: 18px;
    }

    .woocommerce-MyAccount-content .cm-order-table {
        min-width: 0;
    }

    .woocommerce-MyAccount-content .cm-order-table thead {
        display: none;
    }

    .woocommerce-MyAccount-content .cm-order-table,
    .woocommerce-MyAccount-content .cm-order-table tbody,
    .woocommerce-MyAccount-content .cm-order-table tfoot,
    .woocommerce-MyAccount-content .cm-order-table tr,
    .woocommerce-MyAccount-content .cm-order-table th,
    .woocommerce-MyAccount-content .cm-order-table td {
        display: block;
        width: 100%;
    }

    .woocommerce-MyAccount-content .cm-order-table tbody tr,
    .woocommerce-MyAccount-content .cm-order-table tfoot tr {
        padding: 13px 0;
        border-bottom: 1px solid var(--ac-border);
    }

    .woocommerce-MyAccount-content .cm-order-table th,
    .woocommerce-MyAccount-content .cm-order-table td {
        padding: 4px 0;
        border-bottom: none;
    }

    .woocommerce-MyAccount-content .cm-order-table tbody td:last-child,
    .woocommerce-MyAccount-content .cm-order-table tfoot td {
        text-align: left;
    }
}


/* ==========================================================================
   ACCOUNT AUTH + ORDERS POLISH
   Scope: login, register, lost password, dashboard, orders.
   ========================================================================== */

.ac-auth-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(18px, 2.4vw, 28px);
    align-items: stretch;
}

.ac-auth-grid--single {
    grid-template-columns: minmax(0, 620px);
    justify-content: center;
}

.ac-auth-card {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(197, 169, 126, .07), rgba(255, 255, 255, 0) 40%),
        var(--ac-surface);
    border: 1px solid var(--ac-border);
    border-radius: 28px;
    padding: clamp(26px, 3vw, 38px);
    box-shadow: 0 18px 48px rgba(17, 18, 22, .06);
}

.ac-auth-card::before,
.ac-reset-password::before,
.ac-dashboard::before,
.ac-orders::before {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    margin-bottom: 22px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--ac-accent), rgba(197, 169, 126, .18));
}

.ac-auth-card__head {
    margin-bottom: 22px;
}

.ac-auth-card__eyebrow,
.ac-dashboard__eyebrow {
    margin: 0 0 7px;
    color: var(--ac-text-3);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .16em;
    line-height: 1.2;
    text-transform: uppercase;
}

.ac-auth-card__head h2,
.ac-reset-password__head h2,
.ac-dashboard h2,
.ac-orders__head h2 {
    margin: 0 0 9px;
    color: var(--ac-text-1);
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
}

.ac-auth-card__head p,
.ac-reset-password__head p,
.ac-dashboard > p,
.ac-orders__head p {
    margin: 0;
    color: var(--ac-text-2);
    font-size: 14px;
    line-height: 1.7;
}

.ac-auth-form {
    display: grid;
    gap: 16px;
    margin: 0;
}

.ac-auth-form .form-row {
    margin: 0;
}

.ac-auth-form label,
.ac-reset-password label {
    display: block;
    margin: 0 0 8px;
    color: var(--ac-text-2);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .14em;
    line-height: 1.25;
    text-transform: uppercase;
}

.ac-auth-form input.input-text,
.ac-reset-password input.input-text {
    width: 100%;
    min-height: 54px;
    border: 1px solid var(--ac-input-border);
    border-radius: 14px;
    background: var(--ac-input-bg);
    color: var(--ac-input-color);
    padding: 14px 16px;
    box-shadow: none;
}

.ac-auth-form input.input-text:focus,
.ac-reset-password input.input-text:focus {
    border-color: var(--ac-input-focus);
    box-shadow: 0 0 0 3px rgba(197, 169, 126, .12);
    outline: none;
}

.ac-auth-form__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.ac-auth-form__actions .woocommerce-form-login__rememberme {
    margin: 0;
}

.ac-auth-form__actions .button,
.ac-auth-form__submit .button,
.ac-reset-password .button,
.ac-orders-empty .button {
    min-height: 48px;
    border-radius: 999px;
    background: #111216;
    border: 1px solid #111216;
    color: #ffffff;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .14em;
    padding: 0 26px;
    text-transform: uppercase;
}

.ac-auth-form__actions .button:hover,
.ac-auth-form__submit .button:hover,
.ac-reset-password .button:hover,
.ac-orders-empty .button:hover {
    background: #2a2b31;
    border-color: #2a2b31;
}

.ac-auth-note {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    padding: 14px;
    border: 1px solid rgba(197, 169, 126, .18);
    border-radius: 16px;
    background: rgba(197, 169, 126, .08);
}

.ac-auth-note i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    color: #8a6939;
    background: rgba(197, 169, 126, .16);
}

.ac-auth-note p {
    margin: 0;
    color: var(--ac-text-2);
    font-size: 12px;
    line-height: 1.6;
}

.ac-auth .woocommerce-privacy-policy-text,
.ac-auth .woocommerce-privacy-policy-text p,
.ac-auth .woocommerce-privacy-policy-text a {
    color: var(--ac-text-2);
    font-size: 12px;
    line-height: 1.65;
}

.ac-auth .woocommerce-privacy-policy-text {
    padding: 14px 0 0;
    border-top: 1px solid var(--ac-border);
}

.ac-auth .woocommerce-privacy-policy-text p {
    margin: 0;
}

.ac-auth .woocommerce-privacy-policy-text a {
    color: #8a6939;
    font-weight: 800;
}

.ac-auth .woocommerce-LostPassword,
.ac-auth .lost_password {
    margin: -2px 0 0;
}

.ac-auth .woocommerce-LostPassword a,
.ac-auth .lost_password a {
    color: #8a6939;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.ac-reset-password,
.ac-dashboard,
.ac-orders {
    width: 100%;
    box-sizing: border-box;
}

.ac-reset-password {
    max-width: 620px;
}

.ac-dashboard-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
}

.ac-dashboard-action {
    display: grid;
    gap: 10px;
    min-height: 112px;
    padding: 18px;
    border: 1px solid var(--ac-border);
    border-radius: 18px;
    background: var(--ac-surface-2);
    color: var(--ac-text-1) !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.ac-dashboard-action i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    color: #8a6939;
    background: rgba(197, 169, 126, .14);
}

.ac-orders__head {
    margin-bottom: 22px;
}

.ac-orders-empty {
    display: grid;
    justify-items: center;
    gap: 12px;
    padding: 34px 20px;
    border: 1px solid var(--ac-border);
    border-radius: 22px;
    background: var(--ac-surface-2);
    text-align: center;
}

.ac-orders-empty i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 999px;
    color: #8a6939;
    background: rgba(197, 169, 126, .14);
}

.ac-orders-empty h3 {
    margin: 0;
    color: var(--ac-text-1);
    font-size: 20px;
    font-weight: 850;
    letter-spacing: 0;
}

.ac-orders-empty p {
    max-width: 520px;
    margin: 0;
    color: var(--ac-text-2);
    font-size: 14px;
    line-height: 1.7;
}

@media (max-width: 900px) {
    .ac-auth-grid,
    .ac-auth #customer_login.col2-set {
        grid-template-columns: 1fr;
    }

    .ac-dashboard-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .ac-auth-card,
    .ac-reset-password {
        padding: 24px 20px;
        border-radius: 22px;
    }

    .ac-auth-form__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ac-auth-form__actions .button,
    .ac-auth-form__submit .button,
    .ac-reset-password .button,
    .ac-orders-empty .button {
        width: 100%;
    }
}


/* ==========================================================================
   DESKTOP ACCOUNT AUTH WIDTH
   Scope: /mi-cuenta/ guest login + register only. Mobile rules stay intact.
   ========================================================================== */

@media (min-width: 901px) {
    .ac-page--guest {
        padding-bottom: 72px;
    }

    .ac-page--guest .ac-auth {
        width: 100%;
        max-width: min(1480px, calc(100vw - 72px));
        padding-inline: clamp(28px, 3vw, 56px);
        padding-top: clamp(34px, 4vh, 54px);
    }

    .ac-page--guest .ac-auth-grid,
    .ac-page--guest .ac-auth #customer_login.col2-set {
        width: 100%;
        grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
        gap: clamp(28px, 3vw, 42px);
        align-items: stretch;
    }

    .ac-page--guest .ac-auth-card {
        min-width: 0;
        padding: clamp(34px, 3.4vw, 48px);
        border-radius: 30px;
    }

    .ac-page--guest .ac-auth-card__head {
        margin-bottom: 26px;
    }

    .ac-page--guest .ac-auth-card__head h2 {
        font-size: clamp(30px, 2.45vw, 38px);
    }

    .ac-page--guest .ac-auth-card__head p {
        max-width: 58ch;
        font-size: 15px;
    }

    .ac-page--guest .ac-auth-form {
        gap: 18px;
    }

    .ac-page--guest .ac-auth-form input.input-text {
        min-height: 58px;
        font-size: 15px;
    }

    .ac-page--guest .ac-auth-form__actions {
        margin-top: 2px;
    }

    .ac-page--guest .ac-auth-form__actions .button,
    .ac-page--guest .ac-auth-form__submit .button {
        min-height: 52px;
        padding-inline: 32px;
    }
}

@media (min-width: 1280px) {
    .ac-page--guest .ac-auth {
        max-width: min(1540px, calc(100vw - 96px));
    }

    .ac-page--guest .ac-auth-grid,
    .ac-page--guest .ac-auth #customer_login.col2-set {
        grid-template-columns: minmax(460px, .96fr) minmax(500px, 1.04fr);
    }
}


/* ==========================================================================
   FINAL DESKTOP FIX: MY ACCOUNT GUEST WIDTH
   Overrides Woo/Storefront column widths inside the auth grid.
   ========================================================================== */

@media (min-width: 1100px) {
    body.woocommerce-account .ac-page--guest .ac-auth {
        width: 100% !important;
        max-width: 1120px !important;
        margin-inline: auto !important;
        padding-inline: 24px !important;
    }

    body.woocommerce-account .ac-page--guest #customer_login.ac-auth-grid,
    body.woocommerce-account .ac-page--guest .ac-auth #customer_login.col2-set {
        display: grid !important;
        width: 100% !important;
        max-width: 1120px !important;
        margin-inline: auto !important;
        grid-template-columns: repeat(2, minmax(420px, 520px)) !important;
        justify-content: center !important;
        align-items: stretch !important;
        gap: clamp(36px, 4vw, 64px) !important;
    }

    body.woocommerce-account .ac-page--guest #customer_login > .u-column1,
    body.woocommerce-account .ac-page--guest #customer_login > .u-column2,
    body.woocommerce-account .ac-page--guest #customer_login > .col-1,
    body.woocommerce-account .ac-page--guest #customer_login > .col-2 {
        float: none !important;
        clear: none !important;
        width: 100% !important;
        min-width: 420px !important;
        max-width: 520px !important;
        margin: 0 !important;
        justify-self: stretch !important;
    }

    body.woocommerce-account .ac-page--guest .ac-auth-card {
        width: 100% !important;
        min-height: 0 !important;
        padding: 42px !important;
    }

    body.woocommerce-account .ac-page--guest .woocommerce-form-login,
    body.woocommerce-account .ac-page--guest .woocommerce-form-register {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.woocommerce-account .ac-page--guest .woocommerce-form-login .form-row,
    body.woocommerce-account .ac-page--guest .woocommerce-form-register .form-row,
    body.woocommerce-account .ac-page--guest .woocommerce-form-login .woocommerce-form-row,
    body.woocommerce-account .ac-page--guest .woocommerce-form-register .woocommerce-form-row {
        width: 100% !important;
        max-width: none !important;
        float: none !important;
        clear: both !important;
    }

    body.woocommerce-account .ac-page--guest .woocommerce-form-login input.input-text,
    body.woocommerce-account .ac-page--guest .woocommerce-form-register input.input-text,
    body.woocommerce-account .ac-page--guest .woocommerce-form-login input[type="text"],
    body.woocommerce-account .ac-page--guest .woocommerce-form-login input[type="password"],
    body.woocommerce-account .ac-page--guest .woocommerce-form-register input[type="email"],
    body.woocommerce-account .ac-page--guest .woocommerce-form-register input[type="password"] {
        width: 100% !important;
        max-width: none !important;
    }
}

@media (min-width: 901px) and (max-width: 1099px) {
    body.woocommerce-account .ac-page--guest .ac-auth {
        max-width: min(980px, calc(100vw - 48px)) !important;
        padding-inline: 24px !important;
    }

    body.woocommerce-account .ac-page--guest #customer_login.ac-auth-grid,
    body.woocommerce-account .ac-page--guest .ac-auth #customer_login.col2-set {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }

    body.woocommerce-account .ac-page--guest #customer_login > .u-column1,
    body.woocommerce-account .ac-page--guest #customer_login > .u-column2,
    body.woocommerce-account .ac-page--guest #customer_login > .col-1,
    body.woocommerce-account .ac-page--guest #customer_login > .col-2 {
        float: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }
}


/* ==========================================================================
   FINAL LOGGED-IN ACCOUNT LAYOUT FIX
   Scope: logged-in account shell only. Does not affect guest login/register.
   ========================================================================== */

body.woocommerce-account.logged-in .ac-page--authed {
    width: 100%;
    min-height: 70vh;
    padding-bottom: 80px;
    overflow-x: clip;
}

body.woocommerce-account.logged-in .ac-layout {
    display: grid !important;
    width: 100% !important;
    max-width: min(1180px, calc(100vw - 72px)) !important;
    margin-inline: auto !important;
    padding: clamp(34px, 4vw, 56px) 0 0 !important;
    grid-template-columns: minmax(240px, 280px) minmax(0, 1fr) !important;
    gap: clamp(28px, 3.4vw, 48px) !important;
    align-items: start !important;
}

body.woocommerce-account.logged-in .ac-sidebar {
    position: sticky !important;
    top: 92px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: 1fr !important;
}

body.woocommerce-account.logged-in .ac-content,
body.woocommerce-account.logged-in .ac-content__inner,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
    border-radius: 22px !important;
    overflow: visible !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 8px !important;
    list-style: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul li {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    float: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul li a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 0 50px 0 16px !important;
    border-radius: 16px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    line-height: 1.25 !important;
    text-align: left !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul li a::after {
    right: 14px !important;
    flex: 0 0 auto !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    padding: clamp(28px, 3vw, 38px) !important;
    border-radius: 28px !important;
}

body.woocommerce-account.logged-in .ac-dashboard-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 980px) {
    body.woocommerce-account.logged-in .ac-layout {
        max-width: 100% !important;
        padding: 22px 18px 0 !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    body.woocommerce-account.logged-in .ac-sidebar {
        position: static !important;
        top: auto !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul li a {
        min-height: 48px !important;
        padding: 0 44px 0 14px !important;
    }

    body.woocommerce-account.logged-in .ac-dashboard-actions {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    body.woocommerce-account.logged-in .ac-layout {
        padding-inline: 16px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
        grid-template-columns: 1fr !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
        padding: 22px 18px !important;
        border-radius: 22px !important;
    }
}
