﻿/* We Utilities Pro — Home (slider, bloques categoría, lista categorías)
   Autocontenido para instalación en cualquier tema PS 8/9. */
/* Fallbacks para temas sin design tokens. Se declaran en `html` (0,0,1) y no en
   `:root` (0,1,0) para que cualquier tema que defina sus tokens en `:root` gane
   sin depender del orden de carga. */
html {
    --weu-color-primary: #EA1E1C;
    --weu-color-dark: #1D1D1D;
    --weu-color-white: #fff;
    --weu-color-grey: #f1f1f1;
    --weu-spacing-sm: 12px;
    --weu-spacing-md: 24px;
    --weu-spacing-lg: 48px;
    --weu-radius-default: 8px;
    --weu-font-size-md: 1rem;
}
.weu-home-pack { display: flex; flex-direction: column; gap: var(--weu-spacing-lg); }
/* 1. Contenedor RaÃ­z: AÃ±adimos ratio de escritorio para evitar CLS */
.weu-slider-wrapper {
    position: relative;
    width: 100%;
    background-color: #f0f0f0;
    aspect-ratio: 1920 / 600;
    overflow: hidden;
    /* Forzamos ocultar desbordamiento */
}

/* 2. Carga y Forzado de Layout Splide (Evita ver 3 copias juntas) */
.weu-slider-wrapper .splide__track {
    overflow: hidden !important;
    height: 100%;
}

.weu-slider-wrapper .splide__list {
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 100%;
}

.weu-slider-wrapper .splide__slide {
    flex-shrink: 0 !important;
    width: 100% !important;
    /* Cada diapositiva ocupa el 100% del contenedor */
    list-style: none !important;
    height: 100%;
}

/* 3. Imagen Ã³ptima */
.weu-slider-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    user-select: none;
    -webkit-user-drag: none;
}

/* 4. Contenedor de las Flechas Personalizadas */
.weu-slider-wrapper .splide__arrows {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
    /* Margen a los extremos de toda la pantalla */
    z-index: 10;
    pointer-events: none;
    /* Dejamos hacer click detrÃ¡s salvo en los propios botones */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

@media (min-width: 768px) {
    .weu-slider-wrapper:hover .splide__arrows {
        opacity: 1;
        visibility: visible;
    }
}

/* 4.1. Botones de NavegaciÃ³n */
.weu-slider-wrapper .splide__arrow {
    background-color: var(--weu-color-grey, #f1f1f1);
    /* Gris claro */
    border: none;
    border-radius: 50%;
    /* Redondeado total */
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.9;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
    /* Sombra elegante premium */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: auto;
    /* Activamos click solo en las flechas */
    cursor: pointer;
}

.weu-slider-wrapper .splide__arrow:hover {
    background-color: var(--weu-color-white, #ffffff);
    opacity: 1;
    transform: scale(1.1);
    /* Ligero rebote elegante */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* 4.2. Iconos internos oscuros */
.weu-slider-wrapper .splide__arrow svg {
    fill: var(--weu-color-dark, #1D1D1D);
    width: 24px;
    height: 24px;
    transition: fill 0.3s ease;
}

/* 4.3. Eliminado el rotate(180) porque el path original SVG ya apunta hacia la izquierda */

/* 5. AdaptaciÃ³n para MÃ³vil */
@media (max-width: 767px) {
    .weu-slider-wrapper {
        aspect-ratio: 16 / 9;
    }

    .weu-slider-wrapper .splide__arrows {
        display: none;
    }
}

/** Bloque de categorÃ­as + slide */
.weu-cat-block-row {
    gap: var(--weu-spacing-md);
}

.weu-cat-block-row:nth-child(2n) {
    flex-direction: row-reverse;
}

.weu-cat-block-row:not(:last-of-type) {
    margin-bottom: var(--weu-spacing-lg);
}

.weu-product-carousel {
    position: relative;
    width: 100%;
    padding: 0 var(--weu-spacing-sm);
}

/* Reset Splide (evita slides apilados en vertical y romper el banner) */
.weu-cat-products .weu-product-carousel:not([data-weu-mobile-peek]) .splide__track {
    overflow: hidden !important;
    position: relative;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}

.weu-cat-products .weu-product-carousel[data-weu-mobile-peek] .splide__track {
    position: relative;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}

@media (hover: none) and (pointer: coarse) {
    .weu-cat-products .weu-product-carousel .splide__track {
        touch-action: pan-y pinch-zoom;
    }
}

@media (hover: hover) and (pointer: fine) {
    .weu-cat-products .weu-product-carousel .splide__track {
        touch-action: pan-x;
    }
}

.weu-cat-products .weu-product-carousel .splide__list {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    height: auto;
}

.weu-cat-products .weu-product-carousel .splide__slide {
    flex: 0 0 auto;
    float: none !important;
    box-sizing: border-box;
    list-style: none !important;
    height: auto;
    display: flex;
    align-items: stretch;
}

/* Fallback antes de que monte Splide: 3 columnas con separaciÃ³n */
.weu-cat-products .weu-product-carousel:not(.is-initialized) .splide__track {
    overflow: hidden !important;
}

.weu-cat-products .weu-product-carousel:not(.is-initialized) .splide__list {
    gap: 16px;
}

.weu-cat-products .weu-product-carousel:not(.is-initialized) .splide__slide {
    flex: 0 0 calc(33.333% - 11px);
    max-width: calc(33.333% - 11px);
}

.weu-cat-products .weu-product-carousel:not(.has-overflow) .weu-hover-arrows {
    display: none;
}

/* Evitar puntos de paginaciÃ³n de Splide (los "..."/dots) en el carrusel */
.weu-cat-products .weu-product-carousel .splide__pagination {
    display: none !important;
}

.weu-cat-products .weu-product-carousel.is-dragging .splide__track {
    cursor: grabbing;
}

.weu-cat-products .weu-product-carousel.is-dragging .weu-carousel-product {
    pointer-events: none;
}

.weu-cat-products .weu-product-carousel .product-miniature,
.weu-cat-products .weu-product-carousel .weu-carousel-product {
    width: 100% !important;
    margin-bottom: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.weu-cat-products .weu-product-carousel .weu-carousel-product {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    outline: none;
}

.weu-cat-products .weu-product-carousel .weu-carousel-product > .card {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 100%;
    height: 100%;
    transition: var(--weu-miniature-bg-transition);
}

.weu-cat-products .weu-product-carousel .weu-carousel-product:is(:hover, :focus-visible, :active) > .card {
    background-color: var(--weu-color-primary-soft-hover);
}

.weu-cat-products .weu-product-carousel .weu-carousel-product .product-miniature__link {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: var(--weu-miniature-bg-transition);
}

.weu-cat-products .weu-product-carousel .weu-carousel-product .product-miniature__image-container,
.weu-cat-products .weu-product-carousel .weu-carousel-product .product-miniature__manufacturer {
    transition: var(--weu-miniature-bg-transition);
}

@media (hover: hover) and (pointer: fine) {
    .weu-cat-products .weu-product-carousel .weu-carousel-product:hover .product-miniature__link,
    .weu-cat-products .weu-product-carousel .weu-carousel-product:focus-visible .product-miniature__link,
    .weu-cat-products .weu-product-carousel .weu-carousel-product:hover .product-miniature__image-container,
    .weu-cat-products .weu-product-carousel .weu-carousel-product:focus-visible .product-miniature__image-container {
        background-color: transparent;
    }
}

@media (hover: none) {
    .weu-cat-products .weu-product-carousel .weu-carousel-product:is(:hover, :focus-visible, :active) .product-miniature__link,
    .weu-cat-products .weu-product-carousel .weu-carousel-product:is(:hover, :focus-visible, :active) .product-miniature__image-container {
        background-color: transparent;
    }
}

/* El chip de marca toma el rosa al hacer hover sobre la tarjeta del carrusel */
.weu-cat-products .weu-product-carousel .weu-carousel-product:is(:hover, :focus-visible, :active) .product-miniature__manufacturer {
    background-color: var(--weu-color-primary-soft-hover);
}

.weu-cat-products .weu-product-carousel .weu-carousel-product .product-miniature__infos {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.weu-cat-products .weu-product-carousel .weu-carousel-product .product-miniature__infos__top {
    align-items: flex-start;
}

.weu-cat-products .weu-product-carousel .weu-carousel-product .product-miniature__title {
    width: 100%;
}

.weu-cat-products .weu-product-carousel .weu-carousel-product img {
    -webkit-user-drag: none;
    user-drag: none;
}

.weu-cat-products {
    min-height: 0;
    overflow: hidden;
}

@media (max-width: 1200px) {
    .weu-cat-products .weu-product-carousel:not(.is-initialized) .splide__slide {
        flex: 0 0 calc(50% - 8px) !important;
        max-width: calc(50% - 8px) !important;
    }
}

@media (max-width: 575px) {
    .weu-cat-products .weu-product-carousel:not(.is-initialized) .splide__list {
        gap: var(--weu-mobile-product-gap, 12px);
    }

    .weu-cat-products .weu-product-carousel:not(.is-initialized) .splide__slide {
        flex: 0 0 74% !important;
        max-width: 74% !important;
    }

    .weu-cat-products .weu-product-carousel:not(.is-initialized) .splide__track {
        overflow: hidden;
    }

    .weu-cat-products .weu-product-carousel[data-weu-mobile-peek] {
        padding: 0;
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .weu-cat-products .weu-product-carousel[data-weu-mobile-peek] .splide__track {
        overflow: hidden !important;
        clip-path: none !important;
    }

    /* Los slides deben mantener su ancho fijo (fixedWidth) y no encogerse */
    .weu-cat-products .weu-product-carousel[data-weu-mobile-peek] .splide__slide {
        flex-shrink: 0 !important;
    }
}

/* Carruseles de producto: misma separaciÃ³n que el grid de listados */
:is(.weu-product-carousel, .js-cross-selling-splide, .js-weu-viewed-products-splide, #weuRelatedProductsSplide-list).is-initialized .splide__slide {
    box-sizing: border-box;
}

.weu-cat-info {
    flex: 0 0 calc(33.33% - 16px);
    max-width: calc(33.33% - 16px);
}

.weu-cat-info .weu-cat-info__image {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.weu-overlay {
    /*background: linear-gradient(135deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.2) 100%);*/
}

.weu-cat-products {
    flex: 0 0 calc(66.66% - 16px);
    max-width: calc(66.66% - 16px);
}

/* Eliminar efecto zoom en banner de categorÃ­a */
.weu-cat-info img,
.weu-cat-info video {
    transition: none !important;
    transform: none !important;
}

.weu-content-reveal .h3 {
    font-size: var(--font-size-xl);
    line-height: var(--font-size-xl);
    text-shadow: 0 2px 4px rgba(0, 0, 0, .3);
}

.weu-content-reveal span {
    letter-spacing: 3px;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.85);
}

.weu-content-reveal .weu-description-truncate * {
    font-size: var(--weu-font-size-md);
    line-height: var(--weu-font-size-md);
}

.weu-content-reveal .btn {
    border: none;
    width: fit-content;
    border-radius: var(--weu-radius-default);
    background-color: var(--weu-color-primary) !important;
    color: var(--weu-color-white) !important;
    height: 40px;
    padding: 0 15px;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
}

.weu-content-reveal .btn:hover {
    background-color: var(--weu-color-dark) !important;
    transform: none;
    transition: background-color 0.2s;
}

.weu-description-truncate p {
    display: inline-block;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.2) 100%);
}

/** We block list **/
.weu-cat-list-container .row {
    gap: var(--weu-spacing-sm);
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.weu-cat-list-container div[class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.weu-cat-list-item {
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    border: none;
    height: 100%;
}

.weu-cat-list__left,
.weu-cat-list__right, 
.weu-cat-list__right-main, 
.weu-cat-list__right-block {
    position: relative;
    overflow: hidden;
}

@media(min-width:1200px) {
    .weu-cat-list__left {
        width: calc(33.33% - 16px);
        height: 632px;
        position: relative;
        overflow: hidden;
    }

    .weu-cat-list__right {
        width: calc(66.66% - 16px);
        height: 632px;
        position: relative;
        overflow: hidden;
    }

    .weu-cat-list__right-main {
        height: 300px;
        position: relative;
        overflow: hidden;
    }

    .weu-cat-list__right-block {
        width: calc(50% - 16px);
        height: 300px;
        position: relative;
        overflow: hidden;
    }
}

.weu-cat-list-item:hover {
    /*transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15) !important;*/
}

.weu-cat-list-image-wrapper {
    overflow: hidden;
    height: 100%;
}

/* <picture> transparente: la <img> se dimensiona respecto al wrapper, como antes */
.weu-cat-list-picture {
    display: contents;
}

.weu-cat-list-image-wrapper img {
    height: 100%;
    width: auto;
    max-width: none;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.weu-cat-list-image-wrapper:not(:nth-child(1)) img {
    width: auto!important ;
}

.weu-cat-list-item:hover .weu-cat-list-image-wrapper img {
    transform: scale(1.1);
}

.weu-cat-list-item:hover .weu-cat-list-image-wrapper:not(:nth-child(1)) img {
    right: -15%;
    position: absolute;
}

.weu-cat-list-overlay {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 60%);
    transition: background 0.4s ease;
}

.weu-cat-list-item:hover .weu-cat-list-overlay {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 80%);
}

.weu-cat-list-content p {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
    letter-spacing: 0.5px;
}

.weu-cat-list-btn {
    text-decoration: none !important;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: none!important;
}

.weu-cat-list-btn i {
    transition: transform 0.3s ease;
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.weu-cat-list-item:hover .weu-cat-list-btn i {
    transform: translateX(5px);
}

/** Cat blocks **/

.weu-btn-primary {
    background-color: #ffffff !important;
    color: #000000 !important;
    transition: all 0.3s cubic-bezier(.25, .8, .25, 1);
    border: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.weu-btn-primary:hover {
    background-color: var(--weu-accent-color) !important;
    color: #ffffff !important;
    transform: translateY(-3px);
    box-shadow: 0 7px 14px rgba(0, 0, 0, 0.2);
}

/* Truncar descripciÃ³n si es muy larga */
.weu-description-truncate {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/** Brands section **/
.weu-brands-section {
    padding-top: 32px;
    padding-bottom: 32px;
    margin-bottom: -64px;
    background-color: var(--weu-color-grey);
}

.weu-brands-info .h2 {
    color: var(--weu-color-dark);
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.weu-btn-view-all {
    color: var(--weu-color-black);
    transition: all 0.3s ease;
}

.weu-btn-view-all i {
    font-size: 16px;
}

.weu-btn-view-all:hover {
    font-weight: 500;
}

.weu-brand-item {
    padding: 10px;
    background-color: var(--weu-color-grey);
    border-radius: 12px;
    transition: all 0.3s ease;
    border: 1px solid transparent;
    aspect-ratio: 1/1;
    height: 100px;
    position: relative;
    overflow: hidden;
    display: flex !important;
    width: 100%;
    border: 1px solid #efefef;

}

.weu-brand-item:hover {
    border-color: var(--weu-white);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    background: var(--weu-white);
    transition: all 0.3s ease;
}

.weu-brand-item img {
    width: 100%;
    filter: grayscale(1);
    transform: scale(2.5);
    mix-blend-mode: multiply;
    filter: contrast(1.1);
    transition: all 0.4s ease;
}

.weu-brand-item:hover img {
    filter: grayscale(0);
    opacity: 1;
    transform: scale(2.6);
}

/** Opiniones **/
#blockTrustindexHome {
    padding-top: var(--weu-spacing-lg); 
    padding-bottom: var(--weu-spacing-lg);
    background-color: #ffffff;
    position: relative;
}

/*#blockTrustindexHome::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: url(../img/bg-trustindex.webp);
    background-size: cover;
    background-position: center;
    -webkit-mask-image: linear-gradient(to left, black 50%, transparent 100%);
    mask-image: linear-gradient(to left, black 50%, transparent 100%);
    z-index: 0;
}*/

#blockTrustindexHome > div {
    position: relative;
    z-index: 1;
}

.home-info {
    padding-top: var(--weu-spacing-md);
}

.home-info :is(h1, h2, h3, h4, h5, h6):empty {
    display: none;
    margin: 0;
    padding: 0;
}

.home-info .text-muted {
    display: inline;
}

