/**
 * Estilos personalizados — Enerepuestos
 * Tienda de repuestos automotrices para Chile
 * Versión 4.0 — Modo claro
 * Estética: fondo blanco, texto negro y rojo de marca para las acciones.
 * Pensado para lectura cómoda de un público poco habituado a la tecnología.
 */

/* =========================================================================
   0. GOOGLE FONTS — cargadas vía wp_enqueue_style en functions.php
   ========================================================================= */

/* =========================================================================
   1. SISTEMA DE DISEÑO — VARIABLES
   ========================================================================= */

:root {
    /* ── Fondos claros ── */
    --ene-bg:              #FFFFFF;
    --ene-bg-alt:          #F5F5F5;
    --ene-surface:         #FFFFFF;
    --ene-surface-2:       #F5F5F5;
    --ene-surface-3:       #EBEBEB;

    /* ── Negro de marca (texto y detalles) ── */
    --ene-ink:             #111111;

    /* ── Rojo Precisión ── */
    --ene-primary:         #DC2626;
    --ene-primary-dark:    #991B1B;
    --ene-primary-light:   rgba(220, 38, 38, 0.08);
    --ene-primary-glow:    rgba(220, 38, 38, 0.18);

    /* ── Legado (compatibilidad PHP) ── */
    --ene-secondary:       #111111;
    --ene-secondary-mid:   #333333;
    --ene-accent:          #DC2626;
    --ene-accent-dark:     #991B1B;

    /* ── Grafito (antes cromo; ahora tonos oscuros sobre blanco) ── */
    --ene-chrome:          #333333;
    --ene-chrome-dim:      #555555;
    --ene-chrome-bright:   #111111;

    /* ── Texto ── */
    --ene-white:           #FFFFFF;
    --ene-text:            #111111;
    --ene-text-secondary:  #3A3A3A;
    --ene-text-muted:      #5C5C5C;
    --ene-text-disabled:   #767676;

    /* ── Bordes ── */
    --ene-border:          #E2E2E2;
    --ene-border-dark:     #C9C9C9;

    /* ── Estados ── */
    --ene-success:         #15803D;
    --ene-success-light:   rgba(22, 163, 74, 0.10);
    --ene-error:           #DC2626;
    --ene-error-light:     rgba(220, 38, 38, 0.08);
    --ene-info:            #0369A1;
    --ene-info-light:      rgba(2, 132, 199, 0.08);

    /* ── Tipografía ── */
    --font-display: 'Bebas Neue', 'Arial Narrow', sans-serif;
    --font-body:    'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-mono:    'JetBrains Mono', 'Courier New', monospace;

    /* ── Espaciado fluido ── */
    --sp-1:  clamp(4px,  0.5vw,  6px);
    --sp-2:  clamp(8px,  1vw,   10px);
    --sp-3:  clamp(10px, 1.2vw, 14px);
    --sp-4:  clamp(14px, 1.5vw, 18px);
    --sp-5:  clamp(18px, 2vw,   24px);
    --sp-6:  clamp(24px, 2.5vw, 32px);
    --sp-7:  clamp(32px, 3.5vw, 48px);
    --sp-8:  clamp(48px, 5vw,   72px);

    /* ── Tipografía fluida ── */
    --text-xs:   clamp(0.7rem,  1.2vw, 0.75rem);
    --text-sm:   clamp(0.8rem,  1.4vw, 0.875rem);
    --text-base: clamp(0.9rem,  1.6vw, 1rem);
    --text-md:   clamp(1rem,    1.8vw, 1.125rem);
    --text-lg:   clamp(1.1rem,  2vw,   1.25rem);
    --text-xl:   clamp(1.2rem,  2.5vw, 1.5rem);
    --text-2xl:  clamp(1.4rem,  3vw,   1.875rem);
    --text-3xl:  clamp(1.7rem,  4vw,   2.25rem);

    /* ── Radios ── */
    --radius-sm:   3px;
    --radius-md:   6px;
    --radius-lg:   10px;
    --radius-xl:   18px;
    --radius-full: 9999px;

    /* ── Sombras (sistema claro: suaves, solo para dar relieve) ── */
    --shadow-xs:  0 1px 2px rgba(17,17,17,.06);
    --shadow-sm:  0 1px 3px rgba(17,17,17,.06), 0 2px 8px rgba(17,17,17,.05);
    --shadow-md:  0 4px 16px rgba(17,17,17,.08);
    --shadow-lg:  0 8px 28px rgba(17,17,17,.10);
    --shadow-xl:  0 16px 48px rgba(17,17,17,.12);
    --shadow-red:    0 4px 14px rgba(220,38,38,.22);
    --shadow-red-lg: 0 8px 24px rgba(220,38,38,.30);

    /* ── Transiciones ── */
    --ease-out:  cubic-bezier(0.0, 0.0, 0.2, 1);
    --ease-in:   cubic-bezier(0.4, 0.0, 1, 1);
    --ease-both: cubic-bezier(0.4, 0.0, 0.2, 1);
    --duration-fast:   150ms;
    --duration-base:   250ms;
    --duration-slow:   400ms;

    /* ── Glassmorphism ── */
    --glass-bg:        #F7F7F7;
    --glass-bg-light:  #F7F7F7;
    --glass-border:    rgba(0, 0, 0, 0.08);
    --glass-blur:      blur(12px);

    /* ── Layout ── */
    --max-width: 1320px;
    --sidebar-w: 280px;
}

/* =========================================================================
   2. BASE GLOBAL — Modo claro
   ========================================================================= */

html,
body {
    background-color: var(--ene-bg) !important;
    color: var(--ene-text) !important;
    color-scheme: light;
}

body {
    background-image: none !important;
    font-family: var(--font-body);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Foco accesible */
:focus-visible {
    outline: 2px solid var(--ene-primary);
    outline-offset: 3px;
    border-radius: var(--radius-sm);
}

:focus:not(:focus-visible) {
    outline: none;
}

img {
    max-width: 100%;
    height: auto;
}

/* Override exhaustivo de fondos blancos de Astra y Woo */
.site,
.ast-container,
.site-content,
.content-area,
#primary,
.site-main,
.ast-separate-container .ast-article-post, 
.ast-separate-container .ast-article-single,
.ast-page-builder-template .site-content,
.ast-plain-container .site-content,
.ast-woocommerce-container,
.woocommerce div.product,
.woocommerce-cart .cart-collaterals,
.woocommerce-checkout,
.woocommerce-checkout #payment,
.woocommerce-checkout #payment div.payment_box,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.widget,
#secondary {
    background-color: transparent !important;
    background: transparent !important;
}

/* Elementos que requieren la superficie oscura tipo tarjeta (no transparentes completamente) */
.ast-separate-container .ast-article-post, 
.ast-separate-container .ast-article-single,
.woocommerce-cart .cart-collaterals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment {
    background-color: var(--ene-surface) !important;
    border: 1px solid var(--ene-border);
    border-radius: var(--radius-md);
}

/* Texto global en modo oscuro */
body, p, li, td, th, label {
    color: var(--ene-text);
}

a {
    color: var(--ene-chrome-dim);
    transition: color var(--duration-fast) var(--ease-both);
}

a:hover {
    color: var(--ene-primary);
}

/* =========================================================================
   3. TIPOGRAFÍA
   ========================================================================= */

.woocommerce,
.woocommerce-page {
    font-family: var(--font-body);
    font-size: var(--text-base);
    color: var(--ene-text);
    line-height: 1.65;
}

/* Headings — Bebas Neue Industrial */
.woocommerce h1, .woocommerce-page h1,
.woocommerce h2, .woocommerce-page h2,
.woocommerce h3, .woocommerce-page h3,
.woocommerce h4, .woocommerce-page h4 {
    font-family: var(--font-display);
    letter-spacing: 2px;
    color: var(--ene-text);
    font-weight: 400;
}

.woocommerce h1, .woocommerce-page h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
.woocommerce h2, .woocommerce-page h2 { font-size: clamp(1.6rem, 4vw, 2.8rem); }
.woocommerce h3, .woocommerce-page h3 { font-size: clamp(1.3rem, 3vw, 2.2rem); }
.woocommerce h4, .woocommerce-page h4 { font-size: clamp(1.1rem, 2.5vw, 1.7rem); }

/* Headings en contenido general */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.page-content h1,
.page-content h2,
.page-content h3 {
    font-family: var(--font-display);
    letter-spacing: 2px;
    color: var(--ene-text);
    font-weight: 400;
}

.entry-content, .page-content, .post-content {
    color: var(--ene-text);
}

.entry-content a, .page-content a {
    color: var(--ene-primary);
}

/* =========================================================================
   4. BOTONES
   ========================================================================= */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--sp-2);
    padding: var(--sp-3) var(--sp-5);
    background-color: var(--ene-primary);
    color: var(--ene-white);
    border: 2px solid var(--ene-primary);
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    box-shadow: var(--shadow-sm);
    transition:
        background-color var(--duration-fast) var(--ease-both),
        border-color     var(--duration-fast) var(--ease-both),
        color            var(--duration-fast) var(--ease-both),
        transform        var(--duration-fast) var(--ease-both),
        box-shadow       var(--duration-fast) var(--ease-both);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background-color: transparent;
    color: var(--ene-primary);
    border-color: var(--ene-primary);
    transform: translateY(-2px);
    box-shadow: var(--shadow-red);
}

.woocommerce a.button:active,
.woocommerce button.button:active {
    transform: translateY(0);
    box-shadow: var(--shadow-sm);
}

/* Botón secundario (alt) */
.woocommerce a.button.alt,
.woocommerce button.button.alt {
    background-color: var(--ene-surface-3);
    border-color: var(--ene-border-dark);
    color: var(--ene-text);
    box-shadow: var(--shadow-xs);
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
    background-color: transparent;
    border-color: var(--ene-ink);
    color: var(--ene-ink);
    box-shadow: var(--shadow-md);
}

/* Botón outline */
.woocommerce a.button.button-outline {
    background-color: transparent;
    color: var(--ene-primary);
    border-color: var(--ene-primary);
    box-shadow: none;
}

.woocommerce a.button.button-outline:hover {
    background-color: var(--ene-primary);
    color: var(--ene-white);
    box-shadow: var(--shadow-red);
}

/* Ocultar botón "Agregar al carrito" en tarjetas del listado */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product a.button {
    display: none !important;
}

/* =========================================================================
   5. TARJETAS DE PRODUCTO (LISTADO / ARCHIVO)
   ========================================================================= */

/* Grid responsive: 2 → 3 → 4 columnas */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sp-4) !important;
    float: none !important;
    width: 100% !important;
}

@media (min-width: 768px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1100px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Reset Astra float widths */
.woocommerce ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

.woocommerce ul.products li.product {
    border: 1px solid var(--ene-border);
    border-radius: var(--radius-md);
    padding: 0 !important;
    background: var(--ene-surface);
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    box-shadow: var(--shadow-sm);
    transition:
        box-shadow      var(--duration-base) var(--ease-both),
        transform       var(--duration-base) var(--ease-both),
        border-color    var(--duration-base) var(--ease-both);
}

/* Hover — efecto red glow */
.woocommerce ul.products li.product:hover {
    border-color: rgba(220, 38, 38, 0.5);
    transform: translateY(-4px);
    box-shadow: 0 0 0 1px rgba(220,38,38,.2), var(--shadow-red);
}

/* Línea de acento superior — aparece en hover */
.woocommerce ul.products li.product::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--ene-primary) 40%, var(--ene-primary) 60%, transparent);
    opacity: 0;
    transition: opacity var(--duration-base) var(--ease-both);
    z-index: 3;
}

.woocommerce ul.products li.product:hover::before {
    opacity: 1;
}

/* Imagen del producto */
.woocommerce ul.products li.product a img {
    aspect-ratio: 4 / 3;
    width: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    margin-bottom: 0;
    display: block;
    filter: none;
    transition:
        transform var(--duration-slow) var(--ease-both),
        filter    var(--duration-slow) var(--ease-both);
}

.woocommerce ul.products li.product:hover a img {
    transform: scale(1.05);
    filter: none;
}

/* Contenido textual */
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce ul.products li.product > .ast-woo-product-category,
.woocommerce ul.products li.product > p,
.woocommerce ul.products li.product > a.button {
    padding-left: var(--sp-4);
    padding-right: var(--sp-4);
}

/* Título del producto */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-body) !important;
    font-size: var(--text-sm) !important;
    font-weight: 600;
    color: var(--ene-text) !important;
    line-height: 1.4;
    min-height: 2.8em;
    padding: var(--sp-4) var(--sp-4) var(--sp-2) !important;
    margin-top: 0 !important;
    letter-spacing: 0.2px;
}

/* Precio — Bebas Neue metallic */
.woocommerce ul.products li.product .price {
    color: var(--ene-chrome-bright) !important;
    font-family: var(--font-display) !important;
    font-size: clamp(1.15rem, 2.5vw, 1.45rem) !important;
    font-weight: 400 !important;
    letter-spacing: 1.5px;
    padding: 0 var(--sp-4) var(--sp-3);
    display: block;
}

.woocommerce ul.products li.product .price del {
    color: var(--ene-text-muted) !important;
    font-size: var(--text-sm) !important;
    font-weight: 400;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none;
    color: var(--ene-primary) !important;
}

.woocommerce ul.products li.product .button {
    margin: auto var(--sp-4) var(--sp-4);
}

/* =========================================================================
   6. PÁGINA DE PRODUCTO INDIVIDUAL
   ========================================================================= */

.woocommerce div.product {
    gap: var(--sp-7);
}

/* Imagen principal */
.woocommerce div.product div.images img {
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
    filter: none;
}

/* Galería de miniaturas */
.woocommerce div.product div.images .flex-control-thumbs li img {
    border-radius: var(--radius-sm);
    border: 2px solid var(--ene-border);
    transition:
        border-color var(--duration-fast) var(--ease-both),
        box-shadow   var(--duration-fast) var(--ease-both),
        filter       var(--duration-fast) var(--ease-both);
    aspect-ratio: 1 / 1;
    object-fit: cover;
    opacity: 0.75;
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
    border-color: var(--ene-primary);
    box-shadow: 0 0 0 1px var(--ene-primary);
    opacity: 1;
}

/* Título del producto — Bebas Neue bold */
.woocommerce div.product .product_title {
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 4.5vw, 3rem);
    color: var(--ene-text);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 2.5px;
    margin-bottom: var(--sp-3);
}

/* Precio del producto */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--ene-chrome-bright) !important;
    font-family: var(--font-display) !important;
    font-size: clamp(1.9rem, 4.5vw, 2.8rem) !important;
    font-weight: 400 !important;
    letter-spacing: 2px;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    color: var(--ene-text-muted) !important;
    font-size: var(--text-lg) !important;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
    color: var(--ene-primary) !important;
    text-decoration: none !important;
}

/* Descripción corta */
.woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--ene-text-secondary);
    font-size: var(--text-base);
    line-height: 1.8;
    margin-bottom: var(--sp-5);
    padding-bottom: var(--sp-5);
    border-bottom: 1px solid var(--ene-border);
}

/* Metainfo — SKU, categorías, tags */
.woocommerce div.product .product_meta {
    background: var(--glass-bg);
    border-radius: var(--radius-md);
    padding: var(--sp-4);
    margin-top: var(--sp-4);
    font-size: var(--text-sm);
    color: var(--ene-text-muted);
    border: 1px solid var(--glass-border);
    border-left: 3px solid var(--ene-border-dark);
}

.woocommerce div.product .product_meta span {
    display: block;
    margin-bottom: var(--sp-1);
}

.woocommerce div.product .product_meta a {
    color: var(--ene-primary);
    text-decoration: none;
    font-weight: 600;
}

.woocommerce div.product .product_meta a:hover {
    color: var(--ene-primary-dark);
}

/* Formulario — cantidad + botones */
.woocommerce div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-3);
    align-items: center;
    margin: var(--sp-5) 0;
}

.woocommerce div.product form.cart .quantity input.qty {
    background: var(--ene-surface-2);
    color: var(--ene-text);
    border: 2px solid var(--ene-border);
    border-radius: var(--radius-md);
    padding: var(--sp-3) var(--sp-4);
    font-family: var(--font-display);
    font-size: var(--text-base);
    font-weight: 400;
    letter-spacing: 1.5px;
    width: 80px;
    text-align: center;
    transition: border-color var(--duration-fast) var(--ease-both), box-shadow var(--duration-fast) var(--ease-both);
}

.woocommerce div.product form.cart .quantity input.qty:focus-visible {
    border-color: var(--ene-primary);
    box-shadow: 0 0 0 3px var(--ene-primary-light);
    outline: none;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
    flex: 1;
    min-width: 200px;
    padding: var(--sp-4) var(--sp-6);
    font-size: var(--text-md) !important;
    border-radius: var(--radius-sm);
}

/* =========================================================================
   7. BOTÓN "COMPRAR AHORA"
   ========================================================================= */

.ene-buy-now {
    background: var(--ene-white) !important;
    color: var(--ene-ink) !important;
    border: 2px solid var(--ene-ink) !important;
    flex: 1;
    min-width: 200px;
    text-align: center;
    font-family: var(--font-body) !important;
    font-weight: 700 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    font-size: var(--text-sm) !important;
}

.ene-buy-now:hover {
    background: var(--ene-primary) !important;
    color: var(--ene-white) !important;
    border-color: var(--ene-primary) !important;
    box-shadow: var(--shadow-red) !important;
    transform: translateY(-2px);
}

/* =========================================================================
   8. RATINGS / ESTRELLAS
   ========================================================================= */

.woocommerce .star-rating {
    color: var(--ene-primary);
}

.woocommerce .star-rating span::before {
    color: var(--ene-primary);
}

.woocommerce ul.products li.product .star-rating {
    font-size: var(--text-sm);
    padding: 0 var(--sp-4) var(--sp-2);
}

.woocommerce div.product .woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    margin-bottom: var(--sp-4);
    font-size: var(--text-sm);
}

.woocommerce div.product .woocommerce-review-link {
    color: var(--ene-text-muted);
    text-decoration: none;
    font-size: var(--text-sm);
}

.woocommerce div.product .woocommerce-review-link:hover {
    color: var(--ene-primary);
}

/* =========================================================================
   9. TABS DE PRODUCTO
   ========================================================================= */

.woocommerce div.product .woocommerce-tabs {
    margin-top: var(--sp-7);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--ene-border);
    padding: 0;
    margin-bottom: 0;
    list-style: none;
    flex-wrap: wrap;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0;
    border: none;
    background: none;
    border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: var(--sp-4) var(--sp-5);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--ene-text-muted);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition:
        color            var(--duration-fast) var(--ease-both),
        border-color     var(--duration-fast) var(--ease-both),
        background-color var(--duration-fast) var(--ease-both);
    background: transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--ene-text);
    background: rgba(0,0,0,.03);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--ene-primary);
    border-bottom-color: var(--ene-primary);
    background: rgba(220,38,38,.04);
}

.woocommerce div.product .woocommerce-tabs .panel {
    background: var(--ene-surface);
    border: 1px solid var(--ene-border);
    border-top: none;
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    padding: var(--sp-6);
    font-size: var(--text-base);
    line-height: 1.8;
    color: var(--ene-text-secondary);
}

/* Tabla de atributos */
.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes th {
    background: var(--ene-surface-2);
    color: var(--ene-chrome);
    font-family: var(--font-body);
    font-weight: 700;
    font-size: var(--text-xs);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: var(--sp-3) var(--sp-4);
    width: 35%;
    border-bottom: 1px solid var(--ene-border);
}

.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes td {
    padding: var(--sp-3) var(--sp-4);
    font-size: var(--text-sm);
    color: var(--ene-text-secondary);
    border-bottom: 1px solid var(--ene-border);
    background: var(--ene-surface);
}

/* =========================================================================
   10. RESEÑAS / COMENTARIOS
   ========================================================================= */

#reviews #comments ol.commentlist li {
    border: 1px solid var(--ene-border);
    border-radius: var(--radius-md);
    padding: var(--sp-5);
    margin-bottom: var(--sp-4);
    background: var(--ene-surface);
    box-shadow: var(--shadow-xs);
}

#reviews #comments ol.commentlist li .comment-text {
    margin: 0;
    color: var(--ene-text-secondary);
}

#reviews #comments ol.commentlist li .meta {
    font-size: var(--text-sm);
    color: var(--ene-text-muted);
    margin-bottom: var(--sp-3);
}

#reviews #comments ol.commentlist li .meta .woocommerce-review__author {
    font-weight: 700;
    color: var(--ene-text);
    font-size: var(--text-base);
}

#review_form .comment-form-rating label {
    font-weight: 600;
    font-size: var(--text-sm);
    color: var(--ene-text-muted);
    margin-bottom: var(--sp-2);
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* =========================================================================
   11. WISHLIST (YITH)
   ========================================================================= */

.yith-wcwl-add-to-wishlist {
    margin-top: var(--sp-2);
}

.yith-wcwl-add-button a,
.yith-wcwl-wishlistaddedbrowse a,
.yith-wcwl-wishlistexistsbrowse a {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-2);
    font-size: var(--text-sm) !important;
    color: var(--ene-text-muted) !important;
    text-decoration: none;
    padding: var(--sp-2) var(--sp-3) !important;
    border: 1px solid var(--ene-border) !important;
    border-radius: var(--radius-full) !important;
    background: transparent !important;
    transition:
        color            var(--duration-fast) var(--ease-both),
        border-color     var(--duration-fast) var(--ease-both),
        background-color var(--duration-fast) var(--ease-both);
    box-shadow: none !important;
}

.yith-wcwl-add-button a:hover,
.yith-wcwl-wishlistaddedbrowse a {
    color: var(--ene-primary) !important;
    border-color: var(--ene-primary) !important;
    background: var(--ene-primary-light) !important;
}

/* Corazón wishlist — oculto en el loop de productos */
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist {
    display: none !important;
}

/* Botón corazón — círculo semitransparente */
.woocommerce ul.products li.product .yith-wcwl-add-button a,
.woocommerce ul.products li.product .yith-wcwl-wishlistaddedbrowse a,
.woocommerce ul.products li.product .yith-wcwl-wishlistexistsbrowse a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    background: rgba(255,255,255,.92) !important;
    border: 1px solid var(--ene-border) !important;
    border-radius: 50% !important;
    transition:
        background var(--duration-fast) var(--ease-both),
        border-color var(--duration-fast) var(--ease-both),
        transform var(--duration-fast) var(--ease-both) !important;
    box-shadow: var(--shadow-sm) !important;
}

.woocommerce ul.products li.product .yith-wcwl-add-button a:hover {
    background: var(--ene-primary-light) !important;
    border-color: var(--ene-primary) !important;
    transform: scale(1.1) !important;
}

/* Ocultar texto, mostrar solo el ícono SVG de corazón */
.woocommerce ul.products li.product .yith-wcwl-add-button a span:not(.yith-wcwl-icon),
.woocommerce ul.products li.product .yith-wcwl-add-button a .yith-wcwl-label {
    display: none !important;
}

/* Ícono corazón vía CSS (funciona si YITH usa pseudo-elemento o clase de icono) */
.woocommerce ul.products li.product .yith-wcwl-add-button a::before,
.woocommerce ul.products li.product .yith-wcwl-add-button a .add_to_wishlist::before {
    content: '♡';
    font-size: 1rem;
    line-height: 1;
    color: var(--ene-ink);
}

/* Corazón relleno rojo cuando ya está en wishlist */
.woocommerce ul.products li.product .yith-wcwl-wishlistaddedbrowse a,
.woocommerce ul.products li.product .yith-wcwl-wishlistexistsbrowse a {
    background: rgba(255,255,255,.92) !important;
    border-color: var(--ene-primary) !important;
}

.woocommerce ul.products li.product .yith-wcwl-wishlistaddedbrowse a::before,
.woocommerce ul.products li.product .yith-wcwl-wishlistexistsbrowse a::before {
    content: '♥';
    font-size: 1rem;
    color: var(--ene-primary);
}

/* Ícono SVG de YITH cuando está añadido — forzar rojo */
.woocommerce ul.products li.product .yith-wcwl-wishlistaddedbrowse a svg,
.woocommerce ul.products li.product .yith-wcwl-wishlistaddedbrowse a .yith-wcwl-icon,
.woocommerce ul.products li.product .yith-wcwl-wishlistexistsbrowse a svg,
.woocommerce ul.products li.product .yith-wcwl-wishlistexistsbrowse a .yith-wcwl-icon {
    color: var(--ene-primary) !important;
    fill: var(--ene-primary) !important;
    stroke: var(--ene-primary) !important;
}

.woocommerce ul.products li.product {
    position: relative;
}

/* =========================================================================
   12. BADGE DE OFERTA
   ========================================================================= */

/* Badge "¡Oferta!" — posición global (página de producto individual) */
.woocommerce span.onsale {
    background: var(--ene-primary);
    color: var(--ene-white);
    font-family: var(--font-display);
    font-weight: 400;
    font-size: var(--text-sm);
    letter-spacing: 1px;
    border-radius: var(--radius-sm);
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--sp-1) var(--sp-3);
    box-shadow: var(--shadow-red);
    position: absolute !important;
    top: var(--sp-3) !important;
    left: var(--sp-3) !important;
    right: auto !important;
    min-height: 30px;
    min-width: 44px;
}

/* Badge "¡Oferta!" oculto en el loop — suprimido vía template override */
.woocommerce ul.products li.product span.onsale {
    display: none !important;
}

/* Badge "Sale!" de Astra modern-style oculto en el loop — reemplazado por ene-badge-discount */
.woocommerce ul.products li.product .ast-onsale-card {
    display: none !important;
}

/* Badge "Agotado" */
.woocommerce ul.products li.product.outofstock .woocommerce-loop-product__link::after {
    content: 'Agotado';
    position: absolute;
    top: var(--sp-3);
    right: var(--sp-3);
    background: var(--ene-ink);
    color: var(--ene-white);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: var(--sp-1) var(--sp-3);
    border-radius: var(--radius-sm);
    z-index: 1;
    line-height: 1.4;
}

.woocommerce ul.products li.product.outofstock a img {
    filter: grayscale(80%);
    opacity: 0.7;
}

.woocommerce ul.products li.product.outofstock:hover a img {
    filter: grayscale(50%);
    opacity: 0.85;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
    position: relative;
    overflow: hidden;
}

/* =========================================================================
   13. BREADCRUMBS
   ========================================================================= */

.woocommerce .woocommerce-breadcrumb {
    font-family: var(--font-body);
    font-size: var(--text-xs);
    color: var(--ene-text-muted);
    letter-spacing: 0.5px;
    margin-bottom: var(--sp-5);
    padding: var(--sp-2) var(--sp-4);
    background: var(--ene-surface);
    border-radius: var(--radius-sm);
    border: 1px solid var(--ene-border);
}

.woocommerce .woocommerce-breadcrumb a {
    color: var(--ene-chrome-dim);
    text-decoration: none;
    font-weight: 500;
}

.woocommerce .woocommerce-breadcrumb a:hover {
    color: var(--ene-primary);
}

/* =========================================================================
   14. RESULTADOS Y ORDENAMIENTO
   ========================================================================= */

.woocommerce-result-count {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    color: var(--ene-text-muted);
    margin: 0;
}

.woocommerce-ordering select {
    border: 1px solid var(--ene-border);
    border-radius: var(--radius-md);
    padding: var(--sp-2) var(--sp-4);
    font-family: var(--font-body);
    font-size: var(--text-sm);
    color: var(--ene-text);
    background-color: var(--ene-surface-2);
    cursor: pointer;
    transition: border-color var(--duration-fast) var(--ease-both);
}

.woocommerce-ordering select:focus-visible {
    border-color: var(--ene-primary);
    outline: none;
}

/* =========================================================================
   15. CARRITO
   ========================================================================= */

.woocommerce-cart .woocommerce {
    gap: var(--sp-6);
}

.woocommerce table.shop_table {
    border-collapse: separate;
    border-spacing: 0;
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    border: 1px solid var(--ene-border);
    background: var(--ene-surface);
}

.woocommerce table.shop_table th {
    background-color: var(--ene-surface-2);
    color: var(--ene-chrome);
    font-family: var(--font-body);
    font-weight: 700;
    font-size: var(--text-xs);
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: var(--sp-4) var(--sp-5);
    border-bottom: 1px solid var(--ene-border-dark);
}

.woocommerce table.shop_table td {
    border-top: 1px solid var(--ene-border);
    padding: var(--sp-4) var(--sp-5);
    vertical-align: middle;
    font-size: var(--text-base);
    color: var(--ene-text);
    background: var(--ene-surface);
}

.woocommerce table.shop_table tr:nth-child(even) td {
    background-color: var(--ene-surface-2);
}

/* Imagen en carrito */
.woocommerce td.product-thumbnail img {
    border-radius: var(--radius-sm);
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 64px !important;
    height: 64px !important;
    border: 1px solid var(--ene-border);
}

.woocommerce td.product-name a {
    color: var(--ene-text);
    text-decoration: none;
    font-weight: 600;
    font-size: var(--text-base);
}

.woocommerce td.product-name a:hover {
    color: var(--ene-primary);
}

/* Cantidad en carrito */
.woocommerce td.product-quantity .qty {
    border: 2px solid var(--ene-border);
    border-radius: var(--radius-sm);
    padding: var(--sp-2) var(--sp-3);
    width: 72px;
    text-align: center;
    font-weight: 600;
    background: var(--ene-surface-2);
    color: var(--ene-text);
}

/* Totales del carrito */
.woocommerce-cart .cart-collaterals {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-md);
    padding: var(--sp-6);
    box-shadow: var(--shadow-md);
}

.woocommerce .cart_totals h2 {
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 3vw, 2rem);
    letter-spacing: 3px;
    color: var(--ene-text);
    margin-bottom: var(--sp-4);
    padding-bottom: var(--sp-3);
    border-bottom: 1px solid var(--ene-border);
}

.woocommerce .cart-subtotal td,
.woocommerce .order-total td {
    font-weight: 700;
    color: var(--ene-text);
}

.woocommerce .order-total .amount {
    font-family: var(--font-display);
    color: var(--ene-primary);
    font-size: clamp(1.4rem, 3vw, 2rem);
    letter-spacing: 1.5px;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button {
    background-color: var(--ene-primary) !important;
    color: var(--ene-white) !important;
    border: 2px solid var(--ene-primary) !important;
    font-size: var(--text-md) !important;
    padding: var(--sp-4) var(--sp-6) !important;
    border-radius: var(--radius-sm) !important;
    width: 100%;
    text-align: center;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    box-shadow: var(--shadow-red) !important;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
    background-color: transparent !important;
    color: var(--ene-primary) !important;
    box-shadow: var(--shadow-red-lg) !important;
    transform: translateY(-2px);
}

/* Carrito vacío */
.woocommerce-cart .woocommerce-info {
    text-align: center;
    padding: var(--sp-8) var(--sp-6);
    background: var(--ene-surface);
    border-radius: var(--radius-md);
    border: 1px dashed var(--ene-border-dark);
    box-shadow: none;
    font-size: var(--text-lg);
    color: var(--ene-text-muted);
}

/* =========================================================================
   16. CHECKOUT
   ========================================================================= */

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading {
    background: var(--ene-surface);
    border: 1px solid var(--ene-border);
    border-radius: var(--radius-md);
    padding: var(--sp-6);
    box-shadow: var(--shadow-sm);
}

.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
    font-family: var(--font-display);
    font-size: clamp(1.3rem, 3vw, 2rem);
    letter-spacing: 2.5px;
    color: var(--ene-text);
    padding-bottom: var(--sp-3);
    border-bottom: 2px solid var(--ene-primary);
    margin-bottom: var(--sp-5);
}

/* Inputs del formulario */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
    border: 2px solid var(--ene-border);
    border-radius: var(--radius-md);
    padding: var(--sp-3) var(--sp-4);
    font-family: var(--font-body);
    font-size: var(--text-base);
    width: 100%;
    background: var(--ene-surface-2);
    color: var(--ene-text);
    transition:
        border-color var(--duration-fast) var(--ease-both),
        box-shadow   var(--duration-fast) var(--ease-both);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
    border-color: var(--ene-primary);
    box-shadow: 0 0 0 3px var(--ene-primary-light);
    outline: none;
}

.woocommerce form .form-row label {
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--ene-text-muted);
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin-bottom: var(--sp-1);
    display: block;
}

/* Resumen del pedido en checkout */
.woocommerce-checkout #order_review .shop_table {
    border-radius: var(--radius-md);
    border: 1px solid var(--ene-border);
    box-shadow: none;
}

/* Botón realizar pedido */
#place_order {
    background: var(--ene-primary) !important;
    color: var(--ene-white) !important;
    font-family: var(--font-display) !important;
    font-size: clamp(1rem, 2.5vw, 1.5rem) !important;
    font-weight: 400 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    padding: var(--sp-5) var(--sp-6) !important;
    width: 100% !important;
    border-radius: var(--radius-sm) !important;
    border: 2px solid var(--ene-primary) !important;
    box-shadow: var(--shadow-red) !important;
    transition:
        background-color var(--duration-fast) var(--ease-both),
        color            var(--duration-fast) var(--ease-both),
        transform        var(--duration-fast) var(--ease-both),
        box-shadow       var(--duration-fast) var(--ease-both) !important;
}

#place_order:hover {
    background: transparent !important;
    color: var(--ene-primary) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-red-lg) !important;
}

/* =========================================================================
   17. MENSAJES Y NOTIFICACIONES
   ========================================================================= */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: var(--radius-md);
    padding: var(--sp-4) var(--sp-5);
    margin-bottom: var(--sp-5);
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    border-left: 3px solid;
}

.woocommerce-message {
    background-color: rgba(22, 163, 74, 0.1);
    border-color: var(--ene-success);
    color: #15803D;
    border: 1px solid rgba(22, 163, 74, 0.25);
    border-left: 3px solid var(--ene-success);
}

.woocommerce-info {
    background-color: rgba(2, 132, 199, 0.1);
    border-color: var(--ene-info);
    color: #0369A1;
    border: 1px solid rgba(2, 132, 199, 0.25);
    border-left: 3px solid var(--ene-info);
}

.woocommerce-error {
    background-color: rgba(220, 38, 38, 0.1);
    border-color: var(--ene-error);
    color: #B91C1C;
    border: 1px solid rgba(220, 38, 38, 0.25);
    border-left: 3px solid var(--ene-error);
}

.woocommerce-message a.button,
.woocommerce-info a.button {
    margin-left: auto;
    font-size: var(--text-xs) !important;
    padding: var(--sp-2) var(--sp-3) !important;
}

/* =========================================================================
   18. PAGINACIÓN
   ========================================================================= */

.woocommerce nav.woocommerce-pagination {
    margin-top: var(--sp-7);
}

.woocommerce nav.woocommerce-pagination ul {
    display: flex;
    gap: var(--sp-2);
    justify-content: center;
    list-style: none;
    padding: 0;
    flex-wrap: wrap;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--ene-border);
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 700;
    letter-spacing: 0.5px;
    color: var(--ene-text-muted);
    text-decoration: none;
    background: var(--ene-surface);
    transition: all var(--duration-fast) var(--ease-both);
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
    background-color: var(--ene-primary-light);
    border-color: var(--ene-primary);
    color: var(--ene-primary);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background-color: var(--ene-primary);
    border-color: var(--ene-primary);
    color: var(--ene-white);
    box-shadow: var(--shadow-red);
}

/* =========================================================================
   19. PRODUCTOS RELACIONADOS Y UPSELLS
   ========================================================================= */

.woocommerce .related,
.woocommerce .upsells {
    margin-top: var(--sp-8);
    padding-top: var(--sp-7);
    border-top: 1px solid var(--ene-border);
}

.woocommerce .related h2,
.woocommerce .upsells h2 {
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 4vw, 2.6rem);
    letter-spacing: 3px;
    font-weight: 400;
    color: var(--ene-text);
    margin-bottom: var(--sp-5);
    position: relative;
    padding-bottom: var(--sp-3);
}

.woocommerce .related h2::after,
.woocommerce .upsells h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 2px;
    background: var(--ene-primary);
}

/* =========================================================================
   20. BÚSQUEDA DE PRODUCTOS
   ========================================================================= */

.woocommerce-product-search {
    display: flex;
    gap: 0;
    border-radius: var(--radius-md);
    overflow: hidden;
    border: 2px solid var(--ene-border);
    background: var(--ene-surface-2);
    transition: border-color var(--duration-fast) var(--ease-both), box-shadow var(--duration-fast) var(--ease-both);
}

.woocommerce-product-search:focus-within {
    border-color: var(--ene-primary);
    box-shadow: 0 0 0 3px var(--ene-primary-light);
}

.woocommerce-product-search input[type="search"] {
    border: none !important;
    box-shadow: none !important;
    flex: 1;
    padding: var(--sp-3) var(--sp-4);
    font-family: var(--font-body);
    font-size: var(--text-base);
    outline: none;
    background: transparent;
    color: var(--ene-text);
}

.woocommerce-product-search button[type="submit"] {
    background: var(--ene-primary);
    color: var(--ene-white);
    border: none;
    padding: var(--sp-3) var(--sp-5);
    font-family: var(--font-body);
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    font-size: var(--text-sm);
    transition: background-color var(--duration-fast) var(--ease-both);
}

.woocommerce-product-search button[type="submit"]:hover {
    background: var(--ene-primary-dark);
}

/* =========================================================================
   21. PÁGINA "SIN RESULTADOS"
   ========================================================================= */

.woocommerce-no-products-found {
    text-align: center;
    padding: var(--sp-8) var(--sp-6);
    background: var(--ene-surface);
    border-radius: var(--radius-md);
    border: 1px dashed var(--ene-border-dark);
    color: var(--ene-text-muted);
}

.woocommerce-no-products-found p {
    font-size: var(--text-lg);
    margin-bottom: var(--sp-5);
}

/* =========================================================================
   22. MI CUENTA
   ========================================================================= */

.woocommerce-MyAccount-navigation {
    background: var(--ene-surface);
    border: 1px solid var(--ene-border);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

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

.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: var(--sp-4) var(--sp-5);
    color: var(--ene-text-secondary);
    text-decoration: none;
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border-bottom: 1px solid var(--ene-border);
    transition:
        background-color var(--duration-fast) var(--ease-both),
        color            var(--duration-fast) var(--ease-both),
        padding-left     var(--duration-fast) var(--ease-both);
}

.woocommerce-MyAccount-navigation ul li a:hover {
    background-color: rgba(220, 38, 38, 0.05);
    color: var(--ene-primary);
    padding-left: calc(var(--sp-5) + 8px);
}

.woocommerce-MyAccount-navigation ul li.is-active a {
    background-color: var(--ene-primary);
    color: var(--ene-white);
    border-left: 3px solid var(--ene-primary-dark);
}

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

/* =========================================================================
   23. RESPONSIVO
   ========================================================================= */

@media (max-width: 960px) {
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        min-height: unset;
    }
}

@media (max-width: 767px) {
    .woocommerce div.product form.cart {
        flex-direction: column;
        align-items: stretch;
    }

    .woocommerce div.product form.cart .quantity input.qty {
        width: 100%;
    }

    .woocommerce div.product form.cart .single_add_to_cart_button {
        min-width: unset;
    }

    .woocommerce table.shop_table th,
    .woocommerce table.shop_table td {
        padding: var(--sp-3) var(--sp-3);
        font-size: var(--text-sm);
    }

    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review_heading {
        padding: var(--sp-4);
    }

    .woocommerce .cart_totals {
        padding: var(--sp-4);
    }

    .woocommerce-message,
    .woocommerce-info,
    .woocommerce-error {
        flex-direction: column;
        align-items: flex-start;
    }

    .woocommerce-message a.button,
    .woocommerce-info a.button {
        margin-left: 0;
    }
}

@media (max-width: 480px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }

    .woocommerce nav.woocommerce-pagination ul li a,
    .woocommerce nav.woocommerce-pagination ul li span {
        width: 36px;
        height: 36px;
    }
}

/* =========================================================================
   24. ACCESIBILIDAD
   ========================================================================= */

.skip-link {
    position: absolute;
    top: -100%;
    left: var(--sp-4);
    background: var(--ene-ink);
    color: var(--ene-white);
    padding: var(--sp-3) var(--sp-5);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    font-family: var(--font-body);
    font-weight: 700;
    font-size: var(--text-sm);
    z-index: 9999;
    text-decoration: none;
    transition: top var(--duration-fast) var(--ease-both);
    border: 1px solid var(--ene-border);
}

.skip-link:focus {
    top: 0;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* =========================================================================
   25. OCULTAR CARRITO DEL HEADER
   ========================================================================= */

.ast-header-woo-cart {
    display: none !important;
}

.main-header-menu a[href*="/cart"],
.main-header-menu a[href*="/checkout"],
.main-header-menu a[href*="/carrito"],
.main-header-menu a[href*="/pagar"],
#site-navigation a[href*="/cart"],
#site-navigation a[href*="/checkout"],
.ast-main-header-wrap a[href*="/cart"],
.ast-main-header-wrap a[href*="/checkout"],
.site-header a[href*="/cart"]:not(.woocommerce-mini-cart__buttons a),
.site-header a[href*="/checkout"]:not(.woocommerce-mini-cart__buttons a) {
    display: none !important;
}

.main-header-menu li:has(> a[href*="/cart"]),
.main-header-menu li:has(> a[href*="/checkout"]),
#site-navigation li:has(> a[href*="/cart"]),
#site-navigation li:has(> a[href*="/checkout"]) {
    display: none !important;
}

/* =========================================================================
   26. HEADER Y NAVEGACIÓN — Modo claro
   ========================================================================= */

/* Header principal */
.site-header,
#masthead,
.ast-transparent-header .site-header,
.ast-transparent-header #masthead,
.ast-header-break-point .site-header,
.ast-header-break-point #masthead {
    background: var(--ene-white) !important;
    border-bottom: 1px solid var(--ene-border);
    box-shadow: var(--shadow-sm);
    position: relative;
    z-index: 100;
}

/* La línea roja inferior la pone el borde de 3px definido en mu-plugins/enerepuestos-styles.php */
.site-header::after,
#masthead::after {
    display: none;
}

/* Logo — limpiar bordes de Astra */
.site-header .ast-site-identity,
.site-header .site-branding,
#masthead .ast-site-identity,
#masthead .site-branding {
    border: none !important;
    background: transparent !important;
    padding-left: 0 !important;
}

.site-header .ast-site-identity::before,
.site-header .ast-site-identity::after,
#masthead .ast-site-identity::before,
#masthead .ast-site-identity::after {
    display: none !important;
}

.site-header .custom-logo-link,
#masthead .custom-logo-link {
    border: none !important;
    border-left: none !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.site-header .custom-logo-link img,
#masthead .custom-logo-link img {
    filter: invert(1) hue-rotate(180deg);
}

/* Título del sitio — Bebas Neue */
.site-header .site-title a,
.site-header .ast-site-identity a,
#masthead .site-title a {
    font-family: var(--font-display);
    color: var(--ene-ink);
    text-decoration: none;
    font-weight: 400;
    letter-spacing: 4px;
    text-transform: uppercase;
    font-size: clamp(1.2rem, 2.5vw, 1.9rem);
}

.site-header .site-description,
#masthead .site-description {
    color: var(--ene-text-muted);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

/* Navegación — links */
.main-header-menu .menu-item > a,
.main-header-menu .menu-item > .menu-link,
.ast-header-sections-navigation .menu-item > a,
#site-navigation .menu-item > a {
    color: var(--ene-ink);
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: var(--sp-3) var(--sp-4);
    border-radius: var(--radius-sm);
    transition:
        color            var(--duration-fast) var(--ease-both),
        background-color var(--duration-fast) var(--ease-both);
}

.main-header-menu .menu-item > a:hover,
.main-header-menu .menu-item > .menu-link:hover,
#site-navigation .menu-item > a:hover {
    color: var(--ene-primary);
    background-color: var(--ene-primary-light);
}

/* Link activo */
.main-header-menu .current-menu-item > a,
.main-header-menu .current-menu-ancestor > a,
#site-navigation .current-menu-item > a {
    color: var(--ene-primary);
    position: relative;
}

.main-header-menu .current-menu-item > a::after {
    content: '';
    position: absolute;
    bottom: 4px;
    left: var(--sp-4);
    right: var(--sp-4);
    height: 2px;
    background: var(--ene-primary);
    border-radius: var(--radius-full);
}

/* Submenú dropdown */
.main-header-menu .sub-menu,
.ast-header-sections-navigation .sub-menu {
    background: var(--ene-white);
    border: 1px solid var(--ene-border);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    box-shadow: var(--shadow-lg);
    border-top: 2px solid var(--ene-primary);
}

.main-header-menu .sub-menu .menu-item > a,
.ast-header-sections-navigation .sub-menu .menu-item > a {
    color: var(--ene-ink);
    font-size: var(--text-base);
    font-weight: 500;
    letter-spacing: 0.3px;
    text-transform: none;
    padding: var(--sp-3) var(--sp-5);
}

.main-header-menu .sub-menu .menu-item > a:hover {
    color: var(--ene-primary);
    background-color: rgba(220,38,38,.05);
}

/* Búsqueda en header */
.site-header .ast-search-menu-icon .search-field,
.site-header .ast-search-icon {
    color: var(--ene-text-secondary);
}

/* Menú móvil toggle */
.ast-mobile-menu-trigger,
.ast-button-wrap .menu-toggle {
    color: var(--ene-ink);
    border: 1px solid var(--ene-border);
    border-radius: var(--radius-sm);
    padding: var(--sp-2);
    transition:
        background-color var(--duration-fast) var(--ease-both),
        border-color     var(--duration-fast) var(--ease-both),
        color            var(--duration-fast) var(--ease-both);
}

.ast-mobile-menu-trigger:hover,
.ast-button-wrap .menu-toggle:hover {
    background-color: rgba(220,38,38,.08);
    border-color: var(--ene-primary);
    color: var(--ene-primary);
}

/* Menú móvil desplegado */
.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-mobile-header-wrap .ast-mobile-header-content {
    background: var(--ene-white);
    border-right: 1px solid var(--ene-border);
}

.ast-mobile-popup-drawer .menu-item > a,
.ast-mobile-header-content .menu-item > a {
    color: var(--ene-ink);
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: var(--sp-3) var(--sp-5);
    border-bottom: 1px solid var(--ene-border);
}

.ast-mobile-popup-drawer .menu-item > a:hover,
.ast-mobile-header-content .menu-item > a:hover {
    color: var(--ene-primary);
    background-color: rgba(220,38,38,.04);
}

.ast-mobile-popup-drawer .menu-toggle-close,
.ast-mobile-popup-close {
    color: var(--ene-ink);
}

/* Header sticky */
.ast-sticky-active .site-header,
.ast-sticky-active #masthead {
    background: rgba(255, 255, 255, 0.97) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

@media (max-width: 767px) {
    .site-header,
    #masthead {
        padding: var(--sp-2) 0;
    }
}

/* =========================================================================
   27. FOOTER — Modo claro
   ========================================================================= */

.site-footer,
.ast-footer-overlay,
footer.site-footer {
    background: var(--ene-bg-alt);
    color: var(--ene-text-secondary);
    border-top: 1px solid var(--ene-border);
    position: relative;
}

/* La línea roja superior la pone el borde de 3px definido en mu-plugins/enerepuestos-styles.php */
.site-footer::before,
footer.site-footer::before {
    display: none;
}

/* Grid de widgets */
.site-footer .ast-container,
.ast-footer-widgets .ast-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--sp-7);
    padding: var(--sp-8) var(--sp-5);
    max-width: var(--max-width);
    margin: 0 auto;
}

/* Títulos de secciones del footer */
.site-footer .widget-title,
.ast-footer-widgets .widget-title,
.site-footer h4,
.ast-footer-widgets h4 {
    font-family: var(--font-display);
    color: var(--ene-ink);
    font-size: clamp(1.1rem, 2.5vw, 1.5rem);
    font-weight: 400;
    letter-spacing: 3.5px;
    text-transform: uppercase;
    margin-bottom: var(--sp-4);
    padding-bottom: var(--sp-3);
    border-bottom: 1px solid var(--ene-border);
    position: relative;
}

/* Subrayado rojo en títulos del footer */
.site-footer .widget-title::after,
.ast-footer-widgets .widget-title::after {
    content: '';
    position: absolute;
    bottom: -1px; left: 0;
    width: 28px;
    height: 2px;
    background: var(--ene-primary);
}

/* Links del footer */
.site-footer a,
.ast-footer-widgets a {
    color: var(--ene-text-secondary);
    text-decoration: none;
    font-family: var(--font-body);
    font-size: var(--text-base);
    transition: color var(--duration-fast) var(--ease-both);
}

.site-footer a:hover,
.ast-footer-widgets a:hover {
    color: var(--ene-primary);
}

/* Listas de links */
.site-footer .widget_nav_menu ul,
.site-footer .widget ul,
.ast-footer-widgets .widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.site-footer .widget_nav_menu ul li,
.site-footer .widget ul li,
.ast-footer-widgets .widget ul li {
    padding: var(--sp-2) 0;
    border-bottom: 1px solid var(--ene-border);
}

.site-footer .widget_nav_menu ul li:last-child,
.site-footer .widget ul li:last-child,
.ast-footer-widgets .widget ul li:last-child {
    border-bottom: none;
}

.site-footer .widget_nav_menu ul li a::before {
    content: '—';
    margin-right: var(--sp-2);
    color: var(--ene-primary);
    opacity: 0.7;
}

/* Texto en footer */
.site-footer .widget_text p,
.site-footer .textwidget p,
.ast-footer-widgets .textwidget p {
    color: var(--ene-text-secondary);
    font-size: var(--text-base);
    line-height: 1.8;
    margin-bottom: var(--sp-3);
}

/* Imágenes (métodos de pago) */
.site-footer .ene-payment-methods,
.site-footer .widget_text img,
.site-footer .textwidget img {
    max-height: 36px;
    margin-right: var(--sp-3);
    margin-bottom: var(--sp-2);
    filter: none;
    opacity: 0.9;
    transition: opacity var(--duration-fast) var(--ease-both);
}

.site-footer .textwidget img:hover {
    opacity: 1;
}

/* Transbank badge */
.site-footer .ene-transbank-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-2);
    background: var(--ene-white);
    border: 1px solid var(--ene-border);
    border-radius: var(--radius-sm);
    padding: var(--sp-3) var(--sp-4);
    margin-top: var(--sp-3);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    color: var(--ene-text-muted);
    font-weight: 600;
    letter-spacing: 0.8px;
}

/* WhatsApp en footer */
.site-footer .ene-whatsapp-link,
.site-footer a[href*="wa.me"],
.site-footer a[href*="whatsapp"] {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-2);
    background: rgba(37, 211, 102, 0.10);
    color: #15803D !important;
    border: 1px solid rgba(37, 211, 102, 0.25);
    padding: var(--sp-3) var(--sp-5);
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-weight: 700;
    font-size: var(--text-sm);
    letter-spacing: 0.8px;
    transition:
        background-color var(--duration-fast) var(--ease-both),
        transform        var(--duration-fast) var(--ease-both),
        box-shadow       var(--duration-fast) var(--ease-both),
        border-color     var(--duration-fast) var(--ease-both);
    margin-top: var(--sp-3);
}

.site-footer .ene-whatsapp-link:hover,
.site-footer a[href*="wa.me"]:hover,
.site-footer a[href*="whatsapp"]:hover {
    background: rgba(37, 211, 102, 0.18);
    color: #166534 !important;
    border-color: rgba(37, 211, 102, 0.6);
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}

/* Copyright / barra inferior */
.ast-small-footer,
.site-below-footer-wrap,
.ast-footer-copyright {
    background: var(--ene-surface-3);
    border-top: 1px solid var(--ene-border);
    padding: var(--sp-4) var(--sp-5);
    text-align: center;
    font-family: var(--font-body);
    font-size: var(--text-sm);
    color: var(--ene-text-muted);
    letter-spacing: 0.5px;
}

.site-footer .site-below-footer-wrap {
    background: var(--ene-bg-alt) !important;
    border-top: 0 !important;
}

.site-footer .ast-footer-copyright {
    background: transparent;
    border-top: 0;
    color: var(--ene-text-muted);
}

.ast-small-footer a,
.site-below-footer-wrap a,
.ast-footer-copyright a {
    color: var(--ene-text-muted);
}

.ast-small-footer a:hover,
.site-below-footer-wrap a:hover,
.ast-footer-copyright a:hover {
    color: var(--ene-primary);
}

@media (max-width: 767px) {
    .site-footer .ast-container,
    .ast-footer-widgets .ast-container {
        grid-template-columns: 1fr;
        padding: var(--sp-6) var(--sp-4);
        gap: var(--sp-6);
        text-align: center;
    }

    .site-footer .widget_nav_menu ul li a::before {
        display: none;
    }
}

/* =========================================================================
   28. COMPATIBILIDAD DE VEHÍCULOS
   ========================================================================= */

.ene-compatibilidad {
    margin-top: var(--sp-5);
    background: var(--ene-surface-2);
    border: 1px solid var(--ene-border);
    border-left: 3px solid var(--ene-primary);
    border-radius: var(--radius-md);
    padding: var(--sp-5);
}

.ene-compatibilidad__titulo {
    font-family: var(--font-display);
    font-size: clamp(1.1rem, 2.5vw, 1.5rem);
    font-weight: 400;
    color: var(--ene-text);
    letter-spacing: 2.5px;
    margin: 0 0 var(--sp-3) 0;
    display: flex;
    align-items: center;
    gap: var(--sp-2);
}

.ene-compatibilidad__titulo::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background: var(--ene-primary);
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Crect x='1' y='3' width='15' height='13'/%3E%3Cpolygon points='16 8 20 8 23 11 23 16 16 16 16 8'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Crect x='1' y='3' width='15' height='13'/%3E%3Cpolygon points='16 8 20 8 23 11 23 16 16 16 16 8'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    flex-shrink: 0;
}

.ene-compatibilidad__tabla {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-body);
    font-size: var(--text-sm);
}

.ene-compatibilidad__tabla thead th {
    background: var(--ene-surface-3);
    color: var(--ene-chrome);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: var(--sp-3) var(--sp-4);
    font-size: var(--text-xs);
    text-align: left;
}

.ene-compatibilidad__tabla thead th:first-child { border-radius: var(--radius-sm) 0 0 0; }
.ene-compatibilidad__tabla thead th:last-child  { border-radius: 0 var(--radius-sm) 0 0; }

.ene-compatibilidad__tabla tbody td {
    padding: var(--sp-2) var(--sp-4);
    border-bottom: 1px solid var(--ene-border);
    color: var(--ene-text-secondary);
    background: var(--ene-surface-2);
}

.ene-compatibilidad__tabla tbody tr:nth-child(even) td {
    background: var(--ene-surface);
}

.ene-compatibilidad__tabla tbody tr:last-child td {
    border-bottom: none;
}

.ene-compatibilidad__texto {
    font-size: var(--text-sm);
    color: var(--ene-text-secondary);
    line-height: 1.7;
}

/* =========================================================================
   29. TABS — ICONOS SVG
   ========================================================================= */

.ene-product-tabs ul.tabs li a {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-2);
}

.ene-product-tabs ul.tabs li a svg {
    flex-shrink: 0;
    opacity: .4;
    transition: opacity var(--duration-fast) var(--ease-both);
}

.ene-product-tabs ul.tabs li.active a svg,
.ene-product-tabs ul.tabs li a:hover svg {
    opacity: 1;
}

/* =========================================================================
   30. SKU EN LISTADO
   ========================================================================= */

.woocommerce ul.products li.product .ene-loop-sku {
    display: block;
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--ene-text-disabled);
    padding: 0 var(--sp-4);
    margin-bottom: var(--sp-2);
    letter-spacing: 0.8px;
}

/* =========================================================================
   31. AJUSTES INICIO / GENERAL
   ========================================================================= */

.home .ast-container > *:first-child,
.home .entry-content > *:first-child {
    margin-top: var(--sp-5);
}

/* =========================================================================
   32. SHOP — Fondo blanco solo en el catálogo
   ========================================================================= */

/* Glass overrides para modo claro del shop */
body.woocommerce-shop,
body.post-type-archive-product,
body.tax-product_cat {
    --glass-bg:     var(--glass-bg-light);
    --glass-border: rgba(0, 0, 0, 0.08);
}

/* Fondo blanco en la zona de contenido del shop */
body.woocommerce-shop .site-content,
body.woocommerce-shop #primary,
body.woocommerce-shop .content-area,
body.post-type-archive-product .site-content,
body.post-type-archive-product #primary,
body.post-type-archive-product .content-area,
body.tax-product_cat .site-content,
body.tax-product_cat #primary,
body.tax-product_cat .content-area {
    background-color: #f5f5f5 !important;
}

/* Área principal y wrappers internos */
body.woocommerce-shop .ast-article-post,
body.woocommerce-shop .entry-content,
body.woocommerce-shop .woocommerce,
body.post-type-archive-product .ast-article-post,
body.post-type-archive-product .entry-content,
body.post-type-archive-product .woocommerce,
body.tax-product_cat .woocommerce {
    background-color: #f5f5f5 !important;
}

/* Título "Shop" y textos en modo claro */
body.woocommerce-shop .woocommerce-products-header__title,
body.woocommerce-shop .page-title,
body.post-type-archive-product .woocommerce-products-header__title,
body.post-type-archive-product .page-title,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_cat .page-title {
    color: #111111 !important;
}

/* Resultado de búsqueda y ordenamiento */
body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count {
    color: #666666 !important;
}

body.woocommerce-shop .woocommerce-ordering select,
body.post-type-archive-product .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select {
    background-color: #ffffff !important;
    color: #111111 !important;
    border-color: #dddddd !important;
}

/* Breadcrumbs en modo claro */
body.woocommerce-shop .woocommerce-breadcrumb,
body.post-type-archive-product .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb {
    background: #eeeeee !important;
    border-color: #dddddd !important;
    color: #666666 !important;
}

body.woocommerce-shop .woocommerce-breadcrumb a,
body.post-type-archive-product .woocommerce-breadcrumb a,
body.tax-product_cat .woocommerce-breadcrumb a {
    color: #DC2626 !important;
}

/* Tarjetas de producto en fondo blanco */
body.woocommerce-shop .woocommerce ul.products li.product,
body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product {
    background: #ffffff !important;
    border-color: #e5e5e5 !important;
}

body.woocommerce-shop .woocommerce ul.products li.product:hover,
body.post-type-archive-product .woocommerce ul.products li.product:hover,
body.tax-product_cat .woocommerce ul.products li.product:hover {
    border-color: #DC2626 !important;
    box-shadow: 0 0 0 1px rgba(220,38,38,.15), 0 8px 24px rgba(0,0,0,.1) !important;
}

/* Título del producto en tarjeta */
body.woocommerce-shop .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: #111111 !important;
}

/* Precio en tarjeta — mantener rojo sobre blanco */
body.woocommerce-shop .woocommerce ul.products li.product .price,
body.post-type-archive-product .woocommerce ul.products li.product .price,
body.tax-product_cat .woocommerce ul.products li.product .price {
    color: #111111 !important;
}

body.woocommerce-shop .woocommerce ul.products li.product .price ins,
body.post-type-archive-product .woocommerce ul.products li.product .price ins,
body.tax-product_cat .woocommerce ul.products li.product .price ins {
    color: #DC2626 !important;
}

body.woocommerce-shop .woocommerce ul.products li.product .price del,
body.post-type-archive-product .woocommerce ul.products li.product .price del,
body.tax-product_cat .woocommerce ul.products li.product .price del {
    color: #999999 !important;
}

/* SKU en tarjeta */
body.woocommerce-shop .ene-loop-sku,
body.post-type-archive-product .ene-loop-sku,
body.tax-product_cat .ene-loop-sku {
    color: #aaaaaa !important;
}

/* Imagen del producto — sin filtro oscuro en fondo claro */
body.woocommerce-shop .woocommerce ul.products li.product a img,
body.post-type-archive-product .woocommerce ul.products li.product a img,
body.tax-product_cat .woocommerce ul.products li.product a img {
    filter: none !important;
}

/* Paginación en fondo claro */
body.woocommerce-shop .woocommerce nav.woocommerce-pagination ul li a,
body.woocommerce-shop .woocommerce nav.woocommerce-pagination ul li span,
body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li a,
body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li span {
    background: #ffffff !important;
    color: #555555 !important;
    border-color: #dddddd !important;
}

body.woocommerce-shop .woocommerce nav.woocommerce-pagination ul li span.current,
body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li span.current {
    background: #DC2626 !important;
    color: #ffffff !important;
    border-color: #DC2626 !important;
}

/* =========================================================================
   33. WIDGETS DE SIDEBAR — FILTROS WOOCOMMERCE
   ========================================================================= */

.widget,
.widget_text {
    color: var(--ene-text-secondary);
}

.woocommerce-widget-layered-nav a,
.woocommerce-widget-layered-nav-list__item a {
    color: var(--ene-text-secondary);
    font-family: var(--font-body);
    font-size: var(--text-sm);
    text-decoration: none;
}

.woocommerce-widget-layered-nav a:hover,
.woocommerce-widget-layered-nav-list__item a:hover {
    color: var(--ene-primary);
}

/* Price filter slider */
.widget_price_filter .ui-slider {
    background: var(--ene-border-dark);
}

.widget_price_filter .ui-slider .ui-slider-range {
    background: var(--ene-primary);
}

.widget_price_filter .price_slider_amount .button {
    background: var(--ene-primary);
    color: var(--ene-white);
    border: none;
    padding: var(--sp-2) var(--sp-4);
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: var(--text-sm);
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: background-color var(--duration-fast) var(--ease-both);
}

.widget_price_filter .price_slider_amount .button:hover {
    background: var(--ene-primary-dark);
}

/* =========================================================================
   33. HERO — Página de inicio
   ========================================================================= */

/* Template full-width: eliminar todas las restricciones del contenedor Astra */
.ene-fullwidth-primary,
.ene-fullwidth-article,
.ene-fullwidth-content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
}

/* Eliminar padding del wrapper principal en la página de inicio */
.page-template-page-fullwidth #primary,
.page-template-page-fullwidth .site-main,
.page-template-page-fullwidth .entry-content,
.page-template-page-fullwidth article {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.ene-hero {
    position: relative;
    min-height: 85vh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    /* El contenido de la página trae background-size en línea: se fuerza aquí */
    background-size: cover !important;
    background-position: right center !important;
    background-repeat: no-repeat;
    background-color: var(--ene-white);
    overflow: hidden;
}

/* Panel blanco a la izquierda que se funde con la foto de la derecha */
.ene-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        var(--ene-white) 0%,
        var(--ene-white) 36%,
        rgba(255,255,255,.9) 44%,
        rgba(255,255,255,0) 64%
    );
    z-index: 1;
}

/* Contenido sobre el overlay */
.ene-hero-content {
    position: relative;
    z-index: 2;
    text-align: left;
    padding: var(--sp-8) var(--sp-7);
    max-width: 680px;
    margin-left: 0;
    margin-right: auto;
}

.ene-hero-badge {
    display: inline-block;
    background: var(--ene-primary);
    color: var(--ene-white);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: var(--sp-1) var(--sp-4);
    border-radius: var(--radius-sm);
    margin-bottom: var(--sp-4);
}

.ene-hero-titulo {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 7vw, 5rem);
    color: var(--ene-ink);
    line-height: 1.05;
    letter-spacing: 3px;
    margin-bottom: var(--sp-4);
}

.ene-rojo {
    color: var(--ene-primary);
}

.ene-hero-sub {
    font-family: var(--font-body);
    font-size: var(--text-md);
    color: var(--ene-text-secondary);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: var(--sp-6);
}

.ene-hero-btns {
    display: flex;
    gap: var(--sp-4);
    justify-content: flex-start;
    flex-wrap: wrap;
}

.ene-btn-primary {
    display: inline-flex;
    align-items: center;
    padding: var(--sp-4) var(--sp-7);
    background: var(--ene-primary);
    color: var(--ene-white);
    border: 2px solid var(--ene-primary);
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-weight: 700;
    font-size: var(--text-sm);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: var(--shadow-red);
    transition:
        background-color var(--duration-fast) var(--ease-both),
        color            var(--duration-fast) var(--ease-both),
        transform        var(--duration-fast) var(--ease-both),
        box-shadow       var(--duration-fast) var(--ease-both);
}

.ene-btn-primary:hover {
    background: transparent;
    color: var(--ene-primary);
    transform: translateY(-2px);
    box-shadow: var(--shadow-red-lg);
}

.ene-btn-outline {
    display: inline-flex;
    align-items: center;
    padding: var(--sp-4) var(--sp-7);
    background: var(--ene-white);
    color: var(--ene-ink);
    border: 2px solid var(--ene-ink);
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-weight: 700;
    font-size: var(--text-sm);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
    transition:
        border-color var(--duration-fast) var(--ease-both),
        color        var(--duration-fast) var(--ease-both),
        transform    var(--duration-fast) var(--ease-both);
}

.ene-btn-outline:hover {
    border-color: var(--ene-primary);
    color: var(--ene-primary);
    transform: translateY(-2px);
}

/* Flecha scroll */
.ene-hero-scroll {
    display: none;
    position: absolute;
    bottom: var(--sp-5);
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    color: var(--ene-ink);
    font-size: 1.4rem;
    animation: ene-bounce 2s ease-in-out infinite;
}

@keyframes ene-bounce {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50%       { transform: translateX(-50%) translateY(6px); }
}

/* =========================================================================
   34. SECCIONES HOMEPAGE
   ========================================================================= */

/* Beneficios */
.ene-beneficios {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--sp-5);
    padding: var(--sp-8) max(var(--sp-5), calc((100% - var(--max-width)) / 2));
    max-width: none;
    margin: 0;
}

.ene-beneficio {
    background: var(--ene-surface);
    border: 1px solid var(--ene-border);
    box-shadow: var(--shadow-xs);
    border-radius: var(--radius-md);
    padding: var(--sp-6);
    text-align: center;
    transition: border-color var(--duration-base) var(--ease-both), transform var(--duration-base) var(--ease-both);
}

.ene-beneficio:hover {
    border-color: rgba(220,38,38,.35);
    transform: translateY(-3px);
}

.ene-beneficio-icono {
    font-size: 2rem;
    margin-bottom: var(--sp-3);
}

.ene-beneficio h3 {
    font-family: var(--font-display);
    font-size: clamp(1rem, 2.5vw, 1.4rem);
    letter-spacing: 1.5px;
    color: var(--ene-text);
    margin-bottom: var(--sp-2);
}

.ene-beneficio p {
    font-size: var(--text-base);
    color: var(--ene-text-secondary);
    line-height: 1.7;
}

/* Quiénes somos */
.ene-quienes-somos {
    padding: var(--sp-8) var(--sp-5);
    border-top: 1px solid var(--ene-border);
}

.ene-qs-inner {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.ene-qs-titulo {
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 3rem);
    letter-spacing: 3px;
    color: var(--ene-text);
    margin-bottom: var(--sp-3);
}

.ene-qs-linea {
    width: 48px;
    height: 2px;
    background: var(--ene-primary);
    margin: 0 auto var(--sp-5);
}

.ene-qs-texto {
    font-size: var(--text-md);
    color: var(--ene-text-secondary);
    line-height: 1.9;
    margin-bottom: var(--sp-4);
}

/* ── Hero + Homepage: Responsivo ── */

@media (max-width: 767px) {
    .ene-hero {
        min-height: 0;
        align-items: flex-start;
        background-size: 100% auto !important;
        background-position: center bottom !important;
        padding: 0 0 56vw !important;
    }

    .ene-hero-overlay {
        background: linear-gradient(
            to top,
            rgba(255,255,255,0) 0,
            rgba(255,255,255,0) 44vw,
            var(--ene-white) 62vw
        );
    }

    .ene-hero-scroll {
        display: none;
    }

    .ene-hero-content {
        padding: var(--sp-6) var(--sp-4);
        text-align: center;
        margin: 0 auto;
    }

    .ene-hero-titulo {
        font-size: clamp(2rem, 10vw, 2.8rem);
        letter-spacing: 1.5px;
    }

    .ene-hero-sub {
        font-size: var(--text-sm);
        letter-spacing: 1px;
    }

    .ene-hero-btns {
        flex-direction: column;
        align-items: center;
        gap: var(--sp-3);
    }

    .ene-btn-primary,
    .ene-btn-outline {
        width: 100%;
        max-width: 300px;
        justify-content: center;
        padding: var(--sp-4) var(--sp-5);
    }

    .ene-beneficios {
        grid-template-columns: 1fr 1fr;
        padding: var(--sp-6) var(--sp-4);
        gap: var(--sp-3);
    }

    .ene-quienes-somos {
        padding: var(--sp-6) var(--sp-4);
    }
}

@media (max-width: 480px) {
    .ene-hero-titulo {
        font-size: clamp(1.7rem, 9vw, 2.2rem);
    }

    .ene-beneficios {
        grid-template-columns: 1fr;
    }

    .ene-beneficio {
        padding: var(--sp-4);
    }
}

/* =========================================================================
   35. ANIMACIONES — Scroll reveal + micro-interacciones
   ========================================================================= */

/* ── Keyframes base ── */
@keyframes ene-fade-up {
    from {
        opacity: 0;
        transform: translateY(22px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ene-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes ene-ripple-expand {
    from {
        transform: scale(0);
        opacity: 0.35;
    }
    to {
        transform: scale(2.5);
        opacity: 0;
    }
}

@keyframes ene-glow-pulse {
    0%, 100% { box-shadow: var(--shadow-red); }
    50%       { box-shadow: var(--shadow-red-lg); }
}

@keyframes ene-scan-line {
    0%   { background-position: 0 0; }
    100% { background-position: 0 100%; }
}

/* ── Estado inicial de tarjetas (ocultas antes del scroll) ── */
.ene-card-hidden {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity  var(--duration-slow) var(--ease-out),
        transform var(--duration-slow) var(--ease-out);
}

.ene-card-hidden.ene-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ── Estado inicial de secciones ── */
.ene-section-hidden {
    opacity: 0;
    transform: translateY(16px);
    transition:
        opacity  var(--duration-slow) var(--ease-out),
        transform var(--duration-slow) var(--ease-out);
}

.ene-section-hidden.ene-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ── Ripple en botones ── */
.ene-ripple {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    pointer-events: none;
    animation: ene-ripple-expand 0.6s var(--ease-out) forwards;
}

/* ── Header: estado al hacer scroll ── */
.ene-scrolled.site-header,
.ene-scrolled#masthead {
    background: rgba(255, 255, 255, 0.97) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    box-shadow: var(--shadow-md) !important;
}

/* ── Botón "Agregar" CTA: pulso sutil cuando el producto es destacado ── */
.woocommerce ul.products li.product:hover .button {
    animation: ene-glow-pulse 2s ease-in-out infinite;
}

/* ── Precio en producto individual: entrada con fade ── */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    animation: ene-fade-in 0.5s var(--ease-out) both;
    animation-delay: 0.1s;
}

/* ── Título del producto: entrada ligeramente demorada ── */
.woocommerce div.product .product_title {
    animation: ene-fade-up 0.55s var(--ease-out) both;
}

/* ── Formulario del producto: entrada con delay ── */
.woocommerce div.product form.cart {
    animation: ene-fade-up 0.6s var(--ease-out) both;
    animation-delay: 0.15s;
}

/* ── Imagen principal del producto ── */
.woocommerce div.product div.images {
    animation: ene-fade-in 0.7s var(--ease-out) both;
}

/* =========================================================================
   35. PRODUCTO INDIVIDUAL + FAVORITOS — Variables de color para fondo claro
   ========================================================================= */

/* Redefinir tokens de color para que todo el texto sea legible sobre blanco */
body.single-product,
body.page-id-50 {
    --ene-bg:              #f5f5f5;
    --ene-surface:         #ffffff;
    --ene-surface-2:       #f0f0f0;
    --ene-surface-3:       #e5e5e5;
    --ene-text:            #111111;
    --ene-text-secondary:  #333333;
    --ene-text-muted:      #666666;
    --ene-text-disabled:   #999999;
    --ene-chrome:          #333333;
    --ene-chrome-dim:      #666666;
    --ene-chrome-bright:   #111111;
    --ene-border:          #dddddd;
    --ene-border-dark:     #cccccc;
    --glass-bg:            var(--glass-bg-light);
    --glass-border:        rgba(0, 0, 0, 0.08);
}

/* Inputs, selects y textareas en modo claro */
body.single-product input,
body.single-product select,
body.single-product textarea,
body.page-id-50 input,
body.page-id-50 select,
body.page-id-50 textarea {
    background-color: #ffffff !important;
    color: #111111 !important;
    border-color: #dddddd !important;
}

/* Tabs de producto — fondo claro */
body.single-product .woocommerce-tabs ul.tabs {
    background: #eeeeee !important;
}

body.single-product .woocommerce-tabs ul.tabs li {
    background: #e0e0e0 !important;
    border-color: #cccccc !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active {
    background: #ffffff !important;
    border-bottom-color: #ffffff !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
    color: #444444 !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a {
    color: #111111 !important;
}

body.single-product .woocommerce-tabs .panel {
    background: #ffffff !important;
    color: #333333 !important;
}

/* Tabla de comentarios/reviews */
body.single-product .woocommerce-Reviews table,
body.single-product .woocommerce-Reviews td,
body.single-product .woocommerce-Reviews th {
    background: #ffffff !important;
    color: #333333 !important;
    border-color: #eeeeee !important;
}

/* Meta (SKU, categorías) */
body.single-product .product_meta {
    color: #666666 !important;
}

body.single-product .product_meta a {
    color: #DC2626 !important;
}

body.single-product .site-content,
body.single-product #primary,
body.single-product .content-area {
    background-color: #f5f5f5 !important;
}

body.single-product .ast-article-post,
body.single-product .entry-content,
body.single-product .woocommerce {
    background-color: #f5f5f5 !important;
}

body.single-product .woocommerce-breadcrumb {
    background: #eeeeee !important;
    border-color: #dddddd !important;
    color: #666666 !important;
}

body.single-product .woocommerce-breadcrumb a {
    color: #DC2626 !important;
}

body.single-product div.product {
    background: #ffffff !important;
    padding: var(--sp-6) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
}

body.single-product div.product .product_title {
    color: #111111 !important;
}

body.single-product div.product p.price,
body.single-product div.product span.price {
    color: #111111 !important;
}

body.single-product div.product p.price ins,
body.single-product div.product span.price ins {
    color: #DC2626 !important;
}

body.single-product div.product p.price del,
body.single-product div.product span.price del {
    color: #999999 !important;
}

body.single-product div.product .woocommerce-product-details__short-description,
body.single-product div.product .woocommerce-tabs,
body.single-product div.product table {
    color: #333333 !important;
}

body.single-product .related,
body.single-product .upsells {
    background-color: #f5f5f5 !important;
}

body.single-product .related h2,
body.single-product .upsells h2 {
    color: #111111 !important;
}

body.single-product .related .woocommerce ul.products li.product,
body.single-product .upsells .woocommerce ul.products li.product,
body.single-product ul.products li.product {
    background: #ffffff !important;
    border-color: #e5e5e5 !important;
}

body.single-product ul.products li.product .woocommerce-loop-product__title {
    color: #111111 !important;
}

body.single-product ul.products li.product .price {
    color: #111111 !important;
}

body.single-product ul.products li.product a img {
    filter: none !important;
}

/* =========================================================================
   36. LISTA DE FAVORITOS (YITH Wishlist) — Fondo blanco
   ========================================================================= */

body.page-id-50 .site-content,
body.page-id-50 #primary,
body.page-id-50 .content-area {
    background-color: #f5f5f5 !important;
}

body.page-id-50 .ast-article-post,
body.page-id-50 .entry-content,
body.page-id-50 .woocommerce {
    background-color: #f5f5f5 !important;
}

body.page-id-50 .entry-title {
    color: #111111 !important;
}

body.page-id-50 .woocommerce-breadcrumb {
    background: #eeeeee !important;
    border-color: #dddddd !important;
    color: #666666 !important;
}

body.page-id-50 .woocommerce-breadcrumb a {
    color: #DC2626 !important;
}

body.page-id-50 .yith-wcwl-wishlist {
    background: #ffffff !important;
    border-radius: var(--radius-md) !important;
    padding: var(--sp-4) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
}

body.page-id-50 .yith-wcwl-wishlist td,
body.page-id-50 .yith-wcwl-wishlist th,
body.page-id-50 .shop_table td,
body.page-id-50 .shop_table th {
    color: #333333 !important;
    border-color: #eeeeee !important;
}

body.page-id-50 .yith-wcwl-wishlist .product-name a,
body.page-id-50 .shop_table .product-name a {
    color: #111111 !important;
}

body.page-id-50 .yith-wcwl-wishlist .product-price,
body.page-id-50 .shop_table .product-price {
    color: #DC2626 !important;
}


/* =========================================================================
   TRANSBANK — Widget de pago en checkout
   ========================================================================= */

/* Contenedor del método de pago WebPay en el listado de opciones */
.woocommerce-checkout #payment ul.payment_methods li.payment_method_transbank_webpay_plus_rest,
.woocommerce-checkout #payment ul.payment_methods li.payment_method_transbank_oneclick_mall_rest {
    background: var(--ene-surface-2);
    border: 1px solid var(--ene-border-dark);
    border-radius: var(--radius-md);
    padding: var(--sp-4);
    margin-bottom: var(--sp-3);
}

/* Label del método — ícono + título */
.tbk-checkout-block-label {
    align-items: center;
    display: flex;
    width: 100%;
    gap: var(--sp-3);
    color: var(--ene-text);
    font-family: var(--font-body);
    font-weight: 500;
}

.tbk-checkout-block-label__title {
    flex: 1 1 auto;
    color: var(--ene-text);
}

.tbk-checkout-block-label__logo {
    display: block;
    margin-left: auto;
    max-height: 32px;
    width: auto;
}

/* Logo / ícono en el checkout clásico */
.woocommerce-checkout #payment ul.payment_methods li img {
    max-height: 32px;
    width: auto;
    vertical-align: middle;
    margin-left: var(--sp-3);
}

/* Descripción del método (texto informativo bajo el título) */
.woocommerce-checkout #payment .payment_box p,
.woocommerce-checkout #payment .payment_method_transbank_webpay_plus_rest .payment_box {
    color: var(--ene-text-secondary);
    font-size: 0.875rem;
    background: var(--ene-surface-3);
    border-left: 3px solid var(--ene-primary);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    padding: var(--sp-3) var(--sp-4);
    margin-top: var(--sp-3);
}

/* Botón "Realizar pago" — asegurar estilos del tema */
.woocommerce-checkout #payment #place_order {
    background: var(--ene-primary);
    color: var(--ene-white);
    border: none;
    font-family: var(--font-display);
    letter-spacing: 0.05em;
    font-size: 1.1rem;
    padding: var(--sp-4) var(--sp-6);
    width: 100%;
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-red);
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-checkout #payment #place_order:hover {
    background: var(--ene-primary-dark);
    box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45);
}

/* =========================================================================
   GLASSMORPHISM — Overrides para fondos claros (shop, single-product, favoritos)
   ========================================================================= */

/* Notificaciones glass en modo claro */
body.single-product .woocommerce-message,
body.woocommerce-shop .woocommerce-message,
body.post-type-archive-product .woocommerce-message,
body.tax-product_cat .woocommerce-message {
    background-color: rgba(22, 163, 74, 0.08) !important;
    color: #15803d !important;
}

body.single-product .woocommerce-info,
body.woocommerce-shop .woocommerce-info,
body.post-type-archive-product .woocommerce-info,
body.tax-product_cat .woocommerce-info {
    background-color: rgba(2, 132, 199, 0.08) !important;
    color: #0369a1 !important;
}

body.single-product .woocommerce-error,
body.woocommerce-shop .woocommerce-error,
body.post-type-archive-product .woocommerce-error,
body.tax-product_cat .woocommerce-error {
    background-color: rgba(220, 38, 38, 0.08) !important;
    color: #b91c1c !important;
}

/* Product meta glass en modo claro */
body.single-product .woocommerce div.product .product_meta {
    background: var(--glass-bg) !important;
    border: 1px solid var(--glass-border) !important;
    border-left: 3px solid var(--ene-border-dark) !important;
}

/* =========================================================================
   40. MARKETING — Badges y barra de envío gratis
   ========================================================================= */

/* ── Badge de descuento (esquina superior izquierda) ── */
.ene-badge-discount {
    position: absolute;
    top: var(--sp-3);
    left: var(--sp-3);
    z-index: 2;
    background: var(--ene-ink);
    color: var(--ene-white);
    font-family: var(--font-display);
    font-size: var(--text-sm);
    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1;
    padding: var(--sp-1) var(--sp-3);
    border-radius: var(--radius-sm);
    border: 1px solid var(--ene-ink);
    box-shadow: var(--shadow-sm);
    pointer-events: none;
}

/* ── Badge de stock bajo (esquina superior derecha) ── */
.ene-badge-stock {
    position: absolute;
    top: var(--sp-3);
    right: var(--sp-3);
    z-index: 2;
    background: var(--ene-primary);
    color: var(--ene-white);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    line-height: 1;
    padding: var(--sp-1) var(--sp-2);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-red);
    pointer-events: none;
    animation: ene-pulse-stock 2s ease-in-out infinite;
}

@keyframes ene-pulse-stock {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.75; }
}

/* ── Barra de progreso de envío gratis (carrito) ── */
.ene-shipping-bar {
    background: var(--ene-surface-2);
    border: 1px solid var(--ene-border);
    border-radius: var(--radius-md);
    padding: var(--sp-4);
    margin-bottom: var(--sp-4);
}

.ene-shipping-bar__text {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    color: var(--ene-text-secondary);
    margin: 0 0 var(--sp-2) 0;
    text-align: center;
}

.ene-shipping-bar__text strong {
    color: var(--ene-ink);
}

.ene-shipping-bar__text--success {
    color: var(--ene-success);
}

.ene-shipping-bar__text--success strong {
    color: var(--ene-success);
}

.ene-shipping-bar__track {
    width: 100%;
    height: 8px;
    background: var(--ene-surface-3);
    border-radius: var(--radius-full);
    overflow: hidden;
}

.ene-shipping-bar__progress {
    height: 100%;
    background: linear-gradient(90deg, var(--ene-primary-dark), var(--ene-primary));
    border-radius: var(--radius-full);
    transition: width var(--duration-slow) var(--ease-out);
}

/* ── Light theme overrides para badges (shop / catálogo) ── */
body.woocommerce-shop .ene-badge-discount,
body.post-type-archive-product .ene-badge-discount,
body.tax-product_cat .ene-badge-discount {
    background: #1a1a1a;
    border-color: #333;
    color: #fff;
}

body.woocommerce-shop .ene-badge-stock,
body.post-type-archive-product .ene-badge-stock,
body.tax-product_cat .ene-badge-stock {
    background: var(--ene-primary);
    color: #fff;
}

/* ── Light theme overrides para barra de envío (carrito) ── */
body.woocommerce-cart .ene-shipping-bar {
    background: #f9f9f9;
    border-color: #e0e0e0;
}

body.woocommerce-cart .ene-shipping-bar__text {
    color: #444;
}

body.woocommerce-cart .ene-shipping-bar__text strong {
    color: #111;
}

body.woocommerce-cart .ene-shipping-bar__text--success {
    color: var(--ene-success);
}

body.woocommerce-cart .ene-shipping-bar__text--success strong {
    color: var(--ene-success);
}

body.woocommerce-cart .ene-shipping-bar__track {
    background: #e5e5e5;
}

/* ── Light theme overrides para single-product ── */
body.single-product .ene-badge-discount {
    background: #1a1a1a;
    border-color: #333;
    color: #fff;
}

body.single-product .ene-badge-stock {
    background: var(--ene-primary);
    color: #fff;
}

/* ── Reducir animaciones si el usuario lo prefiere ── */
@media (prefers-reduced-motion: reduce) {
    .ene-badge-stock {
        animation: none !important;
    }

    .ene-shipping-bar__progress {
        transition: none !important;
    }

    .ene-card-hidden,
    .ene-section-hidden,
    .woocommerce div.product .product_title,
    .woocommerce div.product form.cart,
    .woocommerce div.product p.price,
    .woocommerce div.product div.images {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .woocommerce ul.products li.product:hover .button {
        animation: none !important;
    }
}

/* =========================================================================
   11. CABECERA FULL WIDTH EN TODAS LAS PÁGINAS
   ========================================================================= */
.site-header .ast-container,
.site-header .ast-builder-grid-row-container-inner,
.ast-above-header-wrap .ast-container,
.ast-main-header-wrap .ast-container,
.ast-below-header-wrap .ast-container {
    max-width: 100% !important;
    padding-left: clamp(20px, 3vw, 50px) !important;
    padding-right: clamp(20px, 3vw, 50px) !important;
}

/* Altura estandarizada y arquitectura de dimensiones precisas (Frontend Skill) */
.ast-main-header-wrap,
.ast-main-header-bar,
.site-header {
    height: 100px !important;
    max-height: 100px !important;
    min-height: 100px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.ast-container {
    height: 100%;
}

#masthead > div:not(.ast-mobile-header-wrap),
#masthead .ast-main-header-wrap,
#masthead .ast-primary-header-bar {
    width: 100%;
    height: 100%;
}

.site-header .custom-logo-link img {
    max-height: 68px !important;
    width: auto !important;
    object-fit: contain;
}

/* =========================================================================
   41. MODO CLARO — Ajustes de tarjetas de producto
   ========================================================================= */

/* Tarjetas siempre blancas (Astra les pone gris; body.woocommerce no es ancestro) */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background: var(--ene-surface) !important;
    border: 1px solid var(--ene-border) !important;
}

/* Sin barra roja junto al nombre: en la grilla es ruido visual */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    border-left: none !important;
}

/* Categoría alineada con el nombre y el precio */
.woocommerce ul.products li.product .ast-woo-product-category {
    display: block;
    padding: var(--sp-3) var(--sp-4) 0;
    font-size: var(--text-sm);
    color: var(--ene-text-muted);
}

.woocommerce ul.products li.product .ast-woo-product-category + .ast-loop-product__link .woocommerce-loop-product__title {
    padding-top: var(--sp-1) !important;
}

/* "Agotado": se deja solo la etiqueta negra; la franja de Astra tapaba el SKU */
.woocommerce ul.products li.product .ast-shop-product-out-of-stock {
    display: none !important;
}

/* =========================================================================
   42. MODO CLARO — Ficha de producto
   ========================================================================= */

/* "Comprar ahora" como botón secundario: blanco con borde negro, distinto de "Agregar al carrito" */
.woocommerce div.product a.button.ene-buy-now,
.woocommerce div.product .ene-buy-now {
    background: var(--ene-white) !important;
    color: var(--ene-ink) !important;
    border: 2px solid var(--ene-ink) !important;
    box-shadow: none !important;
}

.woocommerce div.product a.button.ene-buy-now:hover,
.woocommerce div.product .ene-buy-now:hover {
    background: var(--ene-ink) !important;
    color: var(--ene-white) !important;
    border-color: var(--ene-ink) !important;
}

/* Relacionados sobre el mismo blanco de la ficha, sin franja gris */
body.single-product .related,
body.single-product .upsells {
    background-color: transparent !important;
}

/* Stock legible */
.woocommerce div.product .stock.in-stock {
    color: var(--ene-success) !important;
    font-weight: 600;
}

.woocommerce div.product .stock.out-of-stock {
    color: var(--ene-error) !important;
    font-weight: 600;
}

/* El subrayado rojo es solo para el título de la sección, no para los nombres de producto */
.woocommerce .related ul.products h2::after,
.woocommerce .upsells ul.products h2::after {
    display: none;
}

/* =========================================================================
   43. MODO CLARO — Páginas de contenido y formularios
   ========================================================================= */

/* Títulos de página (Contacto, Nosotros, Preguntas frecuentes) con la misma voz que el resto */
.page .entry-header .entry-title,
.page .entry-title {
    font-family: var(--font-display) !important;
    font-weight: 400 !important;
    letter-spacing: 2px;
    color: var(--ene-ink) !important;
    font-size: clamp(2rem, 4.5vw, 2.8rem);
}

/* Texto de lectura más grande y con buen interlineado */
.entry-content p,
.entry-content li {
    font-size: 1.0625rem;
    line-height: 1.75;
    color: var(--ene-text-secondary);
}

/* Formularios: etiquetas grandes en minúscula, campos blancos con borde visible */
.woocommerce form .form-row label,
.woocommerce form .woocommerce-form__label-for-checkbox,
.woocommerce form .woocommerce-form-login__rememberme {
    font-size: var(--text-base) !important;
    font-weight: 600;
    color: var(--ene-ink);
    letter-spacing: 0;
    text-transform: none;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea,
.woocommerce-ordering select {
    background: var(--ene-white);
    border: 2px solid var(--ene-border-dark);
    color: var(--ene-ink);
    min-height: 48px;
}

.woocommerce form .woocommerce-privacy-policy-text p {
    font-size: var(--text-sm);
    color: var(--ene-text-muted);
}

/* Favoritos: el encabezado de la columna precio no va en rojo */
body.page-id-50 .shop_table th.product-price,
body.page-id-50 .yith-wcwl-wishlist th.product-price {
    color: var(--ene-ink) !important;
}

/* Carrito: el resumen lleva su propio recuadro; el contenedor externo no */
.woocommerce-cart .cart-collaterals {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Desplegables de país/región (select2) iguales al resto de los campos */
.woocommerce form .form-row .select2-container .select2-selection--single {
    height: 48px;
    border: 2px solid var(--ene-border-dark);
    border-radius: var(--radius-md);
    background: var(--ene-white);
}

.woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 44px;
    color: var(--ene-ink);
    padding-left: var(--sp-4);
}

.woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__arrow {
    height: 44px;
}

/* =========================================================================
   44. MODO CLARO — Menú móvil y botones del hero
   ========================================================================= */

/* El panel del menú se separa del contenido con sombra y línea roja */
.ast-mobile-header-content,
.ast-mobile-header-wrap .ast-mobile-header-content {
    background: var(--ene-white) !important;
    box-shadow: var(--shadow-lg);
    border-bottom: 3px solid var(--ene-primary);
}

.ast-mobile-header-content .menu-item > .menu-link,
.ast-mobile-header-content .menu-item > a {
    padding-top: var(--sp-4) !important;
    padding-bottom: var(--sp-4) !important;
    border-bottom: 1px solid var(--ene-border);
}

/* Ítem actual: tono rojo suave en vez del celeste de Astra */
.ast-mobile-header-content .current-menu-item > .menu-link,
.ast-mobile-header-content .current-menu-item > a {
    background: var(--ene-primary-light) !important;
    color: var(--ene-primary) !important;
}

/* "Contáctanos" negro: la regla roja de enlaces del contenido no aplica a botones */
.entry-content .ene-hero-btns a.ene-btn-outline {
    color: var(--ene-ink) !important;
}

.entry-content .ene-hero-btns a.ene-btn-outline:hover {
    color: var(--ene-primary) !important;
}

.entry-content .ene-hero-btns a.ene-btn-primary,
.entry-content .ene-hero-btns a.ene-btn-primary:hover {
    color: var(--ene-white) !important;
}
