.elementor-403 .elementor-element.elementor-element-2788d8f{--display:flex;}.elementor-403 .elementor-element.elementor-element-79e3118{--display:flex;}.elementor-403 .elementor-element.elementor-element-b5ffc23{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-403 .elementor-element.elementor-element-ecf6233{--display:flex;}.elementor-403 .elementor-element.elementor-element-e629726.wpr-gallery-lightbox-yes .wpr-product-media-wrap .woocommerce-product-gallery__trigger{display:block !important;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-gallery-slider-arrow{display:flex !important;color:#FFFFFFCC;border-color:#FFFFFFCC;transition-duration:0.5s;font-size:15px;width:31px;height:31px;border-style:none;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-wrap .flex-control-nav{display:grid;max-width:100%;}.elementor-403 .elementor-element.elementor-element-e629726.wpr-product-media-thumbs-none .wpr-product-media-wrap .flex-control-nav{display:none;}.elementor-403 .elementor-element.elementor-element-e629726.wpr-product-media-thumbs-stacked .wpr-product-media-wrap .flex-control-nav{display:grid;grid-column-gap:10px !important;grid-row-gap:10px;}.elementor-403 .elementor-element.elementor-element-e629726.wpr-product-media-thumbs-slider .wpr-product-media-wrap .flex-control-nav{display:flex;}.elementor-403 .elementor-element.elementor-element-e629726.wpr-product-media-thumbs-stacked .wpr-product-media-wrap .flex-control-thumbs{grid-template-columns:repeat(4, auto);}.elementor-403 .elementor-element.elementor-element-e629726.wpr-product-media-thumbs-slider .wpr-product-media-thumbs-horizontal.wpr-product-media-wrap .flex-control-thumbs li{width:calc(100%/4) !important;}.elementor-403 .elementor-element.elementor-element-e629726.wpr-product-media-thumbs-slider.wpr-product-media-thumbs-vertical .wpr-product-media-wrap .flex-control-thumbs li{height:calc(100%/4) !important;}.elementor-403 .elementor-element.elementor-element-e629726 .woocommerce-product-gallery__image{border-radius:0px 0px 0px 0px;}.elementor-403 .elementor-element.elementor-element-e629726 .woocommerce-product-gallery__image img{border-radius:0px 0px 0px 0px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-gallery-slider-arrow svg{fill:#FFFFFFCC;width:15px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-gallery-slider-arrow:hover{color:#FFFFFF;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-gallery-slider-arrow:hover svg{fill:#FFFFFF;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-wrap .flex-direction-nav li{width:31px;height:31px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-wrap .flex-direction-nav li a.flex-prev{display:block;width:31px;height:31px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-wrap .flex-direction-nav li a.flex-next{display:block;width:31px;height:31px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-wrap .flex-direction-nav li a.flex-prev:before{font-size:31px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-wrap .flex-direction-nav li a.flex-next:after{font-size:31px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-gallery-slider-next-arrow{right:4px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-wrap .flex-direction-nav li.flex-nav-next{right:4px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-gallery-slider-prev-arrow{left:4px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-wrap .flex-direction-nav li.flex-nav-prev{left:4px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-wrap .wpr-fcn-wrap{max-width:100%;}.elementor-403 .elementor-element.elementor-element-e629726.wpr-product-media-thumbs-slider .wpr-product-media-wrap .flex-control-nav li:not(:last-child){margin-right:10px;}.elementor-403 .elementor-element.elementor-element-e629726.wpr-product-media-thumbs-slider.wpr-product-media-thumbs-vertical .wpr-product-media-wrap .flex-control-nav li:not(:last-child){margin-bottom:10px;}.elementor-403 .elementor-element.elementor-element-e629726:not(.wpr-product-media-thumbs-vertical) .wpr-product-media-wrap .flex-viewport{margin-bottom:12px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-wrap .flex-control-nav li img{border-radius:0px 0px 0px 0px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-sales-badge span{color:#FFFFFF;background-color:#605BE5;border-color:#FFFFFF;padding:5px 10px 5px 10px;border-style:solid;border-width:1px 1px 1px 1px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-sales-badge{margin:10px 0px 0px 10px;}.elementor-403 .elementor-element.elementor-element-e629726  .wpr-product-sales-badge span{border-radius:0px 0px 0px 0px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-lightbox i{color:#ffffff;transition-duration:0.1s;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-lightbox svg{fill:#ffffff;width:20px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-lightbox{border-color:#E8E8E8;transition-duration:0.1s;border-style:none;font-size:20px;width:50px;height:50px;margin:10px 10px 0px 0px;border-radius:2px 2px 2px 2px;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-wrap .woocommerce-product-gallery__trigger{width:50px;height:50px;margin:10px 10px 0px 0px;}.elementor-403 .elementor-element.elementor-element-01296e5{--display:flex;}.elementor-403 .elementor-element.elementor-element-882ee3f{--display:flex;}.elementor-403 .elementor-element.elementor-element-1171da6{--display:flex;}.elementor-403 .elementor-element.elementor-element-808f679{--display:flex;}@media(max-width:1024px){.elementor-403 .elementor-element.elementor-element-b5ffc23{--grid-auto-flow:row;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-gallery-slider-arrow{display:none !important;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-wrap .flex-control-nav{display:none;}}@media(min-width:768px){.elementor-403 .elementor-element.elementor-element-b5ffc23{--width:100%;}}@media(max-width:767px){.elementor-403 .elementor-element.elementor-element-b5ffc23{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-gallery-slider-arrow{display:none !important;}.elementor-403 .elementor-element.elementor-element-e629726 .wpr-product-media-wrap .flex-control-nav{display:none;}}/* Start custom CSS for shortcode, class: .elementor-element-d553443 *//* --- 1. ESTRUCTURA: ESTO HACE QUE SEA INFINITO --- */
.fuerza-bruta-fullwidth {
    width: 100vw;          /* Ancho total de la ventana */
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;    /* Magia para centrar y expandir */
    margin-right: -50vw;
}

/* Evitamos que salga barra de scroll horizontal por el ajuste anterior */
body {
    overflow-x: hidden;
}

/* --- 2. COLOR: FONDO LILA PARA EL HEADER --- */
/* Solo pintamos el header, no el footer */
.header-wrapper.fuerza-bruta-fullwidth .site-header,
.header-wrapper.fuerza-bruta-fullwidth .main-header-bar,
.header-wrapper.fuerza-bruta-fullwidth .ast-primary-header-bar {
    background-color: #E9D8FD !important;
    width: 100%; /* Asegura que el color llene el ancho nuevo */
}

/* --- 3. LOGO: LIMPIEZA DE FONDO (El cuadrado blanco) --- */
/* Obligamos a todo lo que rodea al logo a ser transparente para ver el lila */
.fuerza-bruta-fullwidth .site-branding,
.fuerza-bruta-fullwidth .ast-site-identity,
.fuerza-bruta-fullwidth .site-logo-img,
.fuerza-bruta-fullwidth .custom-logo-link,
.fuerza-bruta-fullwidth .site-branding * { 
    background-color: transparent !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-25b3234 *//* 1. Ocultar el desplegable feo original */
.wc-hidden-select {
    display: none !important;
}

/* 2. Convertir los textos en Botones/Cajas */
.swatches-container {
    display: flex;
    gap: 10px; /* Espacio entre botones */
}

.swatch-item {
    border: 1px solid #ddd;
    padding: 8px 15px;
    cursor: pointer;
    border-radius: 4px; /* Bordes redondeados */
    background: #fff;
    transition: all 0.2s;
}

/* 3. Color cuando seleccionas uno */
.swatch-item.selected {
    background-color: #605BE5; /* Tu color morado */
    color: white;
    border-color: #605BE5;
}

/* 4. Estilo del botón de comprar */
button.single_add_to_cart_button {
    background-color: #605BE5;
    color: white;
    border-radius: 50px;
    padding: 10px 20px;
    border: none;
    margin-top: 15px;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c6ca778 *//* =================================================================
   1. ESTILOS BASE DEL MODAL (GUÍA TALLAS - PC)
   ================================================================= */
.sg-modal-custom {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    z-index: 9999999 !important; 
    display: none; 
    justify-content: center;
    align-items: center;
}

.sg-content {
    background: #fff;
    width: 900px;
    max-width: 95%;
    position: relative;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.5);
    max-height: 90vh;
    overflow-y: auto;
}

.sg-grid {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.sg-visuals { width: 40%; }
.sg-table-area { width: 60%; }

.sg-zone-item { display: none; }
.sg-zone-item.active { display: block; }
.sg-zone-item img { max-width: 100%; height: auto; display: block; }

.sg-close-custom {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 30px;
    cursor: pointer;
    line-height: 1;
    z-index: 10;
    color: #333;
}

/* =================================================================
   2. ESTILOS DE LA FICHA DE COMPRA (SWATCHES / BOTONES)
   ================================================================= */

/* Contenedor de opciones */
.swatches-list {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 5px;
}

/* --- BOTÓN ESTÁNDAR (Rectangular: Cintas / Tallas) --- */
.swatch-btn {
    padding: 10px 18px;
    border: 1px solid #ddd;
    background: #fff;
    cursor: pointer;
    min-width: 45px;
    text-align: center;
    font-size: 14px;
    transition: all 0.2s ease;
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    color: #333; 
    margin-bottom: 5px;
}

.swatch-btn:hover {
    border-color: #000;
}

.swatch-btn.selected {
    background: #000;
    color: #fff !important;
    border-color: #000;
    font-weight: 600;
}

/* --- BOTÓN DE COLOR / IMAGEN (Círculo) --- */
/* ESTO ES LO QUE HACE QUE SE VEA LA FOTO */
.swatch-btn.is-color {
    /* Forzamos tamaño */
    width: 35px !important;
    height: 35px !important;
    min-width: 35px !important;
    min-height: 35px !important;
    
    /* Forzamos forma */
    border-radius: 50% !important;
    
    /* Forzamos comportamiento del fondo (la foto) */
    background-size: cover !important;      /* La foto cubre todo el círculo */
    background-position: center !important; /* La foto se centra */
    background-repeat: no-repeat !important;
    
    /* Reseteamos bordes y paddings que molestan */
    border: 1px solid rgba(0,0,0,0.1) !important;
    padding: 0 !important;
    margin-right: 5px !important;
    
    display: inline-block !important; /* Importante para que coja el ancho */
}

/* Estado Seleccionado (Anillo doble) */
.swatch-btn.is-color.selected {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #000 !important;
    border-color: transparent !important;
    transform: scale(1.1);
}

/* =================================================================
   3. BOTÓN NUCLEAR (AÑADIR A LA BOLSA)
   ================================================================= */
.boton-nuclear {
    opacity: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    background-color: #000;
    color: #fff;
    transition: opacity 0.3s;
    border: none;
    text-transform: uppercase;
    font-weight: bold;
    padding: 15px;
}

.boton-nuclear:hover {
    background-color: #333;
}

.boton-nuclear.loading {
    opacity: 0.7 !important;
    cursor: wait !important;
}

/* =================================================================
   4. RESPONSIVE (MÓVIL) - GUÍA DE TALLAS
   ================================================================= */
@media (max-width: 768px) {
    .sg-modal-custom .sg-content {
        width: 95% !important;
        max-height: 90vh !important;
        overflow-y: scroll !important;
        padding: 15px !important;
    }

    .sg-modal-custom .sg-grid {
        display: block !important;
    }

    .sg-modal-custom .sg-visuals, 
    .sg-modal-custom .sg-table-area {
        width: 100% !important;
        float: none !important;
        margin-bottom: 20px;
    }

    .sg-modal-custom .sg-visuals img {
        margin: 0 auto;
        display: block;
        max-height: 250px;
        object-fit: contain;
    }

    .sg-modal-custom .sg-table-html {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border: 1px solid #f0f0f0;
    }

    .sg-modal-custom .sg-table-html table {
        min-width: 400px;
        max-width: none !important;
    }
    
    .sg-close-custom {
        top: 5px !important;
        right: 5px !important;
        background: #fff;
        border-radius: 50%;
        width: 30px;
        height: 30px;
        text-align: center;
        line-height: 30px;
        box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c1cd4f2 *//* --- 3. ACORDEÓN DE DETALLES --- */
.ficha-detalles-accordion {
    margin-top: 30px;
    border-top: 1px solid #e5e5e5; /* Línea superior inicial */
}

.accordion-item {
    border-bottom: 1px solid #e5e5e5; /* Línea separadora */
}

.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    cursor: pointer;
    list-style: none; /* Quitar triángulo por defecto */
}

/* Eliminar el marcador por defecto en algunos navegadores */
.accordion-header::-webkit-details-marker {
    display: none;
}

.acc-title {
    font-family: sans-serif;
    font-size: 16px;
    color: #000;
    font-weight: 400;
}

/* EL ICONO (+ / -) */
.acc-icon {
    position: relative;
    width: 12px;
    height: 12px;
}

.acc-icon::before, .acc-icon::after {
    content: '';
    position: absolute;
    background-color: #000;
    top: 50%;
    left: 0;
    transition: transform 0.3s;
}

/* Línea horizontal (siempre visible para hacer el menos) */
.acc-icon::before {
    width: 100%;
    height: 1px;
    margin-top: -0.5px;
}

/* Línea vertical (para hacer el más) */
.acc-icon::after {
    width: 1px;
    height: 100%;
    left: 50%;
    margin-left: -0.5px;
    top: 0;
}

/* Cuando está ABIERTO (<details open>), transformamos el + en - */
details[open] .acc-icon::after {
    transform: rotate(90deg); /* Se tumba y se funde con la horizontal */
}

/* CONTENIDO */
.accordion-content {
    padding-bottom: 20px;
    color: #444;
    font-size: 14px;
    line-height: 1.6;
    font-family: sans-serif;
}

.accordion-content p {
    margin-bottom: 10px;
}



/* Limpieza de iconos en el acordeón para evitar fondo blanco */
.accordion-content img {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-01296e5 *//* --- 2. SELECTORES (SWATCHES) --- */
.ficha-compra-custom {
    max-width: 500px; /* O el ancho que quieras */
}

/* Ocultar elementos nativos */
.wc-hidden-select, .reset_variations { display: none !important; }
.variations td { display: block; padding: 0; }
.variations tr { display: block; margin-bottom: 15px; }

/* Etiqueta SIZE */
.label-talla {
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    color: #000;
}

/* Contenedor de tallas */
.swatches-container {
    display: flex;
    gap: 10px;
}

/* Estilo del botón de talla (Gris claro redondeado) */
.swatch-item {
    min-width: 60px;
    height: 45px;
    border: 1px solid #ccc; /* Borde gris suave */
    border-radius: 6px;     /* Bordes redondeados */
    background-color: #f2f2f2; /* Fondo gris claro como en la foto */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-weight: 500;
    font-size: 14px;
    transition: all 0.2s;
    color: #333;
}

/* Hover */
.swatch-item:hover {
    border-color: #000;
}

/* Seleccionado (Borde negro/oscuro) */
.swatch-item.selected {
    background-color: #e0e0e0; /* Un poco más oscuro */
    border: 1px solid #000;
    color: #000;
    font-weight: 600;
}

/* --- 3. BOTÓN AÑADIR AL CARRITO (Estilo Marrón Oscuro) --- */
.woocommerce-variation-add-to-cart {
    margin-top: 25px;
}

button.single_add_to_cart_button {
    width: 100%; /* Ancho completo */
    background-color: #3e3026 !important; /* Marrón oscuro de la foto */
    color: white !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 18px 0 !important;
    border-radius: 4px !important; /* Bordes ligeramente redondeados */
    font-size: 14px !important;
    border: none !important;
    font-weight: 600;
}

button.single_add_to_cart_button:hover {
    background-color: #2a201a !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-7b04669 *//* =========================================
   ESTILOS SLIDER + TARJETAS CON HOVER
========================================= */

.section-title-look {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #000;
    text-transform: none;
}

/* --- ESTRUCTURA DE LA TARJETA --- */
.custom-product-card {
    display: flex;
    flex-direction: column;
    box-sizing: border-box; 
}

/* --- WRAPPER DE LA IMAGEN (Contenedor del efecto) --- */
.card-image-wrapper {
    position: relative;
    margin-bottom: 10px;
    overflow: hidden; /* Necesario para ocultar los botones abajo */
    border-radius: 4px; /* Opcional: bordes redondeados */
}

.img-link-block {
    display: block;
    width: 100%;
    height: 100%;
}

.card-image-wrapper img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

/* Efecto Zoom ligero al pasar el ratón */
.card-image-wrapper:hover img {
    transform: scale(1.05);
}

/* Badge Roja */
.sale-badge {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background-color: #d9534f;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 2px;
    z-index: 1; /* Detrás del overlay pero sobre la imagen */
}

/* --- OVERLAY DE ACCIONES (LA MAGIA) --- */
.overlay-actions {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    /* Fondo semitransparente blanco */
    background: rgba(255, 255, 255, 0.9); 
    backdrop-filter: blur(2px);
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    /* Estado inicial: oculto hacia abajo */
    transform: translateY(100%); 
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 2;
    box-sizing: border-box;
}

/* Mostrar overlay al hacer hover en el wrapper */
.card-image-wrapper:hover .overlay-actions {
    transform: translateY(0);
}

/* --- ESTILOS DE LOS BOTONES DENTRO DEL OVERLAY --- */

/* Botón Grande (Añadir / Ver Opciones) */
.slider-main-btn {
    display: block;
    width: 100%;
    text-align: center;
    background: #000;
    color: #fff;
    border: 1px solid #000;
    padding: 8px 0;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 2px;
    transition: background 0.2s;
    cursor: pointer;
}
.slider-main-btn:hover {
    background: #333;
    color: #fff;
}

/* Contenedor de tallas */
.card-sizes-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    width: 100%;
}

/* Botones de Talla (Pequeños) */
.slider-btn-option {
    flex: 1;
    min-width: 30px; /* Un poco más grandes que en el side cart para móvil */
    background: #fff;
    border: 1px solid #000;
    color: #000;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 6px 2px;
    border-radius: 2px;
    cursor: pointer;
    text-align: center;
    transition: all 0.2s;
}
.slider-btn-option:hover {
    background: #000;
    color: #fff;
}
/* Estado cargando (añadido por tu JS) */
.slider-btn-option.loading {
    background: #f0f0f0;
    border-color: #ddd;
    color: #999;
    pointer-events: none;
}


/* --- DETALLES DE TEXTO DEBAJO --- */
.card-details { text-align: left; margin-top: 8px; }
.card-brand {
    font-size: 11px;
    font-weight: 700;
    color: #333;
    margin-bottom: 2px;
    text-transform: uppercase;
}
.card-title {
    font-size: 14px;
    color: #333;
    text-decoration: none;
    display: block;
    margin-bottom: 5px;
    line-height: 1.3;
}
.card-price-row { font-size: 14px; margin-bottom: 3px; }
.card-price-row del { color: #999; font-size: 13px; margin-left: 5px; }
.card-price-row ins { text-decoration: none; color: #d9534f; font-weight: 600; }
.product-savings { font-size: 12px; color: #d9534f; font-weight: 400; }


/* =========================================
   ESTRUCTURA DEL SLIDER (TRACK & NAV)
========================================= */

.product-slider-wrapper {
    margin-top: 20px;
    margin-bottom: 40px;
    position: relative;
}

.slider-container-relative {
    position: relative;
}

/* Pista deslizante */
.custom-products-slider-track {
    display: flex;
    gap: 20px; 
    overflow-x: auto; 
    scroll-behavior: smooth; 
    scrollbar-width: none; 
    -ms-overflow-style: none;  
    padding: 10px 0;
}
.custom-products-slider-track::-webkit-scrollbar { display: none; }

/* Elementos del slider */
.custom-products-slider-track .custom-product-card {
    flex-shrink: 0; 
    flex-grow: 0;
    /* PC: 4 columnas */
    flex-basis: calc(25% - 15px);
    max-width: calc(25% - 15px);
}

/* Móvil */
@media (max-width: 768px) {
    .custom-products-slider-track { gap: 15px; }
    .custom-products-slider-track .custom-product-card {
        /* MÓVIL: 2 columnas */
        flex-basis: calc(50% - 7.5px);
        max-width: calc(50% - 7.5px);
    }
}

/* Botones Navegación Slider */
.slider-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    color: #333;
    padding: 0;
}

.slider-nav-btn:hover {
    background: #000;
    color: #fff;
    border-color: #000;
}

.prev-btn { left: -20px; }
.next-btn { right: -20px; }

@media (max-width: 768px) {
    .slider-nav-btn { width: 32px; height: 32px; }
    .prev-btn { left: -10px; }
    .next-btn { right: -10px; }
}
.slider-nav-btn.hidden {
    display: none !important;
    opacity: 0;
    pointer-events: none;
}

/* --- CORRECCIÓN: OCULTAR "VER CARRITO" TRAS AÑADIR --- */

/* 1. Ocultar el enlace de texto "Ver carrito" que genera WooCommerce */
.custom-product-card .added_to_cart,
.overlay-actions .added_to_cart {
    display: none !important;
}

/* 2. Mantener el estilo del botón "Añadir" incluso después de pulsarlo */
.slider-main-btn.added {
    display: block !important; /* Asegura que no desaparezca */
    opacity: 1 !important;
}

/* 3. (Opcional) Cambiar el texto "AÑADIR" por "¡AÑADIDO!" o un icono cuando ya se ha pulsado */
.slider-main-btn.added:after {
    content: " ✓"; /* Añade un check */
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-d212240 *//* =========================================
   ESTILOS SLIDER + TARJETAS CON HOVER
========================================= */

.section-title-look {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #000;
    text-transform: none;
}

/* --- ESTRUCTURA DE LA TARJETA --- */
.custom-product-card {
    display: flex;
    flex-direction: column;
    box-sizing: border-box; 
}

/* --- WRAPPER DE LA IMAGEN (Contenedor del efecto) --- */
.card-image-wrapper {
    position: relative;
    margin-bottom: 10px;
    overflow: hidden; /* Necesario para ocultar los botones abajo */
    border-radius: 4px; /* Opcional: bordes redondeados */
}

.img-link-block {
    display: block;
    width: 100%;
    height: 100%;
}

.card-image-wrapper img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

/* Efecto Zoom ligero al pasar el ratón */
.card-image-wrapper:hover img {
    transform: scale(1.05);
}

/* Badge Roja */
.sale-badge {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background-color: #d9534f;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 2px;
    z-index: 1; /* Detrás del overlay pero sobre la imagen */
}

/* --- OVERLAY DE ACCIONES (LA MAGIA) --- */
.overlay-actions {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    /* Fondo semitransparente blanco */
    background: rgba(255, 255, 255, 0.9); 
    backdrop-filter: blur(2px);
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    /* Estado inicial: oculto hacia abajo */
    transform: translateY(100%); 
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 2;
    box-sizing: border-box;
}

/* Mostrar overlay al hacer hover en el wrapper */
.card-image-wrapper:hover .overlay-actions {
    transform: translateY(0);
}

/* --- ESTILOS DE LOS BOTONES DENTRO DEL OVERLAY --- */

/* Botón Grande (Añadir / Ver Opciones) */
.slider-main-btn {
    display: block;
    width: 100%;
    text-align: center;
    background: #000;
    color: #fff;
    border: 1px solid #000;
    padding: 8px 0;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 2px;
    transition: background 0.2s;
    cursor: pointer;
}
.slider-main-btn:hover {
    background: #333;
    color: #fff;
}

/* Contenedor de tallas */
.card-sizes-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    width: 100%;
}

/* Botones de Talla (Pequeños) */
.slider-btn-option {
    flex: 1;
    min-width: 30px; /* Un poco más grandes que en el side cart para móvil */
    background: #fff;
    border: 1px solid #000;
    color: #000;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 6px 2px;
    border-radius: 2px;
    cursor: pointer;
    text-align: center;
    transition: all 0.2s;
}
.slider-btn-option:hover {
    background: #000;
    color: #fff;
}
/* Estado cargando (añadido por tu JS) */
.slider-btn-option.loading {
    background: #f0f0f0;
    border-color: #ddd;
    color: #999;
    pointer-events: none;
}


/* --- DETALLES DE TEXTO DEBAJO --- */
.card-details { text-align: left; margin-top: 8px; }
.card-brand {
    font-size: 11px;
    font-weight: 700;
    color: #333;
    margin-bottom: 2px;
    text-transform: uppercase;
}
.card-title {
    font-size: 14px;
    color: #333;
    text-decoration: none;
    display: block;
    margin-bottom: 5px;
    line-height: 1.3;
}
.card-price-row { font-size: 14px; margin-bottom: 3px; }
.card-price-row del { color: #999; font-size: 13px; margin-left: 5px; }
.card-price-row ins { text-decoration: none; color: #d9534f; font-weight: 600; }
.product-savings { font-size: 12px; color: #d9534f; font-weight: 400; }


/* =========================================
   ESTRUCTURA DEL SLIDER (TRACK & NAV)
========================================= */

.product-slider-wrapper {
    margin-top: 20px;
    margin-bottom: 40px;
    position: relative;
}

.slider-container-relative {
    position: relative;
}

/* Pista deslizante */
.custom-products-slider-track {
    display: flex;
    gap: 20px; 
    overflow-x: auto; 
    scroll-behavior: smooth; 
    scrollbar-width: none; 
    -ms-overflow-style: none;  
    padding: 10px 0;
}
.custom-products-slider-track::-webkit-scrollbar { display: none; }

/* Elementos del slider */
.custom-products-slider-track .custom-product-card {
    flex-shrink: 0; 
    flex-grow: 0;
    /* PC: 4 columnas */
    flex-basis: calc(25% - 15px);
    max-width: calc(25% - 15px);
}

/* Móvil */
@media (max-width: 768px) {
    .custom-products-slider-track { gap: 15px; }
    .custom-products-slider-track .custom-product-card {
        /* MÓVIL: 2 columnas */
        flex-basis: calc(50% - 7.5px);
        max-width: calc(50% - 7.5px);
    }
}

/* Botones Navegación Slider */
.slider-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    color: #333;
    padding: 0;
}

.slider-nav-btn:hover {
    background: #000;
    color: #fff;
    border-color: #000;
}

.prev-btn { left: -20px; }
.next-btn { right: -20px; }

@media (max-width: 768px) {
    .slider-nav-btn { width: 32px; height: 32px; }
    .prev-btn { left: -10px; }
    .next-btn { right: -10px; }
}
.slider-nav-btn.hidden {
    display: none !important;
    opacity: 0;
    pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-70923ac */.site-footer, .ast-footer-copyright-wrap, .footer-forzoso-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}/* End custom CSS */