/*
 Theme Name:   Storefront WD5 Child
 Template:     storefront
 Version:      2.0.0
 Description:  ABC Motos – Dark Metallic Child Theme
*/

/* =====================================================
   CSS CUSTOM PROPERTIES
===================================================== */
:root {
    --abc-bg:           #252525;
    --abc-surface:      #1e1e1e;
    --abc-surface-2:    #1a1a1a;
    --abc-surface-3:    #222222;
    --abc-surface-4:    #2a2a2a;
    --abc-border:       #2e2e2e;
    --abc-border-2:     #333;
    --abc-accent:       #cf2e2e;
    --abc-accent-dark:  #a82525;
    --abc-accent-glow:  rgba(207,46,46,0.25);
    --abc-text:         #e0e0e0;
    --abc-text-muted:   #7a7a7a;
    --abc-white:        #ffffff;
    --abc-font-body:    'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --abc-font-heading: 'Bebas Neue', 'Impact', 'Helvetica Neue', sans-serif;
    --abc-font-ui:      'Rajdhani', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --abc-ease:         0.3s ease;
    --abc-radius:       4px;
    --abc-radius-lg:    8px;
    --abc-metal:        linear-gradient(180deg, #2a2a2a 0%, #181818 60%, #222 100%);
}

/* =====================================================
   GLOBAL BASE
===================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    background-color: #252525 !important;
    background-image: url('/wp-content/uploads/2025/09/carbon-fibre-big.png') !important;
    background-attachment: fixed;
    color: var(--abc-text) !important;
    font-family: var(--abc-font-body) !important;
    font-size: 15px;
    line-height: 1.6;
    margin: 0 !important;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--abc-font-heading) !important;
    color: var(--abc-white) !important;
    letter-spacing: 0.04em;
    line-height: 1.15;
}

a { color: var(--abc-accent); text-decoration: none; transition: color var(--abc-ease); }
a:hover { color: #e04040; }
p { color: var(--abc-text); margin-bottom: 1rem; }
img { max-width: 100%; height: auto; }

/* =====================================================
   SITE LAYOUT
===================================================== */
.site-content, #content { background: transparent !important; }
.site-main { background: transparent !important; }
.col-full { max-width: 1400px !important; padding: 0 20px !important; }

/* =====================================================
   NAV MENU
===================================================== */
ul.primary-menu {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    padding: 0;
    margin: 0;
}
ul.primary-menu > li { position: relative; }
ul.primary-menu > li > a {
    display: block;
    color: var(--abc-text) !important;
    text-decoration: none !important;
    padding: 8px 14px;
    font-family: var(--abc-font-ui) !important;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: var(--abc-radius);
    transition: all var(--abc-ease);
    white-space: nowrap;
}
ul.primary-menu > li > a:hover,
ul.primary-menu > li.current-menu-item > a,
ul.primary-menu > li.current-menu-ancestor > a {
    color: var(--abc-white) !important;
    background: rgba(207,46,46,0.18);
}
ul.primary-menu .sub-menu {
    display: none;
    position: absolute;
    top: 100%; left: 0;
    background: var(--abc-surface-3);
    border: 1px solid var(--abc-border-2);
    border-top: 2px solid var(--abc-accent);
    min-width: 210px;
    padding: 8px 0;
    z-index: 9999;
    list-style: none;
    margin: 0;
    box-shadow: 0 12px 40px rgba(0,0,0,0.7);
}
ul.primary-menu li:hover > .sub-menu { display: block; }
ul.primary-menu .sub-menu li a {
    display: block;
    color: var(--abc-text) !important;
    padding: 9px 18px;
    font-size: 13px;
    font-family: var(--abc-font-body) !important;
    transition: all var(--abc-ease);
    border-bottom: 1px solid var(--abc-border);
}
ul.primary-menu .sub-menu li:last-child a { border-bottom: none; }
ul.primary-menu .sub-menu li a:hover {
    color: var(--abc-accent) !important;
    background: var(--abc-surface-4);
    padding-left: 26px;
}

/* Mobile hamburger */
.abc-nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    background: var(--abc-surface-3);
    border: 1px solid var(--abc-border-2);
    color: var(--abc-text);
    width: 40px;
    height: 40px;
    cursor: pointer;
    border-radius: var(--abc-radius);
    font-size: 20px;
    flex-shrink: 0;
    transition: background var(--abc-ease);
}
.abc-nav-toggle:hover { background: var(--abc-surface-4); }

@media (max-width: 900px) {
    .abc-nav-toggle { display: flex; }
    ul.primary-menu {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 100%; left: 0; right: 0;
        background: var(--abc-surface-2);
        border: 1px solid var(--abc-border-2);
        border-top: 2px solid var(--abc-accent);
        z-index: 9999;
        padding: 8px 0;
    }
    ul.primary-menu.is-open { display: flex; }
    ul.primary-menu > li > a { border-radius: 0; border-bottom: 1px solid var(--abc-border); }
    ul.primary-menu .sub-menu {
        position: static;
        border-left: 3px solid var(--abc-accent);
        border-top: none;
        box-shadow: none;
    }
}

/* =====================================================
   BREADCRUMBS
===================================================== */
.woocommerce-breadcrumb {
    background: var(--abc-surface) !important;
    color: var(--abc-text-muted) !important;
    padding: 10px 20px !important;
    font-size: 13px;
    border-bottom: 1px solid var(--abc-border);
    margin: 0 !important;
}
.woocommerce-breadcrumb a { color: var(--abc-text-muted) !important; }
.woocommerce-breadcrumb a:hover { color: var(--abc-accent) !important; }

/* =====================================================
   PRODUCT GRID – ARCHIVE (SHOP / CATEGORÍAS)
===================================================== */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 14px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 40px !important;
}

/* Elimina clearfix del tema padre que en CSS Grid
   genera un "slot vacío" al inicio del grid */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.abc-products-grid::before,
.abc-products-grid::after {
    content: none !important;
    display: none !important;
}

/* =====================================================
   PRODUCT CARD (shared: archive + shortcodes)
===================================================== */
.woocommerce ul.products li.product,
.abc-products-grid li.product {
    background: var(--abc-surface-2) !important;
    border: 1px solid var(--abc-border) !important;
    border-radius: var(--abc-radius-lg) !important;
    padding: 12px !important;
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative;
    overflow: hidden;
    transition: transform var(--abc-ease), box-shadow var(--abc-ease), border-color var(--abc-ease) !important;
}
/* Red top shimmer on hover */
.woocommerce ul.products li.product::after,
.abc-products-grid li.product::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--abc-accent) 50%, transparent 100%);
    opacity: 0;
    transition: opacity var(--abc-ease);
}
.woocommerce ul.products li.product:hover,
.abc-products-grid li.product:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 35px var(--abc-accent-glow), 0 4px 15px rgba(0,0,0,0.6) !important;
    border-color: rgba(207,46,46,0.35) !important;
}
.woocommerce ul.products li.product:hover::after,
.abc-products-grid li.product:hover::after { opacity: 1; }

/* Link interno – flex para igualar alturas entre cards de la misma fila */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.abc-products-grid li.product a.woocommerce-LoopProduct-link {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    text-decoration: none !important;
    color: inherit !important;
}

/* Product thumbnail */
.woocommerce ul.products li.product a img,
.abc-products-grid li.product a img {
    width: 100% !important;
    height: 160px !important;
    object-fit: contain !important;
    background: var(--abc-surface) !important;
    border: 1px solid var(--abc-border) !important;
    border-radius: calc(var(--abc-radius-lg) - 2px) !important;
    margin-bottom: 10px !important;
    flex-shrink: 0 !important;
    transition: opacity var(--abc-ease) !important;
}
.woocommerce ul.products li.product:hover a img,
.abc-products-grid li.product:hover a img { opacity: 0.9 !important; }

/* Product title – crece para empujar precio y botón hacia abajo */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.abc-products-grid li.product .woocommerce-loop-product__title {
    font-family: var(--abc-font-body) !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: var(--abc-text) !important;
    letter-spacing: 0 !important;
    margin: 0 0 8px !important;
    line-height: 1.45 !important;
    text-transform: none !important;
    flex: 1 !important;
}

/* Price */
.woocommerce ul.products li.product .price,
.abc-products-grid li.product .price {
    color: var(--abc-accent) !important;
    font-family: var(--abc-font-ui) !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    margin: 0 0 10px !important;
    display: block;
}
.woocommerce ul.products li.product .price del,
.abc-products-grid li.product .price del,
.woocommerce ul.products li.product .price del *,
.abc-products-grid li.product .price del * {
    color: var(--abc-text-muted) !important;
    font-size: 0.85rem !important;
    font-weight: 400 !important;
    opacity: 0.8 !important;
}
.woocommerce ul.products li.product .price ins,
.abc-products-grid li.product .price ins { text-decoration: none !important; }

/* Add to cart button */
.woocommerce ul.products li.product .button,
.abc-products-grid li.product .button {
    display: block !important;
    background: var(--abc-accent) !important;
    color: var(--abc-white) !important;
    border: none !important;
    padding: 9px 14px !important;
    font-family: var(--abc-font-ui) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    cursor: pointer !important;
    border-radius: var(--abc-radius) !important;
    transition: background var(--abc-ease), transform var(--abc-ease) !important;
    width: 100% !important;
    flex-shrink: 0;
}
.woocommerce ul.products li.product .button:hover,
.abc-products-grid li.product .button:hover {
    background: var(--abc-accent-dark) !important;
    color: var(--abc-white) !important;
    transform: translateY(-1px);
}

/* Sale badge */
.woocommerce ul.products li.product .onsale {
    background: var(--abc-accent) !important;
    color: var(--abc-white) !important;
    font-family: var(--abc-font-ui) !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    border-radius: var(--abc-radius) !important;
    padding: 3px 10px !important;
    font-size: 11px !important;
    top: 8px !important;
    left: 8px !important;
    border: none !important;
    min-height: auto !important;
    line-height: 1.6 !important;
}

/* Grid columns at breakpoints (archive) */
@media (max-width: 1300px) { .woocommerce ul.products { grid-template-columns: repeat(4, 1fr) !important; } }
@media (max-width: 960px)  { .woocommerce ul.products { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 640px)  { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; } }

/* =====================================================
   ABC PRODUCTS GRID (shortcodes home page)
===================================================== */
.abc-products-grid {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 14px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}
@media (max-width: 1300px) { .abc-products-grid { grid-template-columns: repeat(4, 1fr) !important; } }
@media (max-width: 960px)  { .abc-products-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 640px)  { .abc-products-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; } }

/* =====================================================
   PRODUCT ORDERING / FILTER BAR
===================================================== */
.woocommerce-ordering select,
.woocommerce .woocommerce-ordering select {
    background: var(--abc-surface-3) !important;
    color: var(--abc-text) !important;
    border: 1px solid var(--abc-border-2) !important;
    border-radius: var(--abc-radius) !important;
    padding: 8px 12px !important;
}
.woocommerce-result-count { color: var(--abc-text-muted) !important; }

/* =====================================================
   SINGLE PRODUCT PAGE
===================================================== */
.woocommerce div.product { background: transparent !important; }
.woocommerce div.product .product_title {
    color: var(--abc-white) !important;
    font-family: var(--abc-font-heading) !important;
    letter-spacing: 0.05em !important;
    font-size: 2.2rem !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--abc-accent) !important;
    font-family: var(--abc-font-ui) !important;
    font-size: 1.9rem !important;
    font-weight: 700 !important;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del { color: var(--abc-text-muted) !important; font-size: 1.2rem !important; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--abc-text) !important; }
.woocommerce div.product form.cart .qty {
    background: var(--abc-surface-3) !important;
    color: var(--abc-text) !important;
    border: 1px solid var(--abc-border-2) !important;
    border-radius: var(--abc-radius) !important;
    padding: 10px 14px !important;
    width: 70px;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
    background: var(--abc-accent) !important;
    color: var(--abc-white) !important;
    border: none !important;
    font-family: var(--abc-font-ui) !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    font-size: 15px !important;
    padding: 12px 30px !important;
    border-radius: var(--abc-radius) !important;
    transition: background var(--abc-ease), box-shadow var(--abc-ease) !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
    background: var(--abc-accent-dark) !important;
    box-shadow: 0 6px 20px var(--abc-accent-glow) !important;
}
/* Product meta */
.woocommerce div.product .product_meta { color: var(--abc-text-muted) !important; }
.woocommerce div.product .product_meta a { color: var(--abc-text-muted) !important; }
.woocommerce div.product .product_meta a:hover { color: var(--abc-accent) !important; }

/* Product images */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper img {
    border: 1px solid var(--abc-border-2) !important;
    border-radius: var(--abc-radius-lg) !important;
    background: var(--abc-surface-2) !important;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    background: var(--abc-surface-3) !important;
    border-bottom: 2px solid var(--abc-border-2) !important;
    margin: 0 !important;
    padding: 0 20px !important;
    list-style: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; box-shadow: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--abc-text-muted) !important;
    font-family: var(--abc-font-ui) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-size: 13px !important;
    padding: 12px 18px !important;
    transition: color var(--abc-ease) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--abc-accent) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--abc-white) !important; }
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
    background: var(--abc-surface-2) !important;
    border: 1px solid var(--abc-border-2) !important;
    color: var(--abc-text) !important;
    padding: 24px !important;
    border-radius: 0 0 var(--abc-radius-lg) var(--abc-radius-lg) !important;
    border-top: none !important;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2 { font-size: 1.4rem !important; }

/* Related products */
.related.products > h2,
.upsells.products > h2 {
    color: var(--abc-white) !important;
    font-family: var(--abc-font-heading) !important;
    letter-spacing: 0.06em !important;
    font-size: 1.8rem !important;
    border-bottom: 2px solid var(--abc-accent);
    padding-bottom: 10px;
    margin-bottom: 24px !important;
}

/* =====================================================
   CART & CHECKOUT – TABLAS (base)
===================================================== */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
    background: var(--abc-surface-2) !important;
    border: 1px solid var(--abc-border-2) !important;
    border-radius: var(--abc-radius-lg) !important;
    color: var(--abc-text) !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
}
.woocommerce table.shop_table th,
.woocommerce-page table.shop_table th {
    color: var(--abc-white) !important;
    background: var(--abc-surface-3) !important;
    border-bottom: 2px solid var(--abc-accent) !important;
    font-family: var(--abc-font-ui) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-size: 12px !important;
    padding: 12px 16px !important;
}
.woocommerce table.shop_table td,
.woocommerce-page table.shop_table td {
    background: var(--abc-surface-2) !important;
    border-top: 1px solid var(--abc-border) !important;
    color: var(--abc-text) !important;
    padding: 12px 16px !important;
}
.woocommerce table.shop_table tr:first-child td,
.woocommerce-page table.shop_table tr:first-child td { border-top: none !important; }
/* Fila alternada sutil */
.woocommerce table.shop_table tbody tr:nth-child(even) td,
.woocommerce-page table.shop_table tbody tr:nth-child(even) td {
    background: var(--abc-surface-3) !important;
}
/* Totals / tfoot */
.woocommerce table.shop_table tfoot tr th,
.woocommerce table.shop_table tfoot tr td,
.woocommerce-page table.shop_table tfoot tr th,
.woocommerce-page table.shop_table tfoot tr td {
    background: var(--abc-surface-3) !important;
    color: var(--abc-text) !important;
    border-top: 1px solid var(--abc-border-2) !important;
}
/* Total final */
.woocommerce table.shop_table tfoot tr.order-total th,
.woocommerce table.shop_table tfoot tr.order-total td,
.woocommerce-page table.shop_table tfoot tr.order-total th,
.woocommerce-page table.shop_table tfoot tr.order-total td {
    color: var(--abc-accent) !important;
    font-size: 1.1rem !important;
}

/* =====================================================
   CART PAGE
===================================================== */
/* Totales del carrito */
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
    background: var(--abc-surface-2) !important;
    border: 1px solid var(--abc-border-2) !important;
    border-radius: var(--abc-radius-lg) !important;
    padding: 24px !important;
}
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-cart .cart-collaterals .cart_totals h2 {
    font-family: var(--abc-font-heading) !important;
    font-size: 1.5rem !important;
    border-bottom: 2px solid var(--abc-accent) !important;
    padding-bottom: 10px !important;
    margin-bottom: 16px !important;
}
/* Cupón */
.woocommerce table.cart td.actions,
.woocommerce-cart table.cart td.actions {
    background: var(--abc-surface-3) !important;
}
.woocommerce table.cart td.actions .coupon input[type="text"],
.woocommerce-cart table.cart td.actions .coupon input[type="text"] {
    background: var(--abc-surface-2) !important;
    color: var(--abc-text) !important;
    border: 1px solid var(--abc-border-2) !important;
}
/* Imagen del producto en carrito */
.woocommerce table.cart td.product-thumbnail img {
    border: 1px solid var(--abc-border) !important;
    border-radius: var(--abc-radius) !important;
    background: var(--abc-surface) !important;
}

/* =====================================================
   CHECKOUT PAGE
===================================================== */
/* Headings */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
    color: var(--abc-white) !important;
    font-family: var(--abc-font-heading) !important;
    font-size: 1.5rem !important;
    border-bottom: 2px solid var(--abc-accent) !important;
    padding-bottom: 10px !important;
    margin-bottom: 16px !important;
    letter-spacing: 0.05em !important;
}
/* Panel "Tu Pedido" */
.woocommerce-checkout #order_review,
.woocommerce-checkout-review-order {
    background: var(--abc-surface-2) !important;
    border: 1px solid var(--abc-border-2) !important;
    border-radius: var(--abc-radius-lg) !important;
    padding: 24px !important;
    color: var(--abc-text) !important;
}
/* Tabla de revisión de pedido */
.woocommerce-checkout-review-order-table,
.woocommerce-checkout #order_review table {
    background: transparent !important;
}
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout #order_review table td,
.woocommerce-checkout #order_review table th {
    background: transparent !important;
    color: var(--abc-text) !important;
    border-top: 1px solid var(--abc-border) !important;
}
/* Sección de pago */
#payment,
.woocommerce #payment,
.woocommerce-checkout #payment {
    background: var(--abc-surface-2) !important;
    border-radius: var(--abc-radius-lg) !important;
    border: 1px solid var(--abc-border-2) !important;
    color: var(--abc-text) !important;
}
#payment ul.payment_methods,
.woocommerce #payment ul.payment_methods {
    background: transparent !important;
    border-bottom: 1px solid var(--abc-border-2) !important;
    padding: 16px !important;
}
#payment ul.payment_methods li,
.woocommerce #payment ul.payment_methods li {
    background: transparent !important;
    color: var(--abc-text) !important;
}
#payment ul.payment_methods li label,
.woocommerce #payment ul.payment_methods li label {
    color: var(--abc-text) !important;
}
#payment ul.payment_methods li img {
    vertical-align: middle;
    filter: brightness(0.8);
}
.payment_box,
#payment .payment_box,
.woocommerce #payment .payment_box {
    background: var(--abc-surface-3) !important;
    color: var(--abc-text-muted) !important;
    border-radius: var(--abc-radius) !important;
    margin-top: 8px !important;
    padding: 12px !important;
}
.payment_box::before,
#payment .payment_box::before {
    border-bottom-color: var(--abc-surface-3) !important;
}
#payment .place-order,
.woocommerce #payment .place-order {
    background: transparent !important;
    padding: 16px !important;
}

/* =====================================================
   MY ACCOUNT
===================================================== */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background: var(--abc-surface-2) !important;
    border: 1px solid var(--abc-border-2) !important;
    border-radius: var(--abc-radius-lg) !important;
    overflow: hidden !important;
    padding: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 12px 18px !important;
    color: var(--abc-text) !important;
    border-bottom: 1px solid var(--abc-border) !important;
    font-family: var(--abc-font-ui) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    font-size: 13px !important;
    transition: all var(--abc-ease) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--abc-accent) !important;
    background: var(--abc-surface-3) !important;
    padding-left: 26px !important;
}
.woocommerce-account .woocommerce-MyAccount-content { color: var(--abc-text) !important; }

/* =====================================================
   FORMS (GLOBAL)
===================================================== */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
select,
.input-text {
    background-color: var(--abc-surface-3) !important;
    color: var(--abc-text) !important;
    border: 1px solid var(--abc-border-2) !important;
    border-radius: var(--abc-radius) !important;
    padding: 10px 14px !important;
    font-family: var(--abc-font-body) !important;
    font-size: 14px !important;
    transition: border-color var(--abc-ease), box-shadow var(--abc-ease) !important;
    width: 100%;
}
input:focus, textarea:focus, select:focus, .input-text:focus {
    border-color: var(--abc-accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(207,46,46,0.12) !important;
}
label { color: var(--abc-text) !important; font-size: 14px !important; }
::placeholder { color: var(--abc-text-muted) !important; opacity: 1; }

/* =====================================================
   WOOCOMMERCE BUTTONS (GLOBAL)
===================================================== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background: var(--abc-accent) !important;
    color: var(--abc-white) !important;
    border: none !important;
    border-radius: var(--abc-radius) !important;
    font-family: var(--abc-font-ui) !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    transition: background var(--abc-ease), box-shadow var(--abc-ease) !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background: var(--abc-accent-dark) !important;
    color: var(--abc-white) !important;
}

/* =====================================================
   WOOCOMMERCE NOTICES
===================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background: var(--abc-surface-2) !important;
    color: var(--abc-text) !important;
    border-top: 3px solid var(--abc-accent) !important;
    border-radius: 0 0 var(--abc-radius) var(--abc-radius) !important;
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--abc-accent) !important; }

/* =====================================================
   PAGINATION
===================================================== */
.woocommerce nav.woocommerce-pagination ul {
    display: flex !important;
    gap: 8px !important;
    list-style: none !important;
    padding: 0 !important;
    justify-content: center !important;
    margin: 30px 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a {
    background: var(--abc-surface-3) !important;
    color: var(--abc-text) !important;
    border: 1px solid var(--abc-border-2) !important;
    border-radius: var(--abc-radius) !important;
    padding: 8px 14px !important;
    display: block !important;
    font-family: var(--abc-font-ui) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    transition: all var(--abc-ease) !important;
    text-decoration: none !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--abc-accent) !important;
    color: var(--abc-white) !important;
    border-color: var(--abc-accent) !important;
}

/* =====================================================
   WIDGET SIDEBAR
===================================================== */
.widget-area .widget,
aside .widget {
    background: var(--abc-surface-2) !important;
    border: 1px solid var(--abc-border-2) !important;
    border-radius: var(--abc-radius-lg) !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
}
.widget-title, .widgettitle {
    color: var(--abc-white) !important;
    font-family: var(--abc-font-ui) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-bottom: 2px solid var(--abc-accent) !important;
    padding-bottom: 10px !important;
    margin-bottom: 14px !important;
}
.widget a { color: var(--abc-text-muted) !important; }
.widget a:hover { color: var(--abc-accent) !important; }
.widget ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.widget ul li { border-bottom: 1px solid var(--abc-border) !important; padding: 7px 0 !important; }
.widget ul li:last-child { border-bottom: none !important; }

/* Price filter slider */
.widget_price_filter .price_slider_wrapper .ui-widget-content { background: var(--abc-border-2) !important; }
.widget_price_filter .ui-slider-range { background: var(--abc-accent) !important; }
.widget_price_filter .ui-slider-handle {
    background: var(--abc-accent) !important;
    border: 2px solid var(--abc-white) !important;
    border-radius: 50% !important;
}

/* =====================================================
   CONTENIDO GENERAL DE PÁGINAS (contacto, etc.)
   Storefront por defecto aplica colores oscuros al texto
   que no heredan nuestro color claro del body.
===================================================== */
.site-main p,
.site-main li,
.site-main address,
.site-main blockquote,
.site-main dl dt,
.site-main dl dd,
.entry-content p,
.entry-content li,
.entry-content address,
.entry-content blockquote,
.entry-content table td,
.entry-content table th,
.page-content p,
.page-content li {
    color: var(--abc-text) !important;
}

/* Títulos dentro del contenido */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    color: var(--abc-white) !important;
}

/* Links dentro del contenido */
.entry-content a:not(.button):not(.wp-block-button__link) {
    color: var(--abc-accent) !important;
}
.entry-content a:not(.button):not(.wp-block-button__link):hover {
    color: #e04040 !important;
}

/* Contact Form 7 */
.wpcf7 p,
.wpcf7 label,
.wpcf7 .wpcf7-validation-errors,
.wpcf7 .wpcf7-not-valid-tip {
    color: var(--abc-text) !important;
}
.wpcf7 .wpcf7-not-valid-tip { color: #ff6b6b !important; }
.wpcf7 .wpcf7-mail-sent-ok { color: #6bff8e !important; }

/* WPForms */
.wpforms-field-label,
.wpforms-field-sublabel,
.wpforms-field-description {
    color: var(--abc-text) !important;
}

/* Elementor texto en páginas */
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-text-editor p,
.elementor-text-editor li,
.elementor-widget-icon-list .elementor-icon-list-text {
    color: var(--abc-text) !important;
}

/* Storefront page wrapper */
.storefront-full-width-content .entry-content,
.hentry .entry-content,
.hentry .entry-summary {
    color: var(--abc-text) !important;
}

/* Texto general en cualquier post/page */
article.hentry p,
article.hentry li,
article.hentry address,
article.page p,
article.page li {
    color: var(--abc-text) !important;
}

/* =====================================================
   OCULTAR PAGINACIÓN DE PRODUCTO (storefront)
===================================================== */
.storefront-product-pagination {
    display: none !important;
}

/* =====================================================
   FONT AWESOME – fallback si el font no carga
===================================================== */
.fa, .fas, .far, .fab,
.fa-solid, .fa-regular, .fa-brands {
    display: inline-block;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* =====================================================
   CUOTAS – igual en home, tienda y categorías
===================================================== */
.cuotas-info {
    display: block;
    font-size: 12px !important;
    color: var(--abc-text-muted);
    margin: 4px 0 8px;
    line-height: 1.4;
}
.cuotas-info > span {
    font-size: 12px !important;
}
.cuotas-info .woocommerce-Price-amount,
.cuotas-info .woocommerce-Price-amount bdi {
    color: var(--abc-accent) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}
.cuotas-info .woocommerce-Price-currencySymbol {
    font-size: 11px !important;
}

/* Cuotas en carrito / checkout */
tr.cart-installments th,
tr.cart-installments td {
    color: var(--abc-text) !important;
    background: transparent !important;
    border-top: 1px dashed var(--abc-border-2) !important;
    font-size: 14px !important;
}
tr.cart-installments td strong {
    color: var(--abc-accent) !important;
}

/* Cuotas en JS homepage (installments-info-homepage) */
.installments-info-homepage {
    font-size: 12px;
    color: var(--abc-text-muted);
    margin-top: 2px;
}

/* Aviso producto discontinuo */
.discontinued-notice {
    margin: 15px 0 !important;
}
.discontinued-product {
    display: inline-block;
    margin-top: 8px;
}
