/* ============================================================
   MY ACCOUNT — Compra Tu Panel
   Scope: #ctp-account-root
   Incluye: login/registro · dashboard · nav sidebar ·
            orders table · edit-account · edit-address
   ============================================================ */

/* ── Variables locales (alias cortos) ──────────────────────── */
#ctp-account-root {
    --acc-font:        'Inter', sans-serif;
    --acc-bg:          #F8F9FA;
    --acc-surface:     #FFFFFF;
    --acc-border:      #E4E4E7;
    --acc-text:        #111111;
    --acc-muted:       #71717A;
    --acc-subtle:      #A1A1AA;
    --acc-zinc-100:    #F4F4F5;
    --acc-zinc-800:    #27272A;
    --acc-zinc-900:    #18181B;
    --acc-accent:      #10B981;
    --acc-accent-lt:   #ECFDF5;
    --acc-accent-txt:  #065F46;
    --acc-red:         #EF4444;
    --acc-r-sm:        4px;
    --acc-r:           8px;
    --acc-r-lg:        16px;
    --acc-r-full:      9999px;
    --acc-t:           0.18s ease;
    --acc-shadow:      0 4px 24px rgba(0,0,0,0.06);
    --acc-nav-w:       240px;
}

/* ── Root base ──────────────────────────────────────────────── */
#ctp-account-root {
    font-family:    var(--acc-font) !important;
    background:     var(--acc-bg) !important;
    min-height:     60vh !important;
    padding-bottom: 4rem !important;
    color:          var(--acc-text) !important;
}

/* ── Breadcrumb ─────────────────────────────────────────────── */
#ctp-account-root .ctp-breadcrumb {
    background:    #fff !important;
    border-bottom: 1px solid var(--acc-border) !important;
    width:         100% !important;
}
#ctp-account-root .ctp-breadcrumb .ctp-wrap {
    display:        flex !important;
    align-items:    center !important;
    gap:            0.375rem !important;
    padding-top:    0.875rem !important;
    padding-bottom: 0.875rem !important;
    font-size:      0.75rem !important;
    font-weight:    500 !important;
    color:          var(--acc-subtle) !important;
}
#ctp-account-root .ctp-breadcrumb__item {
    color:           var(--acc-subtle) !important;
    text-decoration: none !important;
    transition:      color var(--acc-t) !important;
}
#ctp-account-root .ctp-breadcrumb__item:hover         { color: var(--acc-zinc-900) !important; }
#ctp-account-root .ctp-breadcrumb__item--current      { color: var(--acc-zinc-900) !important; font-weight: 500 !important; }
#ctp-account-root .ctp-breadcrumb__sep                { color: #D4D4D8 !important; flex-shrink: 0 !important; display: inline-flex !important; }

/* ============================================================
   A) PÁGINA DE LOGIN / REGISTRO (form-login.php)
   ============================================================ */

/* Page header */
#ctp-account-root .ctp-account-page-header {
    padding-top:    2rem !important;
    padding-bottom: 1.25rem !important;
}
#ctp-account-root .ctp-account-page-header__title {
    font-size:      clamp(1.75rem, 4vw, 2.5rem) !important;
    font-weight:    700 !important;
    color:          var(--acc-text) !important;
    letter-spacing: -0.025em !important;
    margin:         0 0 0.375rem !important;
    line-height:    1.15 !important;
}
#ctp-account-root .ctp-account-page-header__desc {
    font-size:  0.9375rem !important;
    color:      var(--acc-muted) !important;
    margin:     0 !important;
    line-height: 1.55 !important;
}

/* Grid de login/registro */
#ctp-account-root .ctp-account-login-grid {
    display:               grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap:                   1.5rem !important;
    padding-bottom:        4rem !important;
}
#ctp-account-root .ctp-account-login-grid--single {
    grid-template-columns: 1fr !important;
    max-width:             480px !important;
}

/* Card */
#ctp-account-root .ctp-account-card {
    background:    var(--acc-surface) !important;
    border:        1px solid var(--acc-border) !important;
    border-radius: var(--acc-r-lg) !important;
    padding:       2rem !important;
    display:       flex !important;
    flex-direction: column !important;
    gap:           1.5rem !important;
}

/* Card header */
#ctp-account-root .ctp-account-card__header {
    display:     flex !important;
    align-items: center !important;
    gap:         0.75rem !important;
}
#ctp-account-root .ctp-account-card__icon-badge {
    width:           44px !important;
    height:          44px !important;
    border-radius:   var(--acc-r) !important;
    background:      var(--acc-accent-lt) !important;
    color:           var(--acc-accent) !important;
    display:         flex !important;
    align-items:     center !important;
    justify-content: center !important;
    flex-shrink:     0 !important;
}
#ctp-account-root .ctp-account-card__title {
    font-size:   1.125rem !important;
    font-weight: 600 !important;
    color:       var(--acc-text) !important;
    margin:      0 !important;
    line-height: 1.3 !important;
}

/* ── Filas de formulario ────────────────────────────────────── */
#ctp-account-root .ctp-form-row {
    display:        flex !important;
    flex-direction: column !important;
    gap:            0.375rem !important;
}
#ctp-account-root .ctp-form-row--inline {
    flex-direction:  row !important;
    align-items:     center !important;
    justify-content: space-between !important;
    flex-wrap:       wrap !important;
    gap:             0.5rem !important;
}
#ctp-account-root .ctp-form-row--info {
    margin-top: -0.5rem !important;
}

/* Labels */
#ctp-account-root .ctp-form-label {
    font-size:   0.8125rem !important;
    font-weight: 500 !important;
    color:       var(--acc-text) !important;
    line-height: 1.4 !important;
}
#ctp-account-root .ctp-form-label .required {
    color:      var(--acc-accent) !important;
    margin-left: 2px !important;
    text-decoration: none !important;
}

/* Inputs */
#ctp-account-root .ctp-form-input,
#ctp-account-root .woocommerce-Input--text,
#ctp-account-root .woocommerce-Input--email,
#ctp-account-root .woocommerce-Input--password,
#ctp-account-root .woocommerce-Input--phone,
#ctp-account-root input[type="text"],
#ctp-account-root input[type="email"],
#ctp-account-root input[type="password"],
#ctp-account-root input[type="tel"],
#ctp-account-root select,
#ctp-account-root textarea {
    width:         100% !important;
    padding:       0.75rem 1rem !important;
    font-family:   var(--acc-font) !important;
    font-size:     0.9375rem !important;
    color:         var(--acc-text) !important;
    background:    #fff !important;
    border:        1.5px solid var(--acc-border) !important;
    border-radius: var(--acc-r) !important;
    outline:       none !important;
    transition:    border-color var(--acc-t), box-shadow var(--acc-t) !important;
    box-shadow:    none !important;
    appearance:    none !important;
    -webkit-appearance: none !important;
}
#ctp-account-root .ctp-form-input:focus,
#ctp-account-root .woocommerce-Input--text:focus,
#ctp-account-root .woocommerce-Input--email:focus,
#ctp-account-root .woocommerce-Input--password:focus,
#ctp-account-root input[type="text"]:focus,
#ctp-account-root input[type="email"]:focus,
#ctp-account-root input[type="password"]:focus,
#ctp-account-root input[type="tel"]:focus,
#ctp-account-root select:focus,
#ctp-account-root textarea:focus {
    border-color: var(--acc-zinc-900) !important;
    box-shadow:   0 0 0 3px rgba(24,24,27,0.08) !important;
}

/* Textarea */
#ctp-account-root textarea {
    min-height: 100px !important;
    resize:     vertical !important;
}

/* Select arrow */
#ctp-account-root select {
    background-image:    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2371717A' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat:   no-repeat !important;
    background-position: right 0.875rem center !important;
    padding-right:       2.5rem !important;
    cursor:              pointer !important;
}

/* Checkbox / recuérdame */
#ctp-account-root .ctp-form-remember {
    display:     flex !important;
    align-items: center !important;
    gap:         0.5rem !important;
    cursor:      pointer !important;
    font-size:   0.875rem !important;
    color:       var(--acc-muted) !important;
}
#ctp-account-root .woocommerce-form__input-checkbox {
    width:         16px !important;
    height:        16px !important;
    border:        1.5px solid var(--acc-border) !important;
    border-radius: var(--acc-r-sm) !important;
    cursor:        pointer !important;
    flex-shrink:   0 !important;
    accent-color:  var(--acc-zinc-900) !important;
    padding:       0 !important;
}

/* Link "¿Olvidaste tu contraseña?" */
#ctp-account-root .ctp-form-forgot {
    font-size:       0.875rem !important;
    color:           var(--acc-muted) !important;
    text-decoration: none !important;
    transition:      color var(--acc-t) !important;
}
#ctp-account-root .ctp-form-forgot:hover { color: var(--acc-zinc-900) !important; }

/* Info msg */
#ctp-account-root .ctp-form-info-msg {
    display:     flex !important;
    align-items: flex-start !important;
    gap:         0.375rem !important;
    font-size:   0.8125rem !important;
    color:       var(--acc-muted) !important;
    margin:      0 !important;
    line-height: 1.5 !important;
}

/* Botón full-width */
#ctp-account-root .ctp-btn--full {
    width:           100% !important;
    justify-content: center !important;
    padding:         0.9rem 1.5rem !important;
    font-size:       0.9375rem !important;
    border-radius:   var(--acc-r-full) !important;
    background:      var(--acc-zinc-900) !important;
    color:           #fff !important;
    border:          none !important;
    font-weight:     600 !important;
    display:         flex !important;
    align-items:     center !important;
    gap:             0.5rem !important;
    cursor:          pointer !important;
    transition:      background var(--acc-t) !important;
    text-decoration: none !important;
}
#ctp-account-root .ctp-btn--full:hover { background: var(--acc-zinc-800) !important; }

/* Sobreescribir botón nativo WooCommerce */
#ctp-account-root .woocommerce-Button.button,
#ctp-account-root .woocommerce-button.button,
#ctp-account-root button.button {
    border-radius:   var(--acc-r-full) !important;
    font-family:     var(--acc-font) !important;
    font-weight:     600 !important;
    background:      var(--acc-zinc-900) !important;
    color:           #fff !important;
    border:          none !important;
    cursor:          pointer !important;
    transition:      background var(--acc-t) !important;
    padding:         0.75rem 1.5rem !important;
    font-size:       0.9375rem !important;
    display:         inline-flex !important;
    align-items:     center !important;
    gap:             0.5rem !important;
    text-decoration: none !important;
}
#ctp-account-root .woocommerce-Button.button:hover,
#ctp-account-root button.button:hover { background: var(--acc-zinc-800) !important; }

/* ============================================================
   B) DASHBOARD LOGUEADO
      my-account.php · navigation.php · dashboard.php
   ============================================================ */

/* Layout dos columnas: sidebar + contenido */
#ctp-account-root.ctp-account-root--dashboard .ctp-wrap {
    padding-top:    2rem !important;
    padding-bottom: 4rem !important;
}
#ctp-account-root .ctp-account-layout {
    display:               grid !important;
    grid-template-columns: var(--acc-nav-w) 1fr !important;
    gap:                   2rem !important;
    align-items:           start !important;
}

/* ── SIDEBAR NAV ────────────────────────────────────────────── */
#ctp-account-root .ctp-account-nav {
    background:    var(--acc-surface) !important;
    border:        1px solid var(--acc-border) !important;
    border-radius: var(--acc-r-lg) !important;
    overflow:      hidden !important;
    position:      sticky !important;
    top:           90px !important;
}

/* Bloque usuario */
#ctp-account-root .ctp-account-nav__user {
    display:     flex !important;
    align-items: center !important;
    gap:         0.75rem !important;
    padding:     1.25rem !important;
    border-bottom: 1px solid var(--acc-border) !important;
    background:  var(--acc-zinc-100) !important;
}
#ctp-account-root .ctp-account-nav__avatar {
    flex-shrink: 0 !important;
}
#ctp-account-root .ctp-account-nav__avatar-img {
    width:         48px !important;
    height:        48px !important;
    border-radius: 50% !important;
    object-fit:    cover !important;
    display:       block !important;
}
#ctp-account-root .ctp-account-nav__user-info {
    display:        flex !important;
    flex-direction: column !important;
    gap:            0.125rem !important;
    min-width:      0 !important;
}
#ctp-account-root .ctp-account-nav__user-name {
    font-size:   0.875rem !important;
    font-weight: 600 !important;
    color:       var(--acc-text) !important;
    white-space: nowrap !important;
    overflow:    hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.3 !important;
}
#ctp-account-root .ctp-account-nav__user-email {
    font-size:   0.75rem !important;
    color:       var(--acc-muted) !important;
    white-space: nowrap !important;
    overflow:    hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.3 !important;
}

/* Lista de navegación */
#ctp-account-root .woocommerce-MyAccount-navigation { margin: 0 !important; padding: 0 !important; width: 100% !important; float: none !important; }
#ctp-account-root .ctp-account-nav__list {
    list-style: none !important;
    margin:     0 !important;
    padding:    0.5rem 0 !important;
}
#ctp-account-root .ctp-account-nav__list li { margin: 0 !important; padding: 0 !important; }

/* Link */
#ctp-account-root .ctp-account-nav__link {
    display:         flex !important;
    align-items:     center !important;
    gap:             0.625rem !important;
    padding:         0.625rem 1.25rem !important;
    font-size:       0.875rem !important;
    font-weight:     500 !important;
    color:           var(--acc-muted) !important;
    text-decoration: none !important;
    transition:      background var(--acc-t), color var(--acc-t) !important;
    border-left:     3px solid transparent !important;
}
#ctp-account-root .ctp-account-nav__link:hover {
    background:  var(--acc-zinc-100) !important;
    color:       var(--acc-zinc-900) !important;
    border-left-color: var(--acc-border) !important;
}

/* Estado activo */
#ctp-account-root .ctp-account-nav__list li.is-active > .ctp-account-nav__link,
#ctp-account-root .ctp-account-nav__list li.woocommerce-MyAccount-navigation-link--active > .ctp-account-nav__link {
    background:       var(--acc-zinc-900) !important;
    color:            #fff !important;
    border-left-color: var(--acc-zinc-900) !important;
}
#ctp-account-root .ctp-account-nav__list li.is-active > .ctp-account-nav__link:hover,
#ctp-account-root .ctp-account-nav__list li.woocommerce-MyAccount-navigation-link--active > .ctp-account-nav__link:hover {
    background: var(--acc-zinc-800) !important;
}

/* Icono */
#ctp-account-root .ctp-account-nav__icon {
    display:     inline-flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
}

/* Logout — hover rojo */
#ctp-account-root .ctp-account-nav__link--logout {
    color: var(--acc-muted) !important;
}
#ctp-account-root .ctp-account-nav__link--logout:hover {
    color:      var(--acc-red) !important;
    background: #FEF2F2 !important;
    border-left-color: var(--acc-red) !important;
}
#ctp-account-root .ctp-account-nav__list li.woocommerce-MyAccount-navigation-link--customer-logout > .ctp-account-nav__link:hover {
    color:      var(--acc-red) !important;
    background: #FEF2F2 !important;
    border-left-color: var(--acc-red) !important;
}

/* ── CONTENIDO PRINCIPAL ────────────────────────────────────── */
#ctp-account-root .ctp-account-content {
    min-width: 0 !important;
}

/* WooCommerce genera notices aquí */
#ctp-account-root .ctp-account-content .woocommerce-notices-wrapper {
    margin-bottom: 1rem !important;
}
#ctp-account-root .woocommerce-message,
#ctp-account-root .woocommerce-info,
#ctp-account-root .woocommerce-error {
    border-left:   4px solid var(--acc-accent) !important;
    border-radius: var(--acc-r) !important;
    padding:       1rem 1.25rem !important;
    margin-bottom: 1rem !important;
    font-size:     0.9375rem !important;
    list-style:    none !important;
    background:    var(--acc-accent-lt) !important;
    color:         var(--acc-accent-txt) !important;
}
#ctp-account-root .woocommerce-error {
    border-left-color: var(--acc-red) !important;
    background:        #FEF2F2 !important;
    color:             #B91C1C !important;
}
#ctp-account-root .woocommerce-info {
    border-left-color: #3B82F6 !important;
    background:        #EFF6FF !important;
    color:             #1D4ED8 !important;
}

/* ── DASHBOARD ──────────────────────────────────────────────── */

/* Saludo */
#ctp-account-root .ctp-dashboard__greeting {
    margin-bottom: 2rem !important;
    padding-bottom: 1.5rem !important;
    border-bottom: 1px solid var(--acc-border) !important;
}
#ctp-account-root .ctp-dashboard__greeting-title {
    font-size:      1.625rem !important;
    font-weight:    700 !important;
    color:          var(--acc-text) !important;
    margin:         0 0 0.5rem !important;
    letter-spacing: -0.02em !important;
    line-height:    1.25 !important;
}
#ctp-account-root .ctp-dashboard__name {
    color: var(--acc-accent) !important;
}
#ctp-account-root .ctp-dashboard__greeting-sub {
    font-size:   0.9375rem !important;
    color:       var(--acc-muted) !important;
    margin:      0 0 0.5rem !important;
    line-height: 1.6 !important;
    max-width:   560px !important;
}
#ctp-account-root .ctp-dashboard__not-you {
    font-size:   0.8125rem !important;
    color:       var(--acc-subtle) !important;
    margin:      0 !important;
}
#ctp-account-root .ctp-dashboard__not-you a {
    color:           var(--acc-muted) !important;
    text-decoration: underline !important;
    transition:      color var(--acc-t) !important;
}
#ctp-account-root .ctp-dashboard__not-you a:hover { color: var(--acc-zinc-900) !important; }

/* Quick Access Cards */
#ctp-account-root .ctp-dashboard__cards {
    display:        flex !important;
    flex-direction: column !important;
    gap:            0.75rem !important;
}
#ctp-account-root .ctp-dashboard__card {
    display:         flex !important;
    align-items:     center !important;
    gap:             1rem !important;
    background:      var(--acc-surface) !important;
    border:          1px solid var(--acc-border) !important;
    border-radius:   var(--acc-r-lg) !important;
    padding:         1.25rem !important;
    text-decoration: none !important;
    color:           var(--acc-text) !important;
    transition:      box-shadow var(--acc-t), transform var(--acc-t), border-color var(--acc-t) !important;
}
#ctp-account-root .ctp-dashboard__card:hover {
    box-shadow:    var(--acc-shadow) !important;
    transform:     translateY(-2px) !important;
    border-color:  var(--acc-zinc-900) !important;
}
#ctp-account-root .ctp-dashboard__card-icon {
    width:           44px !important;
    height:          44px !important;
    border-radius:   var(--acc-r) !important;
    background:      var(--acc-accent-lt) !important;
    color:           var(--acc-accent) !important;
    display:         flex !important;
    align-items:     center !important;
    justify-content: center !important;
    flex-shrink:     0 !important;
}
#ctp-account-root .ctp-dashboard__card-body {
    flex: 1 !important;
    min-width: 0 !important;
}
#ctp-account-root .ctp-dashboard__card-title {
    font-size:   0.9375rem !important;
    font-weight: 600 !important;
    color:       var(--acc-text) !important;
    margin:      0 0 0.2rem !important;
    line-height: 1.3 !important;
}
#ctp-account-root .ctp-dashboard__card-desc {
    font-size:   0.8125rem !important;
    color:       var(--acc-muted) !important;
    margin:      0 !important;
    line-height: 1.5 !important;
}
#ctp-account-root .ctp-dashboard__card-arrow {
    color:       var(--acc-subtle) !important;
    flex-shrink: 0 !important;
    display:     inline-flex !important;
    transition:  color var(--acc-t) !important;
}
#ctp-account-root .ctp-dashboard__card:hover .ctp-dashboard__card-arrow {
    color: var(--acc-zinc-900) !important;
}

/* ============================================================
   C) TABLA DE ÓRDENES (.shop_table · .woocommerce-orders-table)
   ============================================================ */

#ctp-account-root .woocommerce-orders-table,
#ctp-account-root .shop_table {
    width:          100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background:     var(--acc-surface) !important;
    border:         1px solid var(--acc-border) !important;
    border-radius:  var(--acc-r-lg) !important;
    overflow:       hidden !important;
    font-size:      0.9375rem !important;
}

/* Encabezados */
#ctp-account-root .woocommerce-orders-table thead th,
#ctp-account-root .shop_table thead th {
    background:    var(--acc-zinc-100) !important;
    color:         var(--acc-text) !important;
    font-size:     0.75rem !important;
    font-weight:   600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding:       0.875rem 1.25rem !important;
    text-align:    left !important;
    border-bottom: 1px solid var(--acc-border) !important;
}

/* Filas */
#ctp-account-root .woocommerce-orders-table tbody tr,
#ctp-account-root .shop_table tbody tr {
    border-bottom: 1px solid var(--acc-border) !important;
    transition:    background var(--acc-t) !important;
}
#ctp-account-root .woocommerce-orders-table tbody tr:last-child,
#ctp-account-root .shop_table tbody tr:last-child {
    border-bottom: none !important;
}
#ctp-account-root .woocommerce-orders-table tbody tr:hover,
#ctp-account-root .shop_table tbody tr:hover {
    background: var(--acc-zinc-100) !important;
}

/* Celdas */
#ctp-account-root .woocommerce-orders-table tbody td,
#ctp-account-root .shop_table tbody td,
#ctp-account-root .woocommerce-orders-table tfoot td,
#ctp-account-root .shop_table tfoot td,
#ctp-account-root .woocommerce-orders-table tfoot th,
#ctp-account-root .shop_table tfoot th {
    padding:     0.875rem 1.25rem !important;
    color:       var(--acc-text) !important;
    font-size:   0.9375rem !important;
    line-height: 1.5 !important;
    border: none !important;
}

/* Order number link */
#ctp-account-root .woocommerce-orders-table__cell a,
#ctp-account-root .shop_table a {
    color:           var(--acc-zinc-900) !important;
    text-decoration: none !important;
    font-weight:     500 !important;
}
#ctp-account-root .woocommerce-orders-table__cell a:hover,
#ctp-account-root .shop_table a:hover { text-decoration: underline !important; }

/* Order status badge */
#ctp-account-root .woocommerce-orders-table__cell mark,
#ctp-account-root mark.order-status {
    background:    transparent !important;
    color:         var(--acc-text) !important;
    font-weight:   500 !important;
    padding:       0.2rem 0.625rem !important;
    border-radius: var(--acc-r-full) !important;
    font-size:     0.8125rem !important;
    border:        1px solid var(--acc-border) !important;
}
#ctp-account-root mark.order-status.status-completed,
#ctp-account-root .wc-order-status-completed mark {
    background: var(--acc-accent-lt) !important;
    color:      var(--acc-accent-txt) !important;
    border-color: rgba(16,185,129,0.2) !important;
}
#ctp-account-root mark.order-status.status-processing {
    background: #EFF6FF !important;
    color:      #1D4ED8 !important;
    border-color: rgba(59,130,246,0.2) !important;
}
#ctp-account-root mark.order-status.status-cancelled,
#ctp-account-root mark.order-status.status-refunded {
    background: #FEF2F2 !important;
    color:      #B91C1C !important;
    border-color: rgba(239,68,68,0.2) !important;
}

/* Botón "Ver" en tabla de órdenes */
#ctp-account-root .woocommerce-orders-table__cell .button,
#ctp-account-root .woocommerce-orders-table__cell a.button {
    padding:       0.4rem 0.875rem !important;
    font-size:     0.8125rem !important;
    border-radius: var(--acc-r-full) !important;
    background:    var(--acc-zinc-900) !important;
    color:         #fff !important;
    border:        none !important;
    font-weight:   500 !important;
    text-decoration: none !important;
    display:       inline-flex !important;
    cursor:        pointer !important;
    transition:    background var(--acc-t) !important;
}
#ctp-account-root .woocommerce-orders-table__cell .button:hover { background: var(--acc-zinc-800) !important; }

/* Total en tfoot */
#ctp-account-root .shop_table tfoot .order-total th,
#ctp-account-root .shop_table tfoot .order-total td {
    font-weight: 700 !important;
    font-size:   1rem !important;
    border-top:  1px solid var(--acc-border) !important;
}

/* Subtotal / coupon rows */
#ctp-account-root .shop_table .cart-subtotal td,
#ctp-account-root .shop_table .cart-discount td {
    color: var(--acc-muted) !important;
}

/* ============================================================
   D) FORMULARIO EDICIÓN DE CUENTA (edit-account)
   ============================================================ */

#ctp-account-root .woocommerce-EditAccountForm,
#ctp-account-root .woocommerce-form-row,
#ctp-account-root .woocommerce-address-fields {
    margin: 0 !important;
}

/* WooCommerce usa .woocommerce-form-row para envolver cada campo */
#ctp-account-root .woocommerce-form-row {
    display:        flex !important;
    flex-direction: column !important;
    gap:            0.375rem !important;
    margin-bottom:  1rem !important;
}
#ctp-account-root .woocommerce-form-row label {
    font-size:   0.8125rem !important;
    font-weight: 500 !important;
    color:       var(--acc-text) !important;
    line-height: 1.4 !important;
}
#ctp-account-root .woocommerce-form-row label .required {
    color:      var(--acc-accent) !important;
    margin-left: 2px !important;
}

/* Sección contraseña */
#ctp-account-root .woocommerce-EditAccountForm fieldset {
    border:        1px solid var(--acc-border) !important;
    border-radius: var(--acc-r-lg) !important;
    padding:       1.5rem !important;
    margin:        1.5rem 0 1rem !important;
    background:    var(--acc-zinc-100) !important;
}
#ctp-account-root .woocommerce-EditAccountForm fieldset legend {
    font-size:   0.875rem !important;
    font-weight: 600 !important;
    color:       var(--acc-text) !important;
    padding:     0 0.5rem !important;
}

/* Fieldset row dentro del fieldset */
#ctp-account-root .woocommerce-EditAccountForm fieldset .form-row {
    margin-bottom: 1rem !important;
}

/* Password strength meter */
#ctp-account-root .woocommerce-password-strength {
    font-size:     0.8125rem !important;
    padding:       0.375rem 0.75rem !important;
    border-radius: var(--acc-r-sm) !important;
    margin-top:    0.25rem !important;
}

/* ============================================================
   E) FORMULARIO EDICIÓN DE DIRECCIÓN (edit-address)
   ============================================================ */

#ctp-account-root .woocommerce-address-fields__field-wrapper {
    display:        grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap:            0 1rem !important;
}
/* Campos full-width (country, address_1, city, etc.) */
#ctp-account-root .woocommerce-address-fields__field-wrapper .form-row-wide {
    grid-column: 1 / -1 !important;
}

/* Header del bloque de dirección — columna: título arriba, botón debajo */
#ctp-account-root .woocommerce-Address-title {
    display:        flex !important;
    flex-direction: column !important;
    align-items:    flex-start !important;
    gap:            0.625rem !important;
    margin-bottom:  1rem !important;
    padding-bottom: 0.5rem !important;
    border-bottom:  1px solid var(--acc-border) !important;
}

/* Heading de dirección billing/shipping */
#ctp-account-root .woocommerce-Address-title h2,
#ctp-account-root .woocommerce-Addresses .woocommerce-Address h3,
#ctp-account-root .woocommerce-Addresses .woocommerce-column__title {
    font-size:     1rem !important;
    font-weight:   600 !important;
    color:         var(--acc-text) !important;
    margin:        0 !important;
    padding:       0 !important;
    border:        none !important;
    line-height:   1.3 !important;
}

/* Link editar dirección */
#ctp-account-root .woocommerce-Address .edit {
    float:         none !important;
    flex-shrink:   0 !important;
    font-size:     0.8125rem !important;
    font-weight:   500 !important;
    color:         var(--acc-muted) !important;
    border:        1px solid var(--acc-border) !important;
    border-radius: var(--acc-r-full) !important;
    padding:       0.3rem 0.875rem !important;
    text-decoration: none !important;
    display:       inline-flex !important;
    transition:    color var(--acc-t), border-color var(--acc-t) !important;
}
#ctp-account-root .woocommerce-Address .edit:hover {
    color:        var(--acc-zinc-900) !important;
    border-color: var(--acc-zinc-900) !important;
}

/* Addresses layout — flexbox para evitar que clearfix pseudo-elementos rompan el grid */
#ctp-account-root .woocommerce-Addresses {
    display:   flex !important;
    flex-wrap: wrap !important;
    gap:       1.5rem !important;
}
/* Neutralizar pseudo-elementos clearfix de WooCommerce */
#ctp-account-root .woocommerce-Addresses::before,
#ctp-account-root .woocommerce-Addresses::after {
    display: none !important;
    content: none !important;
}
/* Cada columna crece igual; por debajo de 280px se apilan */
#ctp-account-root .woocommerce-Addresses .u-column1,
#ctp-account-root .woocommerce-Addresses .u-column2,
#ctp-account-root .woocommerce-Addresses .col-1,
#ctp-account-root .woocommerce-Addresses .col-2 {
    flex:    1 1 280px !important;
    float:   none !important;
    width:   auto !important;
    margin:  0 !important;
    display: block !important;
}
#ctp-account-root .woocommerce-Addresses .woocommerce-Address {
    background:    var(--acc-surface) !important;
    border:        1px solid var(--acc-border) !important;
    border-radius: var(--acc-r-lg) !important;
    padding:       1.5rem !important;
}
#ctp-account-root .woocommerce-Addresses address {
    font-size:   0.9375rem !important;
    color:       var(--acc-muted) !important;
    line-height: 1.7 !important;
    font-style:  normal !important;
}

/* Form row inline (half-width) */
#ctp-account-root .form-row-first,
#ctp-account-root .form-row-last {
    width: 100% !important;
}

/* Bloque de submit */
#ctp-account-root .woocommerce-address-fields p.form-row-wide:last-of-type,
#ctp-account-root .woocommerce-address-fields .woocommerce-address-fields__field-wrapper + p {
    grid-column: 1 / -1 !important;
    margin-top:  0.5rem !important;
}

/* ============================================================
   F) SECCIÓN DE DESCARGAS (downloads)
   ============================================================ */

#ctp-account-root .woocommerce-MyAccount-downloads-table {
    width:          100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background:     var(--acc-surface) !important;
    border:         1px solid var(--acc-border) !important;
    border-radius:  var(--acc-r-lg) !important;
    overflow:       hidden !important;
}
#ctp-account-root .woocommerce-MyAccount-downloads-table th {
    background:    var(--acc-zinc-100) !important;
    font-size:     0.75rem !important;
    font-weight:   600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding:       0.875rem 1.25rem !important;
    border-bottom: 1px solid var(--acc-border) !important;
    color:         var(--acc-text) !important;
}
#ctp-account-root .woocommerce-MyAccount-downloads-table td {
    padding:     0.875rem 1.25rem !important;
    color:       var(--acc-text) !important;
    font-size:   0.9375rem !important;
    border-bottom: 1px solid var(--acc-border) !important;
}
#ctp-account-root .woocommerce-MyAccount-downloads-table tr:last-child td {
    border-bottom: none !important;
}

/* ── Headings de sección de contenido ─────────────────────── */
#ctp-account-root .ctp-account-content h2,
#ctp-account-root .woocommerce-column__title {
    font-size:      1.25rem !important;
    font-weight:    700 !important;
    color:          var(--acc-text) !important;
    margin:         0 0 1.25rem !important;
    letter-spacing: -0.015em !important;
    line-height:    1.25 !important;
}

/* WooCommerce pagination */
#ctp-account-root .woocommerce-pagination {
    margin-top: 1.5rem !important;
}
#ctp-account-root .woocommerce-pagination ul {
    display:     flex !important;
    gap:         0.375rem !important;
    list-style:  none !important;
    margin:      0 !important;
    padding:     0 !important;
    flex-wrap:   wrap !important;
}
#ctp-account-root .woocommerce-pagination li a,
#ctp-account-root .woocommerce-pagination li span {
    display:         inline-flex !important;
    align-items:     center !important;
    justify-content: center !important;
    width:           36px !important;
    height:          36px !important;
    border:          1px solid var(--acc-border) !important;
    border-radius:   var(--acc-r) !important;
    font-size:       0.875rem !important;
    font-weight:     500 !important;
    color:           var(--acc-muted) !important;
    text-decoration: none !important;
    transition:      border-color var(--acc-t), color var(--acc-t), background var(--acc-t) !important;
}
#ctp-account-root .woocommerce-pagination li a:hover {
    border-color: var(--acc-zinc-900) !important;
    color:        var(--acc-zinc-900) !important;
}
#ctp-account-root .woocommerce-pagination li span.current {
    background:   var(--acc-zinc-900) !important;
    border-color: var(--acc-zinc-900) !important;
    color:        #fff !important;
}

/* ============================================================
   G) RESPONSIVE
   ============================================================ */

/* Tablet */
@media (max-width: 900px) {
    #ctp-account-root .ctp-account-layout {
        grid-template-columns: 1fr !important;
    }
    #ctp-account-root .ctp-account-nav {
        position: static !important;
    }
    #ctp-account-root .ctp-account-nav__user {
        flex-direction: row !important;
    }
    #ctp-account-root .ctp-account-nav__list {
        display:        flex !important;
        flex-wrap:      wrap !important;
        padding:        0.5rem !important;
        gap:            0.25rem !important;
    }
    #ctp-account-root .ctp-account-nav__link {
        padding:     0.5rem 0.875rem !important;
        border-left: none !important;
        border-radius: var(--acc-r-full) !important;
    }
    #ctp-account-root .ctp-account-nav__list li.woocommerce-MyAccount-navigation-link--active > .ctp-account-nav__link {
        border-left-color: transparent !important;
        border-radius:     var(--acc-r-full) !important;
    }

    /* Addresses: flex-wrap ya las apila en móvil automáticamente */
}

/* Mobile */
@media (max-width: 640px) {
    #ctp-account-root .ctp-account-login-grid {
        grid-template-columns: 1fr !important;
    }
    #ctp-account-root .ctp-account-card {
        padding: 1.5rem !important;
    }
    #ctp-account-root .ctp-account-page-header__title {
        font-size: 1.875rem !important;
    }

    /* Tabla de órdenes — scroll horizontal */
    #ctp-account-root .woocommerce-orders-table,
    #ctp-account-root .shop_table {
        display:   block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        white-space: nowrap !important;
    }

    /* Dirección form — 1 col */
    #ctp-account-root .woocommerce-address-fields__field-wrapper {
        grid-template-columns: 1fr !important;
    }

    /* Quick cards en col */
    #ctp-account-root .ctp-dashboard__card {
        padding: 1rem !important;
    }

    #ctp-account-root .ctp-account-layout {
        padding-top: 0 !important;
    }
    #ctp-account-root.ctp-account-root--dashboard .ctp-wrap {
        padding-top:    1.25rem !important;
        padding-bottom: 3rem !important;
    }
}
