/*
 Theme Name: Storefront Child
 Theme URI: http://example.com/
 Description: Mi tema hijo personalizado para Storefront.
 Author: Tu Nombre
 Template: storefront 
 Version: 1.0.7
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain: storefront-child
*/


body {
    background-color: #f8f8f0 !important;
    overflow-y: scroll !important;
    font-family: 'Outfit', sans-serif;
    color: #0E0E1D !important;
}

article {
    margin-bottom: 0px !important;
}

a {
    color: #003DFF;
}

h2+h3 {
    border: 0px !important;
}

.page-width,
.storefront-breadcrumb {
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
    overflow: hidden;
}

.storefront-breadcrumb,
.shop-content,
.page-width:has(.custom-parent-categories-grid, .swiper-wrapper, .first-row-grid, .kt-has-4-columns, .media-banner) {
    padding-left: 0px !important;
    padding-right: 0px !important;
}

.page-404 .page-width {
    padding-left: 32px !important;
    padding-right: 0px !important;
}

.sub-categories-star-product {
    background-color: #FDDCF2 !important;

}

@media (min-width: 1600px) {

    .page-width,
    .storefront-breadcrumb {
        max-width: 1600px !important;
    }
}

@media (max-width: 1900px) {

    .page-width,
    .storefront-breadcrumb,
    .shop-content,
    .page-width:has(.custom-parent-categories-grid, .first-row-grid, .kt-has-4-columns, .media-banner) {
        padding: 0 32px !important;
    }

    .page-width:has(.swiper-wrapper) {
        padding-left: 32px !important;
        padding-right: 0px !important;
    }

}

@media (max-width: 1600px) {

    .page-width,
    .storefront-breadcrumb {
        max-width: 1470px !important;


    }

    .page-width:has(.sub-categories-star-product, .blog-section, .banner-media, .banner-ventas, .bottom-banner, .faq-section, .page-404, .custom-product-page, .content-area) {
        padding-left: 0px !important;
        padding-right: 0px !important;
    }
}

@media (max-width: 768px) {

    .page-width,
    .shop-content,
    .page-width:has(.custom-parent-categories-grid, .first-row-grid, .media-banner, .kt-has-4-columns) {
        padding: 0 16px !important;
    }

    .blog-section .kt-has-4-columns {
        padding-bottom: 32px !important;
    }

    .page-width:has(.swiper-wrapper) {
        padding-left: 16px !important;
        padding-right: 0px !important;
    }

}

.content-area {
    background-color: #f8f8f0 !important;
    margin-bottom: 0 !important;
    float: none !important;
}

.site-main {
    margin-bottom: 0px !important;
}

.woocommerce-products-header__title .page-title {
    display: none;
}

.hint--top:hover:before,
.hint--top:hover:after {
    display: none !important;
}

.top-bar {
    background-color: #F2462A;
    color: white;
    text-align: center;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    /* medium */
    font-size: 14px;
    line-height: 18px;
}

.top-bar strong {
    text-decoration: underline;
}

.top-bar br {
    display: none !important;
}

.top-bar .top-bar-scroll-link {
    color: white !important;
}

.site-header {
    background-color: #000000;
    /* Color rosa del diseño */
    /* Ajusta el padding superior e inferior */
    padding: 16px 32px !important;
    margin-bottom: 0 !important;
    position: sticky;
    top: 0;
    border: 0 !important;
    overflow: visible !important;
}

/* Contenedor principal del header, dentro del .col-full */
.site-header .col-full {
    display: flex;
    align-items: center;
    /* Centrado vertical */
    justify-content: space-between;
    /* Espacia los elementos: logo a la izq, búsqueda/iconos a la derecha */
    flex-wrap: wrap;
    /* Permite que los elementos se envuelvan en pantallas pequeñas */
}

/* Breadcrumb */
.storefront-breadcrumb {
    padding-top: 24px !important;
    padding-bottom: 22px !important;
    width: 100% !important;
}

.storefront-breadcrumb>div {
    max-width: 100% !important;
    padding: 0 !important;
}


.storefront-breadcrumb .woocommerce-breadcrumb {
    color: #0E0E1D !important;
    font: 14px / 18px Outfit !important;
}

.storefront-breadcrumb .woocommerce-breadcrumb a {
    font: 14px/18px Outfit !important;
    font-weight: 500 !important;
    color: #0E0E1D !important;
    text-decoration: none !important;
}

.storefront-breadcrumb .woocommerce-breadcrumb a:first-of-type {
    color: #f2462a !important;
}

.storefront-breadcrumb .woocommerce-breadcrumb a:first-of-type::before {
    display: none !important;
}

/* Breadcrumb */


/* Ajustar el menú principal */
.main-navigation {
    flex-grow: 1;
    /* Permite que el menú crezca para ocupar espacio */
    flex-shrink: 1;

    margin-right: 0 !important;
    display: flex !important;
}

.main-navigation .primary-navigation {
    width: fit-content !important;
}

.site-search {
    margin: 0;
    width: 100% !important;
    float: none !important;
}

.search-icon {
    width: fit-content;
    position: absolute;
    right: -1px;
    padding: 8px;
    top: 1px;
    background-color: #003dff !important;
    display: flex;
    align-items: center;
    border-radius: 10px !important;
}

.search-bar {
    position: relative;
}

.site-search form {
    width: 222px !important;
    height: 36px !important;
}

@media (max-width: 1240px) {
    .primary-navigation {
        display: none !important;
    }
}

@media (min-width: 1240px) {
    .primary-navigation {
        display: block !important;
    }
}


/* Estilos del menú */
.main-navigation ul.menu {
    display: flex;
    /* Para poner los ítems del menú en fila */
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 24px;
}

a:focus {
    outline: 0 !important;
}

a:focus-visible {
    outline: 0 !important;
}

#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link,
.main-navigation ul.menu li a {
    color: #0E0E1D !important;
    /* Color de texto del menú */
    text-decoration: none !important;
    padding: 8px 10px !important;
    font-size: 16px !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 400 !important;
    /* medium */
    line-height: 20px !important;
}

#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link:hover,
.main-navigation ul.menu li a:hover {
    color: #F2462A !important;
    /* Color al pasar el ratón */
}

#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link .mega-indicator {
    display: none !important;
}

/* Estilos para la barra de búsqueda y los iconos (search/account/cart) */
.site-search,
.storefront-handheld-footer-bar ul li.search,
/* Si es el search del mobile */
.storefront-handheld-footer-bar ul li.my-account,
.storefront-handheld-footer-bar ul li.cart {
    display: flex;
    /* Para que la búsqueda y los iconos estén en fila */
    align-items: center;
    margin-left: 20px;
    /* Espacio entre menú y este grupo */
    flex-grow: 0;
    flex-shrink: 0;
}

.wishlist_save {
    color: transparent !important;
}

/* Estilizar el campo de búsqueda */
.site-search input[type="search"] {
    border-radius: 50px;
    /* Bordes redondeados */
    padding: 8px 15px;
    background-color: #F8F8F0 !important;
    /* Fondo del campo de búsqueda */
    outline: none;
    width: 200px;
    /* Ancho de la barra de búsqueda */
    border: 0 !important;
    outline: 0 !important;
    height: 100% !important;
    box-shadow: none !important;
}

.site-search input[type="search"]::placeholder {
    color: #0E0E1D !important;
    font-family: 'Outfit', sans-serif;
    font-weight: 400;
    /* medium */
    font-size: 14px;
    line-height: 18px;
}

.site-search button[type="submit"] {
    background-color: #3b82f6;
    /* Color azul del botón de búsqueda */
    border: none;
    color: white;
    border-radius: 50%;
    /* Botón redondo */
    width: 36px;
    height: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: -50px;
    /* Para superponerlo en el campo de búsqueda */
    cursor: pointer;
    z-index: 2;
    /* Para que esté por encima del campo */
}

/* Estilos para FiboSearch - mantener diseño original */
.search-bar .dgwt-wcas-search-wrapp {
    position: relative;
    width: 222px;
    height: 36px;
}

.search-bar .dgwt-wcas-search-form {
    width: 100%;
    height: 100%;
    margin: 0;
}

.search-bar .dgwt-wcas-sf-wrapp {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    background-color: #F8F8F0 !important;
    padding-bottom: 12px !important;
}

.search-bar .dgwt-wcas-search-input {
    border-radius: 50px;
    padding: 10px 30px !important;
    background-color: #F8F8F0;
    outline: none;
    width: 200px;
    border: 0 !important;
    outline: 0 !important;
    height: 100% !important;
    box-shadow: none !important;
    font-family: 'Outfit', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    color: #0E0E1D;
}

.search-bar .dgwt-wcas-search-input::placeholder {
    color: #0E0E1D !important;
    font-family: 'Outfit', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 14px;
}

.search-bar .dgwt-wcas-search-submit {
    background-color: #003DFF !important;
    border: none !important;
    color: white !important;
    border-radius: 10px !important;
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-left: -50px !important;
    cursor: pointer;
    z-index: 2;
    top: 0 !important;
    left: unset !important;
    padding: 0 !important;
    position: absolute;
    right: 0 !important;
}

.search-bar .dgwt-wcas-search-submit:hover {
    background-color: #2563eb !important;
}

.search-bar .dgwt-wcas-search-submit svg {
    width: 18px;
    height: 18px;
}

.search-bar .dgwt-wcas-search-submit svg path {
    fill: white !important;
}

.search-bar .dgwt-wcas-preloader {
    display: none;
}

/* Estilos para los iconos de usuario y carrito */
.site-header-cart,
.main-navigation ul li.account,
.main-navigation ul li.cart {
    /* Estas clases dependen del HTML exacto */
    margin-left: 15px;
    /* Espacio entre elementos */
}

.site-header-cart .cart-contents,
.main-navigation ul li.account a,
.main-navigation ul li.cart a {
    color: #333;
    /* Color de los iconos */
    font-size: 18px;
    /* Tamaño de los iconos */
}

.iconos-menu {
    display: flex !important;
    gap: 24px !important;
    align-items: center !important;

}

.iconos-menu svg {
    cursor: pointer;
}

.iconos-menu .header-cart-link {
    position: relative;
    display: inline-flex;
}

.iconos-menu .cart-count-badge {
    position: absolute;
    top: -6px;
    right: -10px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 999px;
    background: #F2462A;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
}

.site-branding {
    width: 170px !important;
    margin: 0;
    color: #f2462a !important;
    flex-grow: 0;
    /* No crece */
    flex-shrink: 0;
    /* No se encoge */
    margin-right: 46px !important;
    /* Espacio entre logo y menú */

}

.site-branding h1 a {
    color: #f2462a !important;
    margin-right: 0px !important;
}

@media (max-width: 330px) {
    .site-branding {
        width: 130px !important;
    }
}

.custom-header-main-bar .top-header-bar {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 24px !important;

}

@media (max-width: 425px) {
    .custom-header-main-bar .top-header-bar {
        gap: 0px !important;
    }

    .site-branding {
        margin-right: 0px !important;
    }
}

.custom-header-main-bar .header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    ;


}

/**CATEGORIAS********************************************/
.categories-list ul {
    display: flex;
    gap: 40px;
    justify-content: initial;
    margin: 0;
    padding-bottom: 72px !important;
}

.categories-list ul li {
    display: flex;
    margin: 0 !important;
}

.categories-list.categories-page ul li {
    display: flex;
    margin: 0 !important;
    width: 158px !important;
    ;
}

.categories-list ul li img {
    transition: all .4s ease-in-out;
}

.categories-list ul li:hover img {

    transform: scale(1.05);
    transition: all .4s ease-in-out;
}

.sp-wcsp-cat-item.swiper-slide .sp-wcsp-cat-name a {
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #333;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.categories-list .wc-block-product-categories-list--has-images .wc-block-product-categories-list-item__image {
    max-width: 200px !important;
    border-radius: 100%;
    overflow: hidden;
    margin: 0;

}

.categories-list.categories-page ul li a {
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 158px !important;
    text-align: center;
    color: #333;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.categories-list.categories-page .wc-block-product-categories-list--has-images .wc-block-product-categories-list-item__image {
    max-width: 150px !important;
    border-radius: 100%;
    overflow: hidden;
    margin: 0;

}

.category-title::before {
    content: '';
    /* Se necesita para que el pseudo-elemento se muestre */
    display: inline-block;
    /* O 'block' si quieres que ocupe todo el ancho */
    width: 29px;
    /* Le damos el ancho original del SVG */
    height: 29px;
    /* Le damos el alto original del SVG */

    /* Insertamos el SVG como una imagen de fondo */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.495' height='13.485' viewBox='0 0 14.495 13.485'%3E%3Cpath id='Trazado_236' data-name='Trazado 236' d='M7.9.35C7.992.178,8.116,0,8.276,0a.421.421,0,0,1,.456.231,1.29,1.29,0,0,1,.155.374,1.474,1.474,0,0,1,.044.217l.519,4.116c.052.248.2.345.492.347l3.569-.421q.086-.01.172-.013c.089,0,.177,0,.269,0,.642,0,.74.554.163,1.048L10.972,8.7a.463.463,0,0,0-.179.574l1.229,2.976a1.494,1.494,0,0,1,.1.376c.1.737-.428,1.192-1.412.571L7.673,11.46h0a.6.6,0,0,0-.6.008h0l-3.882,1.9c-.452.227-.922.01-.79-.583h0L3.8,8.881c.1-.271-.025-.4-.194-.569h0L.345,5.193c-.552-.485-.433-1.039.3-.959l4.607.458h0A.46.46,0,0,0,5.7,4.416a.592.592,0,0,0,.032-.053Z' transform='translate(0 0)' fill='%23f2462a'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    /* Ajusta el tamaño del SVG para que quepa en la caja */
    margin-bottom: 4px;
    margin-right: 8px;
    vertical-align: middle;
    /* Opcional: para alinear el icono verticalmente con el texto */
}

.category-title {
    font-family: 'Grandstander', sans-serif;
    font-weight: 600 !important;
    font-size: 40px;
    line-height: 48px !important;
    margin-bottom: 12px !important;
    padding-top: 72px !important;
    color: #f2462a;
    /* El color principal para el texto y el ícono */
}

.category-text {
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-size: 20px !important;
    letter-spacing: 0px !important;
    line-height: 28px !important;
    color: #0E0E1D;
    margin-bottom: 32px !important;
}

#ppcp-recaptcha-v2-container {
    display: none !important;
}

/************************************************************************************/


/**********************PRODUCTOS********************/

:root :where(.is-layout-constrained)>* {
    margin-block-start: 0px !important;
}

body.paginas-legales :where(.is-layout-constrained)>* {
    margin-block-start: revert !important;
}

.product-section,
.featured-product-section {
    overflow: hidden !important;
}

.product-section .wp-block-heading {
    color: #003dff !important;
}

.sub-categories-star-product {
    padding-left: 32px !important;
    padding-right: 32px !important;
    padding-bottom: 5px !important;
}

@media (max-width: 768px) {
    .sub-categories-star-product {
        padding-left: 16px !important;
        padding-right: 0px !important;
    }
}

.sub-categories-star-product .wp-block-heading,
.product-section.red-section .wp-block-heading {
    color: #F2462A !important;
    margin-bottom: 24px !important;
    margin-top: 60px !important;
}

@media (max-width: 768px) {
    .product-section.red-section .wp-block-heading {
        margin-top: 0px !important;
    }
}

.featured-product-section .wp-block-heading {
    color: #36ce77 !important;
}

.sub-categories h2,
.blog-home-container .categories-title {
    color: #F2462A !important;
}

.featured-product-section .wp-block-heading::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.495' height='13.485' viewBox='0 0 14.495 13.485'%3E%3Cpath id='Trazado_236' data-name='Trazado 236' d='M7.9.35C7.992.178,8.116,0,8.276,0a.421.421,0,0,1,.456.231,1.29,1.29,0,0,1,.155.374,1.474,1.474,0,0,1,.044.217l.519,4.116c.052.248.2.345.492.347l3.569-.421q.086-.01.172-.013c.089,0,.177,0,.269,0,.642,0,.74.554.163,1.048L10.972,8.7a.463.463,0,0,0-.179.574l1.229,2.976a1.494,1.494,0,0,1,.1.376c.1.737-.428,1.192-1.412.571L7.673,11.46h0a.6.6,0,0,0-.6.008h0l-3.882,1.9c-.452.227-.922.01-.79-.583h0L3.8,8.881c.1-.271-.025-.4-.194-.569h0L.345,5.193c-.552-.485-.433-1.039.3-.959l4.607.458h0A.46.46,0,0,0,5.7,4.416a.592.592,0,0,0,.032-.053Z' transform='translate(0 0)' fill='%2336ce77'/%3E%3C/svg%3E");
    content: '';
    display: inline-block;
    width: 27px;
    height: 25px;

    background-repeat: no-repeat;
    background-size: contain;
    margin-bottom: 4px;
    margin-right: 8px;
    vertical-align: middle;
}

.offers-product-section .wp-block-heading::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.495' height='13.485' viewBox='0 0 14.495 13.485'%3E%3Cpath id='Trazado_236' data-name='Trazado 236' d='M7.9.35C7.992.178,8.116,0,8.276,0a.421.421,0,0,1,.456.231,1.29,1.29,0,0,1,.155.374,1.474,1.474,0,0,1,.044.217l.519,4.116c.052.248.2.345.492.347l3.569-.421q.086-.01.172-.013c.089,0,.177,0,.269,0,.642,0,.74.554.163,1.048L10.972,8.7a.463.463,0,0,0-.179.574l1.229,2.976a1.494,1.494,0,0,1,.1.376c.1.737-.428,1.192-1.412.571L7.673,11.46h0a.6.6,0,0,0-.6.008h0l-3.882,1.9c-.452.227-.922.01-.79-.583h0L3.8,8.881c.1-.271-.025-.4-.194-.569h0L.345,5.193c-.552-.485-.433-1.039.3-.959l4.607.458h0A.46.46,0,0,0,5.7,4.416a.592.592,0,0,0,.032-.053Z' transform='translate(0 0)' fill='%23ffb9e5'/%3E%3C/svg%3E");
    content: '';
    display: inline-block;
    width: 27px;
    height: 25px;
    background-repeat: no-repeat;
    background-size: contain;
    margin-bottom: 4px;
    margin-right: 8px;
    vertical-align: middle;
}

/* ================== Single Product: Media Gallery ================== */
.custom-galery {
    width: 100%;
}

.product-media-grid {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    width: 100%;
}

.product-media-grid .product-thumbnails-wrapper {
    width: 80px;
    height: 566px;
    max-height: 640px;
    display: flex;
    flex-direction: column;
    position: relative;
}

.product-media-grid .product-thumbnails-container {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
    padding-left: 1px;
    padding-top: 1px;
    padding-right: 1px;
    padding-bottom: 1px;
}

.product-media-grid .product-thumbnails-container::-webkit-scrollbar {
    display: none;
}

.product-media-grid .thumbnails-scroll-progress {
    position: absolute;
    right: -16px;
    top: 0;
    width: 3px;
    height: 100%;
    background: rgba(0, 60, 255, 0.3) !important;
    border-radius: 2px;
    z-index: 10;
}

.product-media-grid .thumbnails-scroll-progress .progress-fill {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #003dff;
    border-radius: 2px;
    transition: height 0.1s ease;
    height: 20%;
}

.product-media-grid .thumbnail-item-wrapper a {
    outline: none !important;
}

.product-media-grid .thumbnail-item-wrapper a,
.product-media-grid .thumbnail-item-wrapper img {
    display: block;
}

.product-media-grid .thumbnail-item-wrapper a {
    height: 100%;
}

.product-media-grid .thumbnail-item-wrapper {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    flex-shrink: 0;
    background-color: #fff;
}

.product-media-grid .thumbnail-item-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    cursor: pointer;
    transition: opacity 0.2s ease;
    border-radius: 0px !important;
}

.product-media-grid .thumbnail-item-wrapper.is-active {
    outline: 1px solid #003dff;
}

.product-media-grid .thumbnail-item-wrapper.is-active img {
    opacity: 1;
}

.product-media-grid .thumbnail-item-wrapper:not(.is-active) img {
    opacity: 0.4;
}

.product-media-grid .thumbnail-item-wrapper:not(.is-active)::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.3);
    pointer-events: none;
}

.product-media-grid .main-image-container {
    flex: 1 1 auto;
    width: 545px !important;
    max-width: 545px !important;
    position: relative;
    max-height: 566px !important;
    height: 566px !important;
    overflow: hidden !important;
    background-size: cover;
    background-position: center;
    background-position-y: top;
    background-repeat: no-repeat;
    background-color: transparent;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.product-media-grid .main-image-container:hover {
    opacity: 0.9;
}

.product-media-grid .main-image-container a[data-main-link] {
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.product-media-grid .main-image-container img.mi-imagen-principal {
    display: none;
}

/* Hover/active states opcionales */
.product-media-grid .thumbnail-item-wrapper:hover img {
    outline: 2px solidrgba(1, 1, 75, 0.81);
}

@media (max-width: 768px) {
    .product-media-grid {
        gap: 16px !important;
    }

    .product-media-grid .main-image-container {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        background-image: none !important;
        background-color: transparent !important;
    }

    .product-media-grid .main-image-container img.mi-imagen-principal {
        display: block;
        width: 100%;
        height: auto;
        object-fit: contain;
    }
}

/* Estilos del modal de galería */
.product-gallery-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}

.gallery-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    cursor: pointer;
}

.gallery-modal-content {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 1200px;
    max-height: 90vh;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: visible;
    box-sizing: border-box;
}

.gallery-modal-scrollable {
    width: 100%;
    max-height: 85vh;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1 1 auto;
    min-height: 0;
}

.gallery-modal-close {
    position: absolute;
    top: -48px;
    right: -8px;
    background: rgba(0, 0, 0, 0.45);
    border: none;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
    z-index: 10001;
    padding: 0;
    line-height: 1;
    border-radius: 50%;
}

.gallery-modal-close:hover {
    background: rgba(0, 0, 0, 0.7);
}

.gallery-modal-close span {
    display: block;
    line-height: 1;
}

.gallery-modal-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.45);
    border: none;
    color: #fff;
    cursor: pointer;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, transform 0.2s ease;
    z-index: 10001;
    padding: 0;
    border-radius: 50%;
    flex-shrink: 0;
}

.gallery-modal-nav svg {
    width: 22px;
    height: 22px;
    display: block;
    flex-shrink: 0;
}

.gallery-modal-nav:hover {
    background: rgba(0, 0, 0, 0.7);
    transform: translateY(-50%) scale(1.08);
}

.gallery-modal-prev {
    left: 20%;
}

.gallery-modal-next {
    right: 20%;
}

.gallery-modal-image-container {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    max-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    overflow: visible;
}

.gallery-modal-image-container img {
    max-width: 100%;
    max-height: 70vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 8px;
    vertical-align: middle;
}

.gallery-modal-thumbnails {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 10px 0;
    max-width: 100%;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
}

.gallery-modal-thumbnails::-webkit-scrollbar {
    height: 6px;
}

.gallery-modal-thumbnails::-webkit-scrollbar-track {
    background: transparent;
}

.gallery-modal-thumbnails::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 3px;
}

.modal-thumbnail-item {
    flex: 0 0 auto;
    width: 80px;
    height: 80px;
    cursor: pointer;
    border: 2px solid transparent;
    border-radius: 4px;
    overflow: hidden;
    transition: all 0.3s ease;
    opacity: 0.6;
}

.modal-thumbnail-item:hover {
    opacity: 0.8;
    border-color: rgba(255, 255, 255, 0.5);
}

.modal-thumbnail-item.is-active {
    opacity: 1;
    border-color: #003dff;
}

.modal-thumbnail-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Responsive para el modal */
@media (max-width: 768px) {
    .gallery-modal-content {
        width: 95%;
        max-height: 95vh;
    }

    .gallery-modal-scrollable {
        max-height: 75vh;
    }

    .gallery-modal-close {
        top: 10px;
        right: 10px;
        font-size: 30px;
        width: 40px;
        height: 40px;
    }

    .gallery-modal-nav {
        width: 38px;
        height: 38px;
    }

    .gallery-modal-nav svg {
        width: 18px;
        height: 18px;
    }

    .gallery-modal-prev {
        left: 8px;
    }

    .gallery-modal-next {
        right: 8px;
    }


    .gallery-modal-image-container {
        max-height: 60vh;
    }

    .gallery-modal-image-container img {
        max-height: 60vh;
    }

    .modal-thumbnail-item {
        width: 60px;
        height: 60px;
    }

    .gallery-modal-thumbnails {
        gap: 8px;
    }
}

/* Ocultar título mobile en desktop por defecto */
.custom-product-page .product-title-mobile {
    display: none;
}

/* Estilos para el título mobile (div que parece h1) */
.custom-product-page .product-title-mobile .product_title {
    font-family: 'Grandstander', sans-serif;
    font-size: 27px !important;
    line-height: 32px !important;
    font-weight: 700 !important;
    color: #003dff !important;
    letter-spacing: 0.28px;
}

/* Responsive: en móvil, miniaturas pasan abajo en carrusel horizontal */
@media (max-width: 768px) {

    /* Mostrar título mobile y ocultar título desktop */
    .custom-product-page .product-title-mobile {
        display: block;
        margin-bottom: 24px;
        padding-left: 16px;
    }

    .custom-product-page .summary .product-title-container {
        display: none;
    }

    .product-media-grid {
        flex-direction: column;
    }

    .product-media-grid .product-thumbnails-wrapper {
        order: 2;
        width: 100%;
        height: auto;
        max-height: none;
        max-width: 100%;
        position: relative;
    }

    .product-media-grid .product-thumbnails-container {
        flex: none;
        min-height: 0;
        width: 100%;
        flex-direction: row;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 16px;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .product-media-grid .product-thumbnails-container::-webkit-scrollbar {
        display: none;
    }

    .product-media-grid .thumbnail-item-wrapper {
        width: 65px;
        flex: 0 0 auto;
    }

    /* Barra de progreso horizontal en mobile */
    .product-media-grid .thumbnails-scroll-progress {
        position: absolute;
        right: 0;
        bottom: 0;
        top: auto;
        left: 0;
        width: 100%;
        height: 3px;
        background: rgba(0, 60, 255, 0.3) !important;
        border-radius: 2px;
        z-index: 10;
    }

    .product-media-grid .thumbnails-scroll-progress .progress-fill {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 20%;
        background: #003dff;
        border-radius: 2px;
        transition: width 0.1s ease;
    }
}

/* ================== /Single Product: Media Gallery ================== */
.product-section .wp-block-heading::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.495' height='13.485' viewBox='0 0 14.495 13.485'%3E%3Cpath id='Trazado_236' data-name='Trazado 236' d='M7.9.35C7.992.178,8.116,0,8.276,0a.421.421,0,0,1,.456.231,1.29,1.29,0,0,1,.155.374,1.474,1.474,0,0,1,.044.217l.519,4.116c.052.248.2.345.492.347l3.569-.421q.086-.01.172-.013c.089,0,.177,0,.269,0,.642,0,.74.554.163,1.048L10.972,8.7a.463.463,0,0,0-.179.574l1.229,2.976a1.494,1.494,0,0,1,.1.376c.1.737-.428,1.192-1.412.571L7.673,11.46h0a.6.6,0,0,0-.6.008h0l-3.882,1.9c-.452.227-.922.01-.79-.583h0L3.8,8.881c.1-.271-.025-.4-.194-.569h0L.345,5.193c-.552-.485-.433-1.039.3-.959l4.607.458h0A.46.46,0,0,0,5.7,4.416a.592.592,0,0,0,.032-.053Z' transform='translate(0 0)' fill='%23003dff'/%3E%3C/svg%3E");
    content: '';
    /* Se necesita para que el pseudo-elemento se muestre */
    display: inline-block;
    /* O 'block' si quieres que ocupe todo el ancho */
    width: 27px;
    height: 25px;
    margin-bottom: 4px;
    /* Insertamos el SVG como una imagen de fondo */

    background-repeat: no-repeat;
    background-size: contain;
    /* Ajusta el tamaño del SVG para que quepa en la caja */

    margin-right: 8px;
    vertical-align: middle;
    /* Opcional: para alinear el icono verticalmente con el texto */
}

.sub-categories h2::before,
.product-section.red-section h2::before,
.blog-home-container .categories-title::before,
.sub-categories-star-product .wp-block-heading::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.495' height='13.485' viewBox='0 0 14.495 13.485'%3E%3Cpath id='Trazado_236' data-name='Trazado 236' d='M7.9.35C7.992.178,8.116,0,8.276,0a.421.421,0,0,1,.456.231,1.29,1.29,0,0,1,.155.374,1.474,1.474,0,0,1,.044.217l.519,4.116c.052.248.2.345.492.347l3.569-.421q.086-.01.172-.013c.089,0,.177,0,.269,0,.642,0,.74.554.163,1.048L10.972,8.7a.463.463,0,0,0-.179.574l1.229,2.976a1.494,1.494,0,0,1,.1.376c.1.737-.428,1.192-1.412.571L7.673,11.46h0a.6.6,0,0,0-.6.008h0l-3.882,1.9c-.452.227-.922.01-.79-.583h0L3.8,8.881c.1-.271-.025-.4-.194-.569h0L.345,5.193c-.552-.485-.433-1.039.3-.959l4.607.458h0A.46.46,0,0,0,5.7,4.416a.592.592,0,0,0,.032-.053Z' transform='translate(0 0)' fill='%23F2462A'/%3E%3C/svg%3E");
    content: '';
    /* Se necesita para que el pseudo-elemento se muestre */
    display: inline-block;
    /* O 'block' si quieres que ocupe todo el ancho */
    width: 27px;
    height: 25px;

    /* Insertamos el SVG como una imagen de fondo */

    background-repeat: no-repeat;
    background-size: contain;
    /* Ajusta el tamaño del SVG para que quepa en la caja */

    margin-right: 8px;
    margin-bottom: 4px;
    vertical-align: middle;
    /* Opcional: para alinear el icono verticalmente con el texto */
}

.swiper.custom-product-carousel-swiper {
    max-width: 100% !important;
    margin-bottom: 58px !important;
    height: 416px;
    overflow: hidden !important;
}

.swiper.custom-product-carousel-swiper.categories-swiper {
    height: 280px !important;
}


.custom-product-carousel-swiper {
    width: 100%;
    height: auto;
    padding-bottom: 40px;
    /* Espacio para la paginación */
}

/* .custom-product-carousel-swiper .swiper-button-prev {
    opacity: 0;
} */

.custom-product-carousel-swiper .swiper-button-next {
    right: 20px !important;
}

.custom-product-carousel-swiper .swiper-button-prev {
    left: 20px !important;
}

@media (max-width: 1900px) {
    .custom-product-carousel-swiper .swiper-button-next {
        right: 52px !important;
    }

    .custom-product-carousel-swiper.categories-swiper .swiper-button-next {
        right: 20px !important;
    }
}

@media (max-width: 768px) {
    .custom-product-carousel-swiper .swiper-button-next {
        right: 20px !important;
    }

    .custom-product-carousel-swiper.categories-swiper .swiper-button-next {
        right: 5px !important;
    }

    .custom-product-carousel-swiper .swiper-button-prev {
        left: 5px !important;
    }
}

.custom-product-carousel-swiper .swiper-button-next:after,
.custom-product-carousel-swiper .swiper-button-prev:after {
    color: #FFB9E5;
    background: #003DFF;
    border-radius: 100%;
    z-index: 11;

}

.custom-product-carousel-swiper .swiper-button-next:after {
    padding: 9px 14px 9px 15.5px !important;
}

.custom-product-carousel-swiper .swiper-button-prev:after {
    padding: 9px 15.5px 9px 14px !important;
}

@media (max-width: 768px) {

    .custom-product-carousel-swiper .swiper-button-next:after {
        padding: 9px 13px 9px 14px !important;
    }

    .custom-product-carousel-swiper .swiper-button-prev:after {
        padding: 9px 14px 9px 13px !important;
    }

    .custom-product-carousel-swiper .swiper-button-next:after {
        margin-right: 15px !important;
    }

    .custom-product-carousel-swiper .swiper-button-prev:after {
        margin-left: 15px !important;
    }

    .media-banner.first {
        margin-bottom: 40px !important;
    }

    .media-banner p:first-of-type {
        margin-top: 16px !important;
    }
}

:root {
    --swiper-navigation-size: 24px !important;
}

/* Estilo para los ítems del carrusel */
.custom-product-carousel-item {

    background-color: transparent;
    width: 214px !important;
    min-width: 214px !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.custom-product-carousel-item bdi {

    font-weight: 400 !important;
    color: #0E0E1D;
    font: 16px/22px Outfit;
}


.custom-product-carousel-item .product-image-wrapper {
    width: 100%;
    height: 239px;
    position: relative;
    margin-bottom: 15px;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-color: white;
}

.custom-product-carousel-item .product-image-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-image: inherit;
    transition: transform .4s ease-in-out;
    z-index: 0;
}

.custom-product-carousel-item .product-image-wrapper:hover::before {
    transform: scale(1.05);
}

.custom-product-carousel-item .product-image-wrapper a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}



.custom-product-carousel-item h3 {
    font-size: 16px !important;
    line-height: 24px !important;
    text-align: left;
    margin-bottom: 0 !important;

}

.custom-product-carousel-item h3 a {

    font-weight: 500 !important;
    color: #0E0E1D;
    text-decoration: none !important;
    text-align: left;
    font-family: 'Outfit', sans-serif;
}

.custom-product-carousel-item a.add_to_cart_button {
    font-family: 'Outfit', sans-serif;
    font-size: 14px !important;
    line-height: 18px;
    background-color: #FFD62C !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    color: #0E0E1D;
    font-weight: 500 !important;
    max-width: fit-content !important;
    transition: all .4s ease-in-out;
}

.custom-product-carousel-item a.add_to_cart_button:hover {
    background-color: #FFB9E5 !important;
    color: #003DFF;
    transition: all .4s ease-in-out;
}

/* Estilo para la barra de progreso */
.custom-product-carousel-swiper .swiper-scrollbar {
    height: 4px;
    left: 50% !important;
    transform: translateX(-50%);
    bottom: 0 !important;
}


.sub-categories .custom-product-carousel-swiper .swiper-scrollbar,
.sub-categories-star-product .custom-product-carousel-swiper .swiper-scrollbar,
.custom-product-carousel-swiper.orange .swiper-scrollbar {
    background: rgba(242, 69, 42, 0.3) !important;
}

.sub-categories .custom-product-carousel-swiper .swiper-scrollbar-drag,
.sub-categories-star-product .custom-product-carousel-swiper .swiper-scrollbar-drag,
.custom-product-carousel-swiper.orange .swiper-scrollbar-drag {
    background: #F2462A !important;
    /* El color de la barra que se mueve */

}

.product-section .custom-product-carousel-swiper .swiper-scrollbar {
    background: rgba(0, 60, 255, 0.3);
}

.product-section .custom-product-carousel-swiper .swiper-scrollbar-drag {
    background: #003dff;
    /* El color de la barra que se mueve */

}

.featured-product-section .custom-product-carousel-swiper .swiper-scrollbar {
    background: rgba(54, 206, 120, 0.3);
}

.featured-product-section .custom-product-carousel-swiper .swiper-scrollbar-drag {
    background: #36ce77;
    /* El color de la barra que se mueve */

}

/*COLORES SCROLLBAR SWIPER**/
.swiper.custom-product-carousel-swiper.orange .swiper-scrollbar-drag {
    background: #F2462A;
}

/* Desktop: restaurar ancho original (solo productos, no categorías) */
@media (min-width: 769px) {
    .custom-product-carousel-swiper:not(.categories-swiper) .swiper-slide {
        max-width: 214px !important;
        width: 214px !important;
    }
}

.custom-product-carousel-swiper:not(.categories-swiper) .swiper-slide {
    /* Mobile: tamaño fijo */
    margin-right: 0px !important;
    background-color: transparent !important;
    max-width: 214px !important;
    width: 214px !important;
    margin-right: 16px !important;
}

/* Categories swiper: sin overrides de width/margin para que Swiper controle via slidesPerView */
.custom-product-carousel-swiper.categories-swiper .swiper-slide {
    background-color: transparent !important;
}



.wp-block-woocommerce-product-collection.is-layout-flow.wp-block-product-collection-is-layout-flow ul {
    overflow: auto;
    flex-wrap: nowrap !important;
    margin: 0 !important;
}

.swiper-scrollbar.swiper-scrollbar-horizontal {
    width: 83% !important;
}



/*************BANNER MEDIA **************************/
.banner-media {
    background-color: #ffd62c !important;
    margin-bottom: 72px !important;
    margin-right: 0px !important;
    margin-left: 0px !important;
}

.banner-media .wp-block-media-text__content {
    width: 735px !important;
    margin-left: auto;
    padding: 0 32px !important;
}

.banner-media h2 {
    font-family: 'Grandstander', sans-serif;
    font-weight: 600;
    /* Se corresponde con el peso "medium" de la fuente */
    font-size: 40px;
    line-height: 48px;
    color: #003dff !important;
}

.banner-media P {
    font-family: 'Outfit', sans-serif;
    font-weight: 400 !important;
    font-size: 20px !important;
    line-height: 28px !important;
    color: #0E0E1D !important;
}

.banner-media .wp-block-button {
    margin: 0 !important;
}

.banner-media a {
    padding: 10px 20px !important;
    background-color: #36ce77 !important;
    font-weight: 600 !important;
    ;
    color: #0142f9 !important;
    border-radius: 15px !important;
    transition: all .4s ease-in-out;
    font: 20px/30px Grandstander;
}

.banner-media a:hover {
    background-color: #0142f9 !important;
    color: #36ce77 !important;
    transition: all .4s ease-in-out;
}

@media (max-width: 768px) {
    .bottom-banner p br {
        display: none !important;
    }

    .banner-media a {
        font-size: 16px !important;
        line-height: 24px !important;
    }

}

/*************GALLERIA**********************************/
.gallery-images {
    padding: 0px 2.3rem !important;
    margin: 0px 24px !important;
}

.kadence-blocks-gallery-item {
    position: relative;
    overflow: hidden;
}


.kadence-blocks-gallery-item::before {
    content: "Lorem ipsum";

    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 32px;
    color: white;
    width: 100%;
    height: 100%;
    opacity: 0;


    background-color: rgba(0, 0, 0, 0);
    z-index: 9999;

    transition: background-color 0.4s ease-in-out;
}

.kadence-blocks-gallery-item:hover::before {
    opacity: 1;
    transition: background-color 0.4s ease-in-out;
}

.kadence-blocks-gallery-item:nth-child(4n + 1):hover::before {
    background-color: rgba(222, 133, 60, 0.7);
    /* Ejemplo: azul con 40% de opacidad */
}

.kadence-blocks-gallery-item:nth-child(4n + 2):hover::before {
    background-color: rgba(60, 130, 222, 0.7);
    /* Ejemplo: azul con 40% de opacidad */
}

.kadence-blocks-gallery-item:nth-child(4n + 3):hover::before {
    background-color: rgba(79, 222, 60, 0.7);
    /* Ejemplo: azul con 40% de opacidad */
}

.kadence-blocks-gallery-item:nth-child(4n + 4):hover::before {
    background-color: rgba(217, 60, 222, 0.7);
    /* Ejemplo: azul con 40% de opacidad */
}

.kadence-blocks-gallery-item img {
    transition: transform 0.4s ease-in-out;
}

.kadence-blocks-gallery-item:hover img {
    transform: scale(1.05);
}

/***********FAQ*********************************/

.faq-section {
    background-color: #FDDCF2 !important;
    padding: 72px 360px !important;

}

@media (max-width: 1470px) {
    .faq-section {
        padding: 72px 120px !important;
    }
}

.faq-section h2 {
    font-weight: 500 !important;
    font-size: 40px;
    line-height: 48px !important;
    color: #003dff !important;
    font-family: 'Grandstander', sans-serif;
    margin-bottom: 20px;
}

.faq-section p {
    color: #0E0E1D !important;
    font-family: 'Outfit', sans-serif;
    font-weight: 400 !important;
}

.faq-section ul {
    color: #0E0E1D !important;
}


.faq-section .wp-block-woocommerce-accordion-group h3 {

    font-weight: 400 !important;
    color: #0E0E1D !important;
    font-family: 'Outfit', sans-serif;
    font-size: 20px !important;
    line-height: 28px !important;

}

.faq-section .wp-block-woocommerce-accordion-group button:hover {
    background-color: transparent !important;
}

.faq-section .wp-block-woocommerce-accordion-group button:focus {
    outline: none !important;
}

.faq-section .wp-block-woocommerce-accordion-group .accordion-item__toggle-icon {
    color: #003dff !important;
    width: auto !important;
    height: 100% !important;
    display: flex !important;
}

.faq-section .wp-block-woocommerce-accordion-group .accordion-item__toggle-icon svg {
    width: 43px !important;
    height: 43px !important;
}

.faq-section .wp-block-woocommerce-accordion-item {
    padding: 6px 0px !important;
    border-top: 1px solid #333;
    margin: 0 !important;
}

.faq-section .wp-block-woocommerce-accordion-item:last-child {
    border-bottom: 1px solid #333;
}

.faq-section .wp-block-button {
    margin: 0 !important;
    margin-top: 24px !important;
}

@media (max-width: 768px) {
    .faq-section {
        margin-top: 0px !important;
    }
}

.faq-section .wp-block-button a {
    background-color: transparent !important;
    font: 16px/24px Grandstander !important;
    font-weight: 600 !important;
    color: #003DFF !important;
    padding: 0 !important;
}

/*****************BOTTOM BANNER***********************/
.bottom-banner {
    color: white !important;
    margin-bottom: 0px !important;
}

.bottom-banner img {
    mix-blend-mode: multiply;
    border-radius: 0px !important;
}

.bottom-banner p {
    font-size: 20px !important;
    line-height: 28px !important;
    font-family: 'Outfit', sans-serif;
    color: #FFF !important;
    font-weight: 300;
    margin-bottom: 40px !important;
}

.bottom-banner .kadence-blocks-form-warning {
    display: none !important;
}

.bottom-banner strong {

    font-weight: 500 !important;

}

.bottom-banner .wp-block-kadence-form.kb-form-wrap {
    display: flex;

    justify-content: center;
    flex-direction: column;
}

.bottom-banner h2 {
    font-weight: 500 !important;
    font-family: 'Grandstander', sans-serif;
    font-size: 48px !important;
    line-height: 48px !important;
    color: #F8F8F0 !important;
    text-transform: uppercase;
    margin-bottom: 1rem !important;
}

.bottom-banner h2 br {
    display: none !important;
}

@media (max-width: 768px) {
    .bottom-banner h2 br {
        display: block !important;
    }
}

@media (max-width: 1440px) {
    .banner-media .wp-block-media-text__content {
        width: unset !important;
    }

    .banner-media h2,
    .bottom-banner h2 {
        font-size: 32px !important;
        line-height: 36px !important;

    }

    .banner-media h2 {
        color: #003dff !important;
    }

    .banner-media P,
    .bottom-banner p {

        font-size: 16px !important;
        line-height: 20px !important;
    }
}

.bottom-banner form {
    position: relative;
    width: 515px !important;
    max-width: 515px !important;
    height: 50px !important;
    max-height: 50px !important;
    margin-top: 40px !important;
    margin: auto !important;
}

.bottom-banner .kadence-blocks-form-success {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    color: #FFB9E5 !important;
    border-radius: 10px !important;
    background: #0000009e !important;
}

@media (max-width: 768px) {
    .bottom-banner .kadence-blocks-form-success {
        left: auto;
        bottom: 237px;
    }
}

.bottom-banner input[type="email"] {
    position: relative;
    background-color: #FDDCF2 !important;
    border-radius: 15px !important;
    border: 0 !important;
    width: 360px !important;
    max-width: 360px !important;
    height: 100% !important;
    color: #003DFF !important;
    font-weight: 600 !important;
    padding: 15px !important;
}

.bottom-banner input[type="email"]::placeholder {
    font-family: 'Grandstander', sans-serif;
    font-weight: 500 !important;
    font-size: 16px !important;
    line-height: 19px !important;
    color: #003DFF !important;
}

.bottom-banner input[type="checkbox"] {
    width: 10px !important;
    height: 10px !important;
    margin: 0 !important;
    margin-top: 6px !important;
}

.bottom-banner .kb-accept-form-field label {
    text-align: left;
    font: normal normal normal 14px/18px 'Outfit';
    line-height: 18px !important;
    letter-spacing: 0px;
    color: #FDDCF2;
}

.bottom-banner input::placeholder {
    font-family: 'Grandstander', sans-serif;
    font-weight: 500 !important;
    font-size: 16px !important;
    line-height: 19px !important;
    color: #003DFF !important;

}

.bottom-banner button {
    position: absolute !important;
    right: 0;
    top: 0;
    padding: 0px !important;
    width: 216px !important;
    max-width: 216px !important;
    font-family: 'Grandstander', sans-serif;
    font-weight: 600 !important;
    font-size: 18px !important;
    line-height: 30px !important;
    letter-spacing: 0px !important;
    color: #FFB9E5 !important;
    background: #003DFF !important;
    border-radius: 15px !important;
    height: 100% !important;
    z-index: 6;
    display: flex !important;
    justify-content: center;
    align-items: center;
}

.kb-form .kadence-blocks-form-field {
    padding: unset !important;
    margin: 0 !important;
    height: 100% !important;
    z-index: 5;
}

.bottom-banner .kb-accept-form-field {
    margin-top: 11px !important;
}

@media (max-width: 768px) {
    .bottom-banner .wp-block-kadence-form.kb-form-wrap {
        margin-bottom: 0px !important;
    }

    .bottom-banner input[type="email"] {
        width: 100% !important;
    }

    .bottom-banner form {
        position: relative;
        width: 100% !important;
        max-width: unset !important;
        height: 50px !important;
        max-height: 50px !important;
        margin-top: 24px !important;
    }
}

@media (max-width: 1600px) {
    .wp-block-woocommerce-cart {
        padding-right: 32px !important;
    }
}


/*********************BANNER PPAL****************************/
#bicbCarousel-1 {
    padding: 0 !important;
}

.swiper {
    overflow: visible !important;
}

.swiper-pagination {
    bottom: -35px !important;
}

#bicbCarousel-1 .bicbCarousel .swiper-pagination .swiper-pagination-bullet,
#bicbCarousel-2 .bicbCarousel .swiper-pagination .swiper-pagination-bullet {
    background: transparent !important;
    margin: 0px 12px !important;
}

#bicbCarousel-1 .bicbCarousel .swiper-slide img,
#bicbCarousel-2 .bicbCarousel .swiper-slide img {
    border-radius: 0px !important;
}

#bicbCarousel-1 .bicbCarousel .swiper-pagination .swiper-pagination-bullet::before,
#bicbCarousel-2 .bicbCarousel .swiper-pagination .swiper-pagination-bullet::before {
    content: '';
    display: inline-block;
    width: 15px;
    height: 14px;

    /* Insertamos el SVG como una imagen de fondo */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.495' height='13.485' viewBox='0 0 14.495 13.485'%3E%3Cpath id='Trazado_236' data-name='Trazado 236' d='M7.9.35C7.992.178,8.116,0,8.276,0a.421.421,0,0,1,.456.231,1.29,1.29,0,0,1,.155.374,1.474,1.474,0,0,1,.044.217l.519,4.116c.052.248.2.345.492.347l3.569-.421q.086-.01.172-.013c.089,0,.177,0,.269,0,.642,0,.74.554.163,1.048L10.972,8.7a.463.463,0,0,0-.179.574l1.229,2.976a1.494,1.494,0,0,1,.1.376c.1.737-.428,1.192-1.412.571L7.673,11.46h0a.6.6,0,0,0-.6.008h0l-3.882,1.9c-.452.227-.922.01-.79-.583h0L3.8,8.881c.1-.271-.025-.4-.194-.569h0L.345,5.193c-.552-.485-.433-1.039.3-.959l4.607.458h0A.46.46,0,0,0,5.7,4.416a.592.592,0,0,0,.032-.053Z' transform='translate(0 0)' fill='%23003DFF'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    /* Ajusta el tamaño del SVG para que quepa en la caja */
    margin-bottom: 4px;
    margin-right: 8px;
    vertical-align: middle;
    /* Opcional: para alinear el icono verticalmente con el texto */
}

#bicbCarousel-1 .bicbCarousel,
#bicbCarousel .bicbCarousel {
    padding: 0 !important;

}

#bicbCarousel-1 .bicbCarousel .swiper-button-next,
#bicbCarousel .bicbCarousel .swiper-button-next {
    margin-right: 40px !important;
}

#bicbCarousel-1 .bicbCarousel .swiper-button-prev,
#bicbCarousel .bicbCarousel .swiper-button-prev {
    margin-left: 40px !important;
}

#bicbCarousel-1 .bicbCarousel .swiper-button-next,
#bicbCarousel .bicbCarousel .swiper-button-next,
#bicbCarousel-1 .bicbCarousel .swiper-button-prev,
#bicbCarousel .bicbCarousel .swiper-button-next,
#bicbCarousel .bicbCarousel .swiper-button-prev {
    display: none;
}

#bicbCarousel-1 .bicbCarousel:hover .swiper-button-next,
#bicbCarousel .bicbCarousel:hover .swiper-button-next,
#bicbCarousel-1 .bicbCarousel:hover .swiper-button-prev,
#bicbCarousel .bicbCarousel:hover .swiper-button-next,
#bicbCarousel .bicbCarousel:hover .swiper-button-prev {
    display: block;
    ;
}

.swiper-button-prev.swiper-button-disabled,
#bicbCarousel .swiper-button-prev.swiper-button-disabled {
    opacity: 0 !important;
}

#bicbCarousel-2 .bicbCarousel {
    display: none !important;
}

#bicbCarousel-1 .bicbCarousel {
    display: block !important;
}

@media (max-width: 768px) {

    #bicbCarousel-1 .bicbCarousel .swiper-button-next,
    #bicbCarousel .bicbCarousel .swiper-button-next,
    #bicbCarousel-1 .bicbCarousel .swiper-button-prev,
    #bicbCarousel .bicbCarousel .swiper-button-prev {
        display: block !important;
        opacity: 1 !important;
        width: 34px !important;
        height: 34px !important;
        margin: 0 !important;
    }

    .kb-form .kadence-blocks-form-field {
        justify-content: center !important;
    }

    #bicbCarousel-2 {
        padding: 0 !important;
    }

    #bicbCarousel-2 .bicbCarousel {
        display: block !important;
        padding: 0px 0px !important;
        height: auto !important;
    }

    #bicbCarousel-1 .bicbCarousel {
        display: none !important;
    }
}

.swiper-slide figure {
    overflow: hidden;
}


.home .sub-categories {
    margin-bottom: 72px !important;
}

@media (max-width: 768px) {
    .home .sub-categories {
        margin-bottom: 40px !important;
    }
}


/**SUBCATEGORIAS*/

.sub-categories .kt-inside-inner-col {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 322.25px !important;
}

.sub-categories .kt-row-column-wrap {
    padding: 0 !important;
    gap: 24px !important;
}

.sub-categories .kb-row-layout-wrap .kt-row-column-wrap {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    /* 4 columnas de 25% */
    gap: 24px !important;
    margin-bottom: 24px !important;
    min-height: unset !important;
    overflow: hidden;
}

.sub-categories .second-row-grid.kb-row-layout-wrap .kt-row-column-wrap {

    margin-bottom: 0px !important;

}

/* PRIMERA FILA: 25% | 25% | 50% */
.sub-categories .kb-row-layout-wrap:nth-of-type(1) .kt-row-column-wrap .wp-block-kadence-column:nth-child(1) {
    grid-column: span 1;
}

.sub-categories .kb-row-layout-wrap:nth-of-type(1) .kt-row-column-wrap .wp-block-kadence-column:nth-child(2) {
    grid-column: span 1;
}

.sub-categories .kb-row-layout-wrap:nth-of-type(1) .kt-row-column-wrap .wp-block-kadence-column:nth-child(3) {
    grid-column: span 2;
}

/* SEGUNDA FILA: 50% | 25% | 25% */
.sub-categories .kb-row-layout-wrap:nth-of-type(2) .kt-row-column-wrap .wp-block-kadence-column:nth-child(1) {
    grid-column: span 2;
}

.sub-categories .kb-row-layout-wrap:nth-of-type(2) .kt-row-column-wrap .wp-block-kadence-column:nth-child(2) {
    grid-column: span 1;
}

.sub-categories .kb-row-layout-wrap:nth-of-type(2) .kt-row-column-wrap .wp-block-kadence-column:nth-child(3) {
    grid-column: span 1;
}

.bottom-banner.wp-block-cover .wp-block-cover__inner-container {
    padding: 2.617924em 1em;
    width: calc(100vw - 1em);
    max-width: calc(100vw - 1em);
}



.featured-product-section .wp-block-heading,
.sub-categories h2,
.product-section .wp-block-heading,
.blog-home-container .categories-title {
    font-family: 'Grandstander', sans-serif;
    font-weight: 600 !important;
    font-size: 40px;
    line-height: 48px;
    margin-bottom: 24px;
    text-transform: uppercase;
}

.sub-categories .kt-inside-inner-col .wp-block-buttons {
    position: absolute;
    top: calc(50% - 17px);
    width: 100%;
    align-items: center;
    justify-content: center;


}

.hentry .entry-content .wp-block-button {
    margin-bottom: 0px !important;
}

.sub-categories .kt-inside-inner-col .wp-block-buttons a {
    height: 34px !important;
    font-family: 'Grandstander', sans-serif;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.3px !important;
    padding-top: 12px !important;
    border-radius: 8px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

}

.sub-categories .wp-block-kadence-column {
    height: 100% !important;
    width: 100% !important;
}

.sub-categories .kt-inside-inner-col {
    height: 100% !important;
    max-height: unset !important;
}

.sub-categories .kt-inside-inner-col figure {
    width: 100% !important;
    height: 100% !important;
    margin-bottom: 0px !important;
}

.sub-categories .kt-inside-inner-col img {
    border-radius: 0px !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* MOBILE: Columnas pequeñas mitad y mitad, grandes 100% */
@media (max-width: 768px) {
    .sub-categories .kb-row-layout-wrap .kt-row-column-wrap {
        grid-template-columns: 1fr 1fr !important;
        /* Solo 2 columnas para mobile */
        margin-bottom: 0px !important;
        /* Separación vertical entre filas */
    }

    /* PRIMERA FILA MOBILE: 50% | 50% | 100% */
    .sub-categories .kb-row-layout-wrap:nth-of-type(1) .kt-row-column-wrap .wp-block-kadence-column:nth-child(1) {
        grid-column: span 1;
        /* 50% */
    }

    .sub-categories .kb-row-layout-wrap:nth-of-type(1) .kt-row-column-wrap .wp-block-kadence-column:nth-child(2) {
        grid-column: span 1;
        /* 50% */
    }

    .sub-categories .kb-row-layout-wrap:nth-of-type(1) .kt-row-column-wrap .wp-block-kadence-column:nth-child(3) {
        grid-column: 1 / -1;
        /* 100% - ocupa toda la fila */
    }

    /* SEGUNDA FILA MOBILE: 100% | 50% | 50% */
    .sub-categories .kb-row-layout-wrap:nth-of-type(2) .kt-row-column-wrap .wp-block-kadence-column:nth-child(1) {
        grid-column: 1 / -1;
        /* 100% - ocupa toda la fila */
        order: 2;
    }

    .sub-categories .kb-row-layout-wrap:nth-of-type(2) .kt-row-column-wrap .wp-block-kadence-column:nth-child(2) {
        grid-column: span 1;
        /* 50% */
    }

    .sub-categories .kb-row-layout-wrap:nth-of-type(2) .kt-row-column-wrap .wp-block-kadence-column:nth-child(3) {
        grid-column: span 1;
        /* 50% */
    }

    .sub-categories .wp-block-kadence-column {
        height: unset !important;
        margin-bottom: 0px !important;
    }

    .sub-categories .wp-block-kadence-column figure {
        margin-bottom: 0px !important;
    }

    .featured-product-section h2,
    .sub-categories h2,
    .product-section .wp-block-heading,
    .blog-home-container .categories-title {
        font-family: 'Grandstander', sans-serif;
        font-size: 27px !important;
        line-height: 27px !important;
        font-weight: 600 !important;
        margin-bottom: 24px !important;
        margin-top: 0px !important;
    }

    .top-bar {
        font-size: 12px !important;
    }

    .top-bar>div {
        padding-top: 4px;
        padding-bottom: 4px;
    }

    .top-bar br {
        display: block !important;
    }

    .categories-page+.storefront-breadcrumb {
        margin-bottom: 32px !important;
    }

    .sub-categories .kb-row-layout-wrap .kt-row-column-wrap {
        gap: 8px !important;
    }

    .sub-categories .kb-row-layout-wrap:nth-of-type(1) .kt-row-column-wrap {
        margin-bottom: 8px !important;
    }

    .sub-categories .kt-inside-inner-col {
        max-height: unset !important;
        height: auto !important;
    }

    .sub-categories .kt-inside-inner-col figure {
        height: auto !important;
    }

    .sub-categories .kt-inside-inner-col img {
        height: auto !important;
        object-fit: unset !important;
    }

    .sub-categories .wp-block-kadence-column {
        height: auto !important;
    }

    .sub-categories .kt-inside-inner-col .wp-block-buttons {
        top: 50%;
        transform: translateY(-50%);
    }

    .sub-categories .kt-inside-inner-col .wp-block-buttons a {
        height: auto !important;
        padding: 6px 10px !important;
        border-radius: 6px !important;
        line-height: 1.2 !important;
    }

}

/*BOTONES DE COLORES PARA SUBCAT*/
/*PRIMERA FILA*/
.sub-categories .kb-row-layout-wrap:nth-of-type(1) .wp-block-kadence-column:nth-child(1) .kt-inside-inner-col .wp-block-buttons a {
    background: #36CE77 0% 0% no-repeat padding-box !important;
    color: #003DFF !important;
    transition: all .4s ease-in-out;
}

.sub-categories .kb-row-layout-wrap:nth-of-type(1) .wp-block-kadence-column:nth-child(1) .kt-inside-inner-col .wp-block-buttons a:hover,
.sub-categories .kb-row-layout-wrap:nth-of-type(1) .wp-block-kadence-column:nth-child(1) .kt-inside-inner-col .wp-block-buttons a:focus {
    background: #FFD62C 0% 0% no-repeat padding-box !important;
    transition: all .4s ease-in-out;
}

.sub-categories .kb-row-layout-wrap:nth-of-type(1) .wp-block-kadence-column:nth-child(2) .kt-inside-inner-col .wp-block-buttons a {
    background: #F2462A 0% 0% no-repeat padding-box !important;
    color: #FFB9E5 !important;
    transition: all .4s ease-in-out;
}

.sub-categories .kb-row-layout-wrap:nth-of-type(1) .wp-block-kadence-column:nth-child(2) .kt-inside-inner-col .wp-block-buttons a:hover,
.sub-categories .kb-row-layout-wrap:nth-of-type(1) .wp-block-kadence-column:nth-child(2) .kt-inside-inner-col .wp-block-buttons a:focus {
    background: #FFB9E5 0% 0% no-repeat padding-box !important;
    color: #F2462A !important;
    transition: all .4s ease-in-out;
}

.sub-categories .kb-row-layout-wrap:nth-of-type(1) .wp-block-kadence-column:nth-child(3) .kt-inside-inner-col .wp-block-buttons a {
    background: #003DFF 0% 0% no-repeat padding-box !important;
    color: #FFD62C !important;
    transition: all .4s ease-in-out;
}

.sub-categories .kb-row-layout-wrap:nth-of-type(1) .wp-block-kadence-column:nth-child(3) .kt-inside-inner-col .wp-block-buttons a:hover,
.sub-categories .kb-row-layout-wrap:nth-of-type(1) .wp-block-kadence-column:nth-child(3) .kt-inside-inner-col .wp-block-buttons a:focus {
    background: #36CE77 0% 0% no-repeat padding-box !important;
    color: #003DFF !important;
    transition: all .4s ease-in-out;
}

@media (max-width: 425px) {

    .sub-categories .kb-row-layout-wrap:nth-of-type(1) .wp-block-kadence-column:nth-child(2) .kt-inside-inner-col .wp-block-buttons a {
        max-width: 100px;
    }

}

/*SEGUNDA FILA*/
.sub-categories .kb-row-layout-wrap:nth-of-type(2) .wp-block-kadence-column:nth-child(1) .kt-inside-inner-col .wp-block-buttons a {
    background: #FFD62C 0% 0% no-repeat padding-box !important;
    color: #003DFF !important;
    transition: all .4s ease-in-out;
}

.sub-categories .kb-row-layout-wrap:nth-of-type(2) .wp-block-kadence-column:nth-child(1) .kt-inside-inner-col .wp-block-buttons a:hover,
.sub-categories .kb-row-layout-wrap:nth-of-type(2) .wp-block-kadence-column:nth-child(1) .kt-inside-inner-col .wp-block-buttons a:focus {
    background: #003DFF 0% 0% no-repeat padding-box !important;
    color: #FFD62C !important;
    transition: all .4s ease-in-out;
}

.sub-categories .kb-row-layout-wrap:nth-of-type(2) .wp-block-kadence-column:nth-child(2) .kt-inside-inner-col .wp-block-buttons a {
    background: #FFB9E5 0% 0% no-repeat padding-box !important;
    color: #F2462A !important;
    transition: all .4s ease-in-out;
}

.sub-categories .kb-row-layout-wrap:nth-of-type(2) .wp-block-kadence-column:nth-child(2) .kt-inside-inner-col .wp-block-buttons a:hover,
.sub-categories .kb-row-layout-wrap:nth-of-type(2) .wp-block-kadence-column:nth-child(2) .kt-inside-inner-col .wp-block-buttons a:focus {
    background: #F2462A 0% 0% no-repeat padding-box !important;
    color: #FFB9E5 !important;
    transition: all .4s ease-in-out;
}

.sub-categories .kb-row-layout-wrap:nth-of-type(2) .wp-block-kadence-column:nth-child(3) .kt-inside-inner-col .wp-block-buttons a {
    background: #36CE77 0% 0% no-repeat padding-box !important;
    color: #003DFF !important;
    transition: all .4s ease-in-out;
}

.sub-categories .kb-row-layout-wrap:nth-of-type(2) .wp-block-kadence-column:nth-child(3) .kt-inside-inner-col .wp-block-buttons a:hover,
.sub-categories .kb-row-layout-wrap:nth-of-type(2) .wp-block-kadence-column:nth-child(3) .kt-inside-inner-col .wp-block-buttons a:focus {
    background: #003DFF 0% 0% no-repeat padding-box !important;
    color: #FFD62C !important;
    transition: all .4s ease-in-out;
}

/*************************/


.item-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    opacity: 0;
    transition: opacity 0.3s ease;
    text-align: center;
}

.subcategory-grid-item:hover .item-overlay {
    opacity: 1;
}

.category-name {
    color: white;
    font-size: 1.8em;
    font-weight: bold;
    margin-bottom: 15px;
}

.category-button {
    background-color: #3b82f6;
    color: white;
    padding: 12px 24px;
    border-radius: 5px;
    text-decoration: none;
    font-size: 1em;
    font-weight: 600;
    text-transform: uppercase;
    transition: background-color 0.3s ease;
}

.category-button:hover {
    background-color: #f7553b;
}

/*
 * Estilos para el título "SUBCATEGORÍAS"
 */
.subcategories-title {
    font-size: 1.5em;
    font-weight: bold;
    color: #f7553b;
    text-transform: uppercase;
    margin-bottom: 25px;
    padding-left: 20px;
}

.subcategories-title::before {
    content: '⭐';
    margin-right: 10px;
    font-size: 1.2em;
    color: #f7553b;
}



/*****BANNER VENTAS********************************************/
.banner-ventas {
    margin-top: 72px !important;
    margin-right: 0px !important;
    margin-left: 0px !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}

.banner-ventas .kt-inside-inner-col {
    display: flex;
    justify-content: center;
    align-items: center;
}

.banner-ventas .kt-inside-inner-col h3 {
    font-family: 'Outfit', sans-serif;
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 500 !important;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
    color: #F8F8F0 !important;
}



.banner-ventas .kt-inside-inner-col p {
    font-family: 'Outfit', sans-serif;
    font-size: 14px !important;
    line-height: 22px !important;
    font-weight: 300 !important;
    color: #F8F8F0 !important;
    margin-bottom: 0px !important;
}

@media (max-width: 768px) {
    .banner-ventas {
        padding: 32px 0px !important;
    }

    .banner-ventas .page-width {
        padding: 0px !important;
    }

    .banner-ventas .kt-row-column-wrap {
        gap: 24px 16px !important;
        padding: 12px 10px !important;
    }

    .banner-ventas .kt-inside-inner-col p {
        line-height: 20px !important;
    }

    .banner-ventas .kt-inside-inner-col h3 {
        margin-bottom: 4px !important;
    }
}

/**BLOG SECTION****/
.blog-section {
    margin-top: 72px !important;
    margin-bottom: 72px !important;
}

.blog-section figure {
    margin-bottom: 0px !important;
    overflow: hidden;
}

.blog-section img {
    border-radius: 0px !important;
    width: 100% !important;
    transition: all .4s ease-in-out;
}

.blog-section figure:hover img {
    transform: scale(1.05);
    transition: all .4s ease-in-out;
}

.blog-section .blog-box {
    background-color: #F2462A !important;
    padding-top: 53px !important;
    padding-left: 35px !important;
    padding-right: 24px !important;
    padding-bottom: 24px !important;

}

.blog-section .blog-box h4 {
    color: #FFB9E5 !important;
    font-family: 'Grandstander', sans-serif;
    font-size: 40px !important;
    line-height: 42px !important;
    font-weight: 600 !important;
    margin-bottom: 18px !important;

}

.blog-section .blog-box h4::before {
    content: '';
    display: inline-block;
    width: 26px;
    height: 24px;
    margin-bottom: 4px;
    /* Insertamos el SVG como una imagen de fondo */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.495' height='13.485' viewBox='0 0 14.495 13.485'%3E%3Cpath id='Trazado_236' data-name='Trazado 236' d='M7.9.35C7.992.178,8.116,0,8.276,0a.421.421,0,0,1,.456.231,1.29,1.29,0,0,1,.155.374,1.474,1.474,0,0,1,.044.217l.519,4.116c.052.248.2.345.492.347l3.569-.421q.086-.01.172-.013c.089,0,.177,0,.269,0,.642,0,.74.554.163,1.048L10.972,8.7a.463.463,0,0,0-.179.574l1.229,2.976a1.494,1.494,0,0,1,.1.376c.1.737-.428,1.192-1.412.571L7.673,11.46h0a.6.6,0,0,0-.6.008h0l-3.882,1.9c-.452.227-.922.01-.79-.583h0L3.8,8.881c.1-.271-.025-.4-.194-.569h0L.345,5.193c-.552-.485-.433-1.039.3-.959l4.607.458h0A.46.46,0,0,0,5.7,4.416a.592.592,0,0,0,.032-.053Z' transform='translate(0 0)' fill='%23FFB9E5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    /* Ajusta el tamaño del SVG para que quepa en la caja */

    margin-right: 8px;
    vertical-align: middle;
    /* Opcional: para alinear el icono verticalmente con el texto */
}

.blog-section .blog-box p {
    color: #FFB9E5 !important;
    font-family: 'Outfit', sans-serif;
    font-size: 26px !important;
    line-height: 30px !important;
    font-weight: 400 !important;
    padding: 0 !important;

}

.blog-section .blog-box svg {
    align-self: end !important;
}

.blog-section .blog-box>div {
    display: flex !important;
    flex-grow: 1 !important;
    justify-content: space-between;

}

.blog-section .wp-block-kadence-column {
    background-color: white;
}

.blog-section .wp-block-kadence-column p {
    margin: 0;
    padding: 16px;
    font: normal normal 500 20px/28px 'Outfit';
    letter-spacing: 0px;
    color: #0E0E1D;
}


/* BLOG LAYOUT */
.blog-layout {
    display: flex;
    gap: 24px;
    margin-top: 40px;
    margin-bottom: 70px;
}

.blog-main {
    flex: 1;
    min-width: 0;
    border-right: 2px solid #0E0E1D33;
    padding-right: 24px;
}

.blog-sidebar {
    width: 300px;
    flex-shrink: 0;
}

/* SIDEBAR WIDGETS */


.widget-title {
    font: normal normal 600 20px/28px Outfit !important;
    letter-spacing: 0px;
    color: #F2462A !important;
}

/* SEARCH WIDGET */
.search-input-group {
    display: flex;
    position: relative;
}

.search-field {
    flex: 1;
    padding: 11px 15px !important;
    border: 1px solid #0E0E1D !important;
    border-radius: 10px !important;
    font-family: 'Outfit', sans-serif;
    font-size: 14px !important;
    line-height: 14px !important;
    outline: none;
    transition: border-color 0.3s ease;
}

.search-field:focus {
    border-color: rgb(0, 32, 136) !important;
}

.search-submit {
    background: #003DFF !important;
    border-radius: 15px;
    border: none;
    padding: 0 !important;
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 0;
}


/* CATEGORIES WIDGET */
.categories-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.category-item {
    margin-bottom: 10px;
}

.blog-home-container .blog-sidebar .category-link {
    align-items: baseline !important;
    text-decoration: none;

}



.category-link i {
    margin-right: 8px;
    color: #F2462A;
}

.blog-home-container .category-name {
    flex: 1;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 500;
    font: normal normal 600 16px/24px Outfit !important;
    letter-spacing: 0px !important;
    color: #0E0E1D !important;
}

.blog-home-container .blog-sidebar .category-name span {
    font: normal normal medium 16px/24px Outfit !important;
    letter-spacing: 0px !important;
    color: #0E0E1D !important;
}

.blog-home-container .blog-sidebar form div[data-type="checkbox"] {
    font: normal normal normal 14px/18px Outfit !important;
    letter-spacing: 0px !important;
    color: #FDDCF2 !important;
    align-items: baseline !important;
    order: 1 !important;
}

.blog-home-container .blog-sidebar form .kadence-blocks-form-field.kb-form-field-1.kb-field-desk-width-100.kb-input-size-standard {
    order: 1 !important;
}

.category-count {
    background: #F2462A;
    color: white;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}


/* RECENT POSTS WIDGET */
.recent-posts-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.recent-post-item {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e0e0e0;
}

.recent-post-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.recent-post-link {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: #333;
    transition: color 0.3s ease;
}

.recent-post-link:hover {
    color: #F2462A;
}

.recent-post-thumbnail {
    width: 60px;
    height: 60px;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
}

.recent-post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.recent-post-content {
    flex: 1;
    min-width: 0;
}

.recent-post-title {
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 5px 0;
    color: inherit;
}

.recent-post-date {
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    color: #666;
}

/* RESPONSIVE DESIGN */
@media (max-width: 768px) {
    .blog-layout {
        flex-direction: column;
        gap: 20px;
    }

    .blog-sidebar {
        width: 100%;
    }

    .sidebar-widget {
        margin-bottom: 20px;
    }
}

/* LOADING STATES */
.loading {
    text-align: center;
    padding: 40px;
    font-family: 'Outfit', sans-serif;
    color: #666;
}

.error {
    text-align: center;
    padding: 40px;
    font-family: 'Outfit', sans-serif;
    color: #d63a22;
    background: #ffe6e6;
    border-radius: 6px;
}

/*LEGALES*/
.paginas-legales main {
    /* max-width: 1470px !important; */
    /* margin: 0 auto !important; */
    padding: 48px 0px !important;
    margin: 0 auto !important;
    color: #0E0E1D !important;

}

@media (max-width: 768px) {
    .paginas-legales main {
        max-width: 100% !important;
    }

    .paginas-legales h2 {
        font-size: 27px !important;
        line-height: 32px !important;
    }

    .paginas-legales h3 {
        font-size: 20px !important;
        line-height: 30px !important;
    }

    .paginas-legales p {
        line-height: 26px !important;
    }
}

.paginas-legales h1,
.paginas-legales.cart-page h1 {
    font: normal normal 600 56px 'Grandstander' !important;
    line-height: 66px !important;
    letter-spacing: 0px !important;
    color: #F2462A !important;
}

.paginas-legales h2 {
    font: normal normal 600 40px/48px 'Grandstander';
    letter-spacing: 0px;
    color: #F2462A;
    margin-top: 0px !important;
}

.paginas-legales h3 {
    font: normal normal 600 30px/36px Grandstander;
    letter-spacing: 0px;
    color: #0E0E1D;
    margin-top: 0px !important;
}

.paginas-legales p {
    color: #0E0E1D;
    font: normal normal normal 16px/22px Outfit;
    line-height: 22px;
    letter-spacing: 0px;
}

.paginas-legales .wp-block-group {
    margin-bottom: 40px;
}

.paginas-legales .wp-block-group:last-child {
    margin-bottom: 0px;
}

.paginas-legales .wp-block-group table {
    min-width: 750px;
    border: 1px solid #0E0E1D;
}

.paginas-legales .wp-block-group table td {
    background-color: transparent !important;
}

.paginas-legales .wp-block-group table tr {

    border: 1px solid #0E0E1D;
}

@media (max-width: 768px) {
    .paginas-legales .wp-block-group table tr td {

        padding: 1px !important;
    }
}


.paginas-legales .wp-block-group h3 {
    margin-bottom: 24px;
}

.paginas-legales.faq-page h3 {
    font-size: 24px !important;
}

.paginas-legales.faq-page p+h2 {
    margin-top: 72px !important;
}

.paginas-legales.faq-page p+h3 {
    margin-top: 40px !important;
}

@media (max-width: 768px) {
    .paginas-legales.faq-page p+h2 {
        margin-top: 40px !important;
    }
}

/**CATEGORIES PAGE***/
.section-container {
    margin-top: 8px !important;
    padding: 0 0 !important;
}

@media (max-width: 1900px) {
    .section-container {
        padding: 0 32px !important;
    }

}

.categories-page h1 {
    font: 64px/66px Grandstander !important;
    font-weight: 500 !important;
    letter-spacing: 0px;
    color: #F8F8F0 !important;
    padding-top: 262px !important;
    padding-bottom: 0px !important;
    margin-bottom: 0px !important;
    text-transform: uppercase !important;

}

.categories-page h1::before {
    content: '';
    display: inline-block;
    /* O 'block' si quieres que ocupe todo el ancho */
    width: 48px !important;
    /* Le damos el ancho original del SVG */
    height: 44px !important;
    /* Le damos el alto original del SVG */
    margin-right: 10px !important;
    /* Insertamos el SVG como una imagen de fondo */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='105' height='99' viewBox='0 0 14.495 13.485'%3E%3Cpath id='Trazado_236' data-name='Trazado 236' d='M7.9.35C7.992.178,8.116,0,8.276,0a.421.421,0,0,1,.456.231,1.29,1.29,0,0,1,.155.374,1.474,1.474,0,0,1,.044.217l.519,4.116c.052.248.2.345.492.347l3.569-.421q.086-.01.172-.013c.089,0,.177,0,.269,0,.642,0,.74.554.163,1.048L10.972,8.7a.463.463,0,0,0-.179.574l1.229,2.976a1.494,1.494,0,0,1,.1.376c.1.737-.428,1.192-1.412.571L7.673,11.46h0a.6.6,0,0,0-.6.008h0l-3.882,1.9c-.452.227-.922.01-.79-.583h0L3.8,8.881c.1-.271-.025-.4-.194-.569h0L.345,5.193c-.552-.485-.433-1.039.3-.959l4.607.458h0A.46.46,0,0,0,5.7,4.416a.592.592,0,0,0,.032-.053Z' transform='translate(0 0)' fill='%23F8F8F0'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    /* Ajusta el tamaño del SVG para que quepa en la caja */
    margin-bottom: 4px;
}

.categories-page .sub-categories h2::before {
    content: '';
    /* Se necesita para que el pseudo-elemento se muestre */
    display: inline-block;
    /* O 'block' si quieres que ocupe todo el ancho */
    width: 27px;
    height: 25px;

    background-repeat: no-repeat;
    background-size: contain;
    /* Ajusta el tamaño del SVG para que quepa en la caja */

    margin-right: 8px;
    vertical-align: middle;
    /* Opcional: para alinear el icono verticalmente con el texto */
}

.categories-page~.sub-categories h2:nth-of-type(1) {
    margin-top: 72px;
}

.categories-page+.sub-categories h2:nth-of-type(3n+1) {
    color: #F2462A !important;
}

.sub-categories h2:nth-of-type(3n+1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.495' height='13.485' viewBox='0 0 14.495 13.485'%3E%3Cpath id='Trazado_236' data-name='Trazado 236' d='M7.9.35C7.992.178,8.116,0,8.276,0a.421.421,0,0,1,.456.231,1.29,1.29,0,0,1,.155.374,1.474,1.474,0,0,1,.044.217l.519,4.116c.052.248.2.345.492.347l3.569-.421q.086-.01.172-.013c.089,0,.177,0,.269,0,.642,0,.74.554.163,1.048L10.972,8.7a.463.463,0,0,0-.179.574l1.229,2.976a1.494,1.494,0,0,1,.1.376c.1.737-.428,1.192-1.412.571L7.673,11.46h0a.6.6,0,0,0-.6.008h0l-3.882,1.9c-.452.227-.922.01-.79-.583h0L3.8,8.881c.1-.271-.025-.4-.194-.569h0L.345,5.193c-.552-.485-.433-1.039.3-.959l4.607.458h0A.46.46,0,0,0,5.7,4.416a.592.592,0,0,0,.032-.053Z' transform='translate(0 0)' fill='%23F2462A'/%3E%3C/svg%3E");
    margin-bottom: 4px !important;
}

.sub-categories h2:nth-of-type(3n+2) {
    color: #003DFF !important;
}

.sub-categories h2:nth-of-type(3n+2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.495' height='13.485' viewBox='0 0 14.495 13.485'%3E%3Cpath id='Trazado_236' data-name='Trazado 236' d='M7.9.35C7.992.178,8.116,0,8.276,0a.421.421,0,0,1,.456.231,1.29,1.29,0,0,1,.155.374,1.474,1.474,0,0,1,.044.217l.519,4.116c.052.248.2.345.492.347l3.569-.421q.086-.01.172-.013c.089,0,.177,0,.269,0,.642,0,.74.554.163,1.048L10.972,8.7a.463.463,0,0,0-.179.574l1.229,2.976a1.494,1.494,0,0,1,.1.376c.1.737-.428,1.192-1.412.571L7.673,11.46h0a.6.6,0,0,0-.6.008h0l-3.882,1.9c-.452.227-.922.01-.79-.583h0L3.8,8.881c.1-.271-.025-.4-.194-.569h0L.345,5.193c-.552-.485-.433-1.039.3-.959l4.607.458h0A.46.46,0,0,0,5.7,4.416a.592.592,0,0,0,.032-.053Z' transform='translate(0 0)' fill='%23003DFF'/%3E%3C/svg%3E");
    margin-bottom: 4px !important;
}

@media (max-width: 768px) {
    .sub-categories h2:nth-of-type(1) {
        margin-top: 40px !important;
    }

    .sub-categories.home h2:nth-of-type(1) {
        margin-top: 0px !important;
    }
}

.sub-categories h2:nth-of-type(3n+2)+.custom-product-carousel-swiper .swiper-scrollbar-horizontal {
    background: rgba(0, 60, 255, 0.3) !important;
}

.sub-categories h2:nth-of-type(3n+2)+.custom-product-carousel-swiper .swiper-scrollbar-horizontal .swiper-scrollbar-drag {
    background: #003DFF !important;
}

.sub-categories h2:nth-of-type(3n+3) {
    color: #36CE77 !important;
}

.sub-categories h2:nth-of-type(3n+3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.495' height='13.485' viewBox='0 0 14.495 13.485'%3E%3Cpath id='Trazado_236' data-name='Trazado 236' d='M7.9.35C7.992.178,8.116,0,8.276,0a.421.421,0,0,1,.456.231,1.29,1.29,0,0,1,.155.374,1.474,1.474,0,0,1,.044.217l.519,4.116c.052.248.2.345.492.347l3.569-.421q.086-.01.172-.013c.089,0,.177,0,.269,0,.642,0,.74.554.163,1.048L10.972,8.7a.463.463,0,0,0-.179.574l1.229,2.976a1.494,1.494,0,0,1,.1.376c.1.737-.428,1.192-1.412.571L7.673,11.46h0a.6.6,0,0,0-.6.008h0l-3.882,1.9c-.452.227-.922.01-.79-.583h0L3.8,8.881c.1-.271-.025-.4-.194-.569h0L.345,5.193c-.552-.485-.433-1.039.3-.959l4.607.458h0A.46.46,0,0,0,5.7,4.416a.592.592,0,0,0,.032-.053Z' transform='translate(0 0)' fill='%2336CE77'/%3E%3C/svg%3E");
    margin-bottom: 4px !important;
}

.sub-categories h2:nth-of-type(3n+3)+.custom-product-carousel-swiper .swiper-scrollbar-horizontal {
    background: rgba(54, 206, 120, 0.3) !important;
}

.sub-categories h2:nth-of-type(3n+3)+.custom-product-carousel-swiper .swiper-scrollbar-horizontal .swiper-scrollbar-drag {
    background: #36CE77 !important;
}

.sub-categories h2:nth-of-type(3n+1)+.custom-product-carousel-swiper .swiper-scrollbar-horizontal {
    background: rgba(242, 70, 42, 0.3) !important;
}

.sub-categories h2:nth-of-type(3n+1)+.custom-product-carousel-swiper .swiper-scrollbar-horizontal .swiper-scrollbar-drag {
    background: #F2462A !important;
}

.categories-page .product-section .wp-block-heading {
    color: #F2462A !important;
}

.categories-page .product-section .wp-block-heading::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.495' height='13.485' viewBox='0 0 14.495 13.485'%3E%3Cpath id='Trazado_236' data-name='Trazado 236' d='M7.9.35C7.992.178,8.116,0,8.276,0a.421.421,0,0,1,.456.231,1.29,1.29,0,0,1,.155.374,1.474,1.474,0,0,1,.044.217l.519,4.116c.052.248.2.345.492.347l3.569-.421q.086-.01.172-.013c.089,0,.177,0,.269,0,.642,0,.74.554.163,1.048L10.972,8.7a.463.463,0,0,0-.179.574l1.229,2.976a1.494,1.494,0,0,1,.1.376c.1.737-.428,1.192-1.412.571L7.673,11.46h0a.6.6,0,0,0-.6.008h0l-3.882,1.9c-.452.227-.922.01-.79-.583h0L3.8,8.881c.1-.271-.025-.4-.194-.569h0L.345,5.193c-.552-.485-.433-1.039.3-.959l4.607.458h0A.46.46,0,0,0,5.7,4.416a.592.592,0,0,0,.032-.053Z' transform='translate(0 0)' fill='%23F2462A'/%3E%3C/svg%3E");
    content: '';
    /* Se necesita para que el pseudo-elemento se muestre */
    display: inline-block;
    /* O 'block' si quieres que ocupe todo el ancho */
    width: 27px;
    height: 25px;

    /* Insertamos el SVG como una imagen de fondo */

    background-repeat: no-repeat;
    background-size: contain;
    /* Ajusta el tamaño del SVG para que quepa en la caja */
    margin-bottom: 4px;
    margin-right: 8px;
    vertical-align: middle;
    /* Opcional: para alinear el icono verticalmente con el texto */
}

.categories-page .product-section .custom-product-carousel-swiper .swiper-scrollbar-drag {
    background: #F2462A !important;
}

.swiper-wrapper {
    padding-bottom: 0px !important;
}

@media (max-width: 768px) {
    .swiper-wrapper li.wc-block-product-categories-list-item {
        width: 150px;
    }
}

.swiper-wrapper li.wc-block-product-categories-list-item a {
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #333;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.categories-swiper img {
    border-radius: 100% !important;
}

.categories-swiper .wc-block-product-categories-list-item__name {
    padding-top: 15px !important;
}

.categories-swiper .swiper-wrapper {
    margin-left: 0px !important;
}

/* Categories swiper: imagen ocupa el 75% del ancho de columna, máx 200px */
.categories-swiper .swiper-slide .parent-cat-image {
    width: 75% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    max-width: 200px !important;
}


.categories-page .sub-categories:nth-child(2) .categories-swiper .swiper-scrollbar-drag {
    background: #F2462A !important;

}

.categories-page .sub-categories:nth-child(3) .categories-swiper .swiper-scrollbar-drag {
    background: #003DFF !important;

}

.categories-page .sub-categories:nth-child(4) .categories-swiper .swiper-scrollbar-drag {
    background: #36CE77 !important;

}

/***PRODUCTS PAGE********************************************/


.custom-product-page {
    background-color: #F8F8F0 !important;
    width: 100% !important;
    padding-top: 72px !important;
}

.custom-product-page .product-main-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 72px !important;
}

.custom-product-page .summary.entry-summary {
    width: 100% !important;
    margin-bottom: 0 !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.custom-product-page .summary.entry-summary .product-description {
    position: relative;
    transition: max-height 0.2s ease;
    overflow: hidden;
}

@media (max-width: 768px) {
    .custom-product-page .product-main-content {
        margin-bottom: 40px !important;
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

@media (min-width: 1024px) {
    .custom-product-page .summary.entry-summary .product-description {
        max-height: 110px;
    }
}

.custom-product-page .summary.entry-summary .product-description.expanded {
    /* Overflow handled via JavaScript after transition */
}

.custom-product-page .product-description-toggle {
    display: none;
    margin-top: 12px;
    align-self: flex-start;
    background-color: transparent;
    border: none;
    padding: 0;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #003DFF;
    cursor: pointer;
    margin-bottom: 24px;
}

.custom-product-page .product-description-toggle:focus {
    outline: 0px !important;

}

.custom-product-page .product-description-toggle:active {
    transform: scale(0.98);

}

.custom-product-page .onsale {
    display: none;
}

.custom-product-page h1 {
    font-family: 'Grandstander', sans-serif;
    font-size: 36px !important;
    line-height: 44px !important;
    font-weight: 600 !important;
    color: #003DFF !important;
    letter-spacing: 0.28px;
    margin-bottom: 0px !important;
}

.custom-product-page p {
    font: normal normal normal 16px/22px Outfit;
    letter-spacing: 0px;
    color: #0E0E1D;
}

.custom-product-page .single_add_to_cart_button {
    background-color: #003DFF !important;
    padding: 16px 24px !important;
    border-radius: 15px !important;
    font: normal normal 500 18px/18px Grandstander;
    letter-spacing: 0px;
    color: #FFB9E5 !important;
    transition: .4s ease-in-out;
}

.custom-product-page .single_add_to_cart_button:hover {
    background-color: #FFB9E5 !important;
    color: #003DFF !important;
    transition: .4s ease-in-out;
}

.custom-product-page .single_add_to_cart_button:focus {
    outline: 0 !important;
}

.custom-product-page .custom-galery {
    max-width: calc(100vw - 32px) !important;
    display: inline-flex;
}



.custom-product-page .selector label {
    font: normal normal 600 16px/24px Outfit;
    color: #0E0E1D;
    height: 16px !important;
    margin-bottom: 16px !important;
    display: block;
}

.custom-product-page .selector.color-selector>div {
    display: flex;
    gap: 16px !important;
    margin-bottom: 24px;
}

.custom-product-page .selector.size-selector>div {
    display: flex;
    gap: 8px !important;
}

.custom-product-page .selector.color-selector .radio {
    border: 1px solid #0E0E1D;
    border-radius: 100%;
}

.custom-product-page .selector .color {
    border-radius: 100%;
    width: 19px;
    height: 19px;
    margin: 4px;
}

.custom-product-page .selector .radio:nth-child(1) .color {
    background-color: #F2462A !important;
}

.custom-product-page .selector .radio:nth-child(2) .color {
    background-color: #003DFF !important;
}

.custom-product-page .selector .radio:nth-child(3) .color {
    background-color: #36CE77 !important;
}

.custom-product-page .selector.size-selector .radio {
    padding: 0px 16px !important;
    border: 1px solid #0E0E1D;
    border-radius: 8px;
}

.custom-product-page .selector.size-selector span {
    font: normal normal 600 12px Outfit;
    letter-spacing: 0.14px;
    color: #0E0E1D;
}



.quantity-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100px;
    height: 50px;
    border: 1px solid #0E0E1D;
    border-radius: 12px;
    font-family: sans-serif;
    overflow: hidden;
    margin-right: 24px;
    margin-bottom: 24px;
}

@media (max-width: 768px) {
    .custom-product-page {
        padding-top: 40px !important;
    }

    .quantity-control {
        max-width: 200px !important;
    }
}

.quantity-btn {
    background: none;
    border: none;
    font-size: 25px;
    padding: 10px !important;
    font-weight: bold;
    cursor: pointer;
    color: #003DFF !important;
    /* Color azul para los botones */
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.quantity-btn:focus {
    outline: 0px !important;
}

.quantity-btn:hover {
    background-color: transparent !important;
}

.plus {
    margin-right: 6px;
}

.minus {
    color: #007bff;
    /* Color negro para el botón de decrementar */
    margin-left: 6px;
}

.quantity-input {
    width: 40px;
    height: 100%;
    text-align: center;
    border: none;
    font-size: 18px;
    background: none;
    -moz-appearance: textfield;
    /* Para ocultar flechas en Firefox */
}

/* Ocultar flechas en navegadores WebKit (Chrome, Safari) */
.quantity-input::-webkit-outer-spin-button,
.quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.custom-product-page .summary form {
    display: flex;
    flex-direction: column;
}

.custom-product-page .summary form input[type="number"] {
    padding: 0 !important;
    width: 20px !important;
    background-color: transparent !important;
}

.custom-product-page .edit-link,
.custom-product-page .product_meta {
    display: none;
}


.product-info-accordion-wrapper {
    display: flex;
    gap: 40px;
    /* Espacio entre las columnas */
    padding: 20px 0;
    padding-top: 0px !important;
    margin: 0;
    /* Para centrar */
    width: 100% !important;
    margin-bottom: 72px !important;
}

@media (max-width: 768px) {
    .product-info-accordion-wrapper {
        display: block !important;
    }
}

.accordion-column {
    flex: 1;
    /* Ocupa el mismo espacio en ambas columnas */
}

.accordion-item {
    margin-bottom: 0;
    border-bottom: 1px solid #dcdcdc;
    /* Línea separadora */
}

.accordion-item:first-child {
    border-top: 1px solid #dcdcdc;
    /* Línea superior para el primer elemento */
}

.accordion-header {
    width: 100%;
    padding: 15px 0;
    background-color: transparent;
    /* Color beige de fondo */
    border: none;
    text-align: left;
    font: normal normal normal 20px/28px Outfit;
    letter-spacing: 0px;
    color: #0E0E1D;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #1a1a1a;
}

.accordion-header:focus {
    outline: none;
}

.accordion-header:hover {
    background-color: transparent !important;
}

.icon-plus {
    font-size: 36px;
    color: #003DFF;
    /* Color azul para el icono */
    transition: transform 0.3s ease;
}

.accordion-item.active .icon-plus {
    transform: rotate(45deg);
}

.accordion-content {
    height: 0;
    overflow: hidden;
    background-color: transparent;
    /* Color beige del contenido */

    color: #333;
    transition: .4s ease-in-out;
}

.accordion-item.active .accordion-content {
    max-height: fit-content;
    height: 190px;
    padding-bottom: 15px;
    transition: .4s ease-in-out;
}

.accordion-content p {
    margin: 0;
    padding: 10px 0;
    line-height: 1.6;
}

.review-section {
    display: flex;
    gap: 24px;
}

.review-box {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px;
    border: 1px solid #0E0E1D;
    border-radius: 10px;
    width: 452px !important;
    flex-grow: 1 !important;
    margin-bottom: 72px !important;
}

.review-box p {

    margin-bottom: 0 !important;
}

.review-box p.name {
    font: normal normal 600 16px/24px Outfit;
    letter-spacing: 0px;
    color: #0E0E1D;

}

.review-box .stars {
    display: flex;
    gap: 16px;
}

/***404****/
.page-404 h1 {
    font: 64px/66px Grandstander;
    font-weight: 500;
    letter-spacing: 0px;
    color: #FFB9E5;
}

.page-404 p {
    font: 20px/30px Outfit !important;
    font-weight: 300 !important;
    letter-spacing: 0px !important;
    color: #0E0E1D !important;
}

.page-404 .shop-featured-products-section p {
    font: 20px/28px Outfit !important;
    font-weight: 300 !important;

}

.page-404 .page-header {
    background-color: #F2462A;
    padding: 72px 0px;
}

.page-404 .page-header .page-title-container {
    display: flex;
    justify-content: center;
    align-items: baseline;
    flex-direction: column;
}

.page-404 .page-header .page-title-container h1 {
    margin-bottom: 24px !important;
}

.page-404 .page-header .page-title-container p {
    margin-bottom: 40px !important;
}

.page-404 .page-header>div {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 72px;
}

.page-404 .page-header .img-container {
    height: 515px;
    width: 100%;
    background-size: cover;
    background-position: center;
}

.page-404 header p {
    font: 20px/28px Outfit;
    letter-spacing: 0px;
    color: #FFB9E5 !important;
}

.page-404 .button {
    font: 18px/30px Grandstander;
    font-weight: 600 !important;
    letter-spacing: 0px;
    color: #FFB9E5 !important;
    background-color: #003DFF;
    padding: 16px 24px !important;
    border-radius: 15px;
    transition: all .4s ease-in-out;
}

.page-404 .button:hover {

    color: #003DFF !important;
    background-color: #FFB9E5;
    transition: all .4s ease-in-out;
}

.page-404 .swiper-wrapper li.wc-block-product-categories-list-item {

    width: 200px !important;
    margin-right: 40px !important;
}

.page-404 .container-404 {
    max-width: 960px !important;
}

.woocommerce-pagination-wrapper {
    display: flex !important;
    justify-content: center !important;

}

@media (max-width: 768px) {
    .page-404 .container-404 {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .page-404 h1 {
        font-size: 42px !important;
        line-height: 40px !important;
    }

    .page-404 p {
        font-size: 16px !important;
        line-height: 24px !important;
        margin-bottom: 24px !important;
    }

    .page-404 .button-container {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
    }

    .page-404 .button {
        padding: 12px 16px !important;
    }

    .page-404 .shop-featured-products-section p {
        font-size: 16px !important;
        line-height: 24px !important;
    }

}




/**SUBCATEGORIA***/
.woocommerce-products-header,
.blog-header {
    padding-bottom: 24px !important;
    background-color: #003DFF;
    height: 350px !important;
    display: flex !important;
    align-items: end !important;
    justify-content: start !important;
}

.woocommerce-products-header__title.page-title::before {
    content: '';
    /* Se necesita para que el pseudo-elemento se muestre */
    display: inline-block;
    /* O 'block' si quieres que ocupe todo el ancho */
    width: 55px;
    /* Le damos el ancho original del SVG */
    height: 55px;
    /* Le damos el alto original del SVG */

    /* Insertamos el SVG como una imagen de fondo */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.495' height='13.485' viewBox='0 0 14.495 13.485'%3E%3Cpath id='Trazado_236' data-name='Trazado 236' d='M7.9.35C7.992.178,8.116,0,8.276,0a.421.421,0,0,1,.456.231,1.29,1.29,0,0,1,.155.374,1.474,1.474,0,0,1,.044.217l.519,4.116c.052.248.2.345.492.347l3.569-.421q.086-.01.172-.013c.089,0,.177,0,.269,0,.642,0,.74.554.163,1.048L10.972,8.7a.463.463,0,0,0-.179.574l1.229,2.976a1.494,1.494,0,0,1,.1.376c.1.737-.428,1.192-1.412.571L7.673,11.46h0a.6.6,0,0,0-.6.008h0l-3.882,1.9c-.452.227-.922.01-.79-.583h0L3.8,8.881c.1-.271-.025-.4-.194-.569h0L.345,5.193c-.552-.485-.433-1.039.3-.959l4.607.458h0A.46.46,0,0,0,5.7,4.416a.592.592,0,0,0,.032-.053Z' transform='translate(0 0)' fill='%23FFFFFF'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    /* Ajusta el tamaño del SVG para que quepa en la caja */
    margin-bottom: 4px;
    margin-right: 8px;
    vertical-align: middle;
    /* Opcional: para alinear el icono verticalmente con el texto */
}

.woocommerce-products-header__title.page-title {
    font-family: 'Grandstander', sans-serif;
    font-weight: 500 !important;
    font-size: 72px;
    line-height: 48px !important;
    margin-bottom: 12px !important;
    padding-top: 106px !important;
    color: #FFF;
    /* El color principal para el texto y el ícono */
    text-align: left !important;
    text-transform: uppercase !important;
}

@media (max-width: 1280px) {
    .woocommerce-products-header__title.page-title {
        MARGIN-BOTTOM: 0px !important;
    }

    .categories-page h1 {
        font: 28px/38px Grandstander !important;
        margin-bottom: 0px !important;
    }

    .categories-page h1::before {
        width: 22px !important;
        /* Le damos el ancho original del SVG */
        height: 22px !important;
        /* Le damos el alto original del SVG */
    }

}

.shop-content {
    display: flex;
    gap: 72px;
    margin-top: 72px !important;
    margin-bottom: 72px !important;
    justify-content: space-between;
    flex-wrap: wrap;
}

.shop-content .shop-listing-wrapper {
    min-width: 70% !important;
    width: 70% !important;
}

.shop-content .product-list {
    width: 100%;
}

.shop-content .product-list .button {
    border-radius: 8px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: fit-content !important;
}

.shop-content .product-list li h2 {
    font-family: 'Grandstander', sans-serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    line-height: 18px !important;
    margin-bottom: 8px !important;
    text-align: left !important;
    min-height: 36px;
}

.shop-content .product-list li .price {
    text-align: left !important;
    margin: 0 !important;

}

.shop-content .product-list li bdi {
    font-size: 16px !important;
    line-height: 16px !important;
    font-weight: 400 !important;
    color: #0E0E1D !important;
    display: block;
    height: 16px;
    margin-bottom: 8px !important;
}

.shop-content .woocommerce-loop-product__title {
    font: 16px/24px Outfit !important;
    font-weight: 500 !important;
    color: #0E0E1D !important;
}

@media (max-width: 1900px) {
    .shop-content {
        padding: 0 32px !important;
    }
}

@media (max-width: 768px) {
    .shop-content {
        margin-top: 40px !important;
    }
}

.shop-filters {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.shop-filters hr {
    margin-bottom: 20px !important;
}

/* Quitar bullets de listas de filtros */
.woocommerce-widget-layered-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Bloque "Mostrar más" en filtros: oculto por defecto */
.filter-more-wrap {
    overflow: hidden;
    transition: max-height 0.25s ease;
}

.filter-more-wrap.collapsed {
    max-height: 0;
}

.filter-more-wrap:not(.collapsed) {
    max-height: 2000px;
}

.filter-more-wrap .filter-more-inner {
    list-style: none;
    margin: 0;
    padding: 0;
    padding-left: 0;
    width: -webkit-fill-available;
    width: -moz-available;
}

.filter-show-more-li {
    list-style: none;
    margin: 0.5em 0 0;
    justify-content: flex-end;
}

.filter-show-more-btn {
    background: none;
    border: none;
    color: inherit;
    font-size: 0.95em;
    color: #003DFF;
    cursor: pointer;
    padding: 0;
    font-family: inherit;
}

.filter-show-more-btn:hover {
    opacity: 0.8;
    background-color: transparent !important;
    border: none !important;
    color: #003DFF !important;
}

button:focus {
    outline: none !important;
}

.woocommerce-widget-layered-nav-list__label {
    display: flex;
    align-items: center;
    gap: 8px;
}


.shop-content .storefront-sorting {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: 80px !important;
}

@media (max-width: 768px) {
    .shop-content .storefront-sorting {
        gap: 0px !important;
    }
}

.storefront-sorting:before,
.storefront-sorting:after {
    display: none !important;
}


.shop-content .product-list .button {
    font-family: 'Outfit', sans-serif;
    font-size: 14px !important;
    line-height: 18px;
    background-color: #FFD62C !important;
    padding: 8px 12px !important;
    margin-top: 16px !important;
    border-radius: 8px !important;
    color: #0E0E1D;
    font-weight: 500 !important;
    width: fit-content;
    transition: all .4s ease-in-out;
}

.shop-content .product-list .button:hover {
    background-color: #FFB9E5 !important;
    color: #003DFF;
    transition: all .4s ease-in-out;
}

@media (max-width: 768px) {
    .shop-content {
        margin-bottom: 0px !important;
    }
}



:root {
    --slider-track-color: #83edac;
    --slider-thumb-color: #00bf63;
    --button-color: #007bff;
}

.price-filter-container {
    padding: 20px;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 10px;
    font-family: Arial, sans-serif;
    width: 300px;
    /* Ancho del componente, ajusta si es necesario */
}

.filter-title {
    font-size: 1.2rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 20px;
}

.price-slider-wrapper {
    position: relative;
    height: 20px;
    margin-bottom: 20px;
}

.price-slider {
    position: absolute;
    width: 100%;
    height: 6px;
    background-color: #ccc;
    border-radius: 3px;
}

/* Base de los rangos deslizables */
.price-slider-wrapper input[type="range"] {
    -webkit-appearance: none;
    width: 100%;
    height: 6px;
    background: transparent;
    position: absolute;
    pointer-events: none;
    top: -2px;
}

.price-slider-wrapper input[type="range"]::-webkit-slider-runnable-track {
    width: 100%;
    height: 6px;
    cursor: pointer;
    background: transparent;
    border-radius: 3px;
}

.price-slider-wrapper input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 20px;
    width: 20px;
    background-color: var(--slider-thumb-color);
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
    margin-top: -7px;
    border: 2px solid var(--slider-track-color);
}

/* Colores para la barra del slider entre los "botones" */
.price-slider-wrapper .slider-track-fill {
    height: 6px;
    background-color: var(--slider-thumb-color);
    position: absolute;
    border-radius: 3px;
    z-index: 1;
}

.price-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.price-display {
    font-size: 1rem;
    color: #555;
    font-weight: bold;
}

.filter-button {
    padding: 10px 20px;
    background-color: var(--button-color);
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.filter-button:hover {
    background-color: #0056b3;
}

.widget_price_filter {
    margin: 0 !important;
}

.widget_price_filter h2,
.widget_price_filter .price_label,
.filter-title,
.shop-filters .widgettitle {
    font-family: 'Outfit', sans-serif;
    font-size: 16px !important;
    line-height: 18px;
    color: #0E0E1D;

}

.widget_price_filter h2 {
    font-weight: 600 !important;
    border: 0 !important;
}

.filter-title,
.shop-filters .widgettitle {
    font-weight: 500 !important;
}

.widget_price_filter .price_label {
    font-weight: 400 !important;
}

.shop-filters li {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
}

.shop-filters li a {
    font-family: 'Outfit', sans-serif;
    font-size: 16px !important;
    line-height: 18px;
    color: #0E0E1D !important;
    font-weight: 400 !important;

}

.shop-filters li input[type="checkbox"] {
    width: 16px !important;
}

.widget_price_filter .ui-slider-horizontal {
    height: 3px !important;
}

.widget_price_filter .ui-slider .ui-slider-range,
.widget_price_filter .ui-slider .ui-slider-handle {
    background-color: #36CE77 !important;
    height: 3px !important;
}

.widget_price_filter .ui-slider .ui-slider-handle {
    top: -5px !important;
    width: 4px !important;
    height: 1.5rem !important;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
    margin-left: -4px !important;
}

.price_slider_amount button {
    background-color: #003DFF !important;
    padding: 10px 24px !important;
    border-radius: 8px !important;
    font: normal normal 500 14px/14px Outfit;
    letter-spacing: 0px;
    color: #FFB9E5;
    transition: .4s ease-in-out;
}

.price_slider_amount button:hover {
    background-color: #FFB9E5 !important;
    color: #003DFF;
    transition: .4s ease-in-out;
}

/* Estilos para el contador de términos */
.term-count {
    margin-left: auto;
    font-size: 12px;
    line-height: 12px;
    color: #0E0E1D;
    font-weight: 500;
    border: 1px solid #0E0E1D;
    border-radius: 100%;
    padding: 2px 12px;
    border-radius: 12px;
    text-align: center;
}

/* Asegurar que el li tenga flexbox para posicionar el contador */
.woocommerce-widget-layered-nav-list__item {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: space-between;
}

.woocommerce-widget-layered-nav-list__item a {
    flex: 1;
}

.party-club-cta {
    background-color: #FFD62C;
    padding: 36px;
    border-radius: 10px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.party-club-cta .party-club-title {
    font-family: 'Grandstander', sans-serif;
    font-size: 24px;
    line-height: 24px;
    font-weight: 500;
    color: #003DFF;
    margin-bottom: 24px !important;
}

.party-club-cta .party-club-description {
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    line-height: 18px;
    font-weight: 400;
    color: #0E0E1D;
    margin-bottom: 24px !important;
}

.btn-green-blue {
    background-color: #36CE77;
    color: #003DFF;
    padding: 10px 22px;
    border-radius: 8px;
    font-size: 16px;
    line-height: 18px;
    font-weight: 600;
    display: block;
    width: 195px;
    transition: .4s ease-in-out;
}

.btn-green-blue:hover {
    background-color: #003DFF;
    color: #36CE77;
    transition: .4s ease-in-out;
}

.shop-featured-products-section {
    background-color: #FDDCF2;
    padding-top: 72px;
    padding-bottom: 2px;
    margin-top: 40px;
}

.shop-featured-products-section h2 {
    font-family: 'Grandstander', sans-serif;
    font-weight: 600;
    color: #F2462A;
    font-size: 40px;
}

.shop-featured-products-section h2::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.495' height='13.485' viewBox='0 0 14.495 13.485'%3E%3Cpath id='Trazado_236' data-name='Trazado 236' d='M7.9.35C7.992.178,8.116,0,8.276,0a.421.421,0,0,1,.456.231,1.29,1.29,0,0,1,.155.374,1.474,1.474,0,0,1,.044.217l.519,4.116c.052.248.2.345.492.347l3.569-.421q.086-.01.172-.013c.089,0,.177,0,.269,0,.642,0,.74.554.163,1.048L10.972,8.7a.463.463,0,0,0-.179.574l1.229,2.976a1.494,1.494,0,0,1,.1.376c.1.737-.428,1.192-1.412.571L7.673,11.46h0a.6.6,0,0,0-.6.008h0l-3.882,1.9c-.452.227-.922.01-.79-.583h0L3.8,8.881c.1-.271-.025-.4-.194-.569h0L.345,5.193c-.552-.485-.433-1.039.3-.959l4.607.458h0A.46.46,0,0,0,5.7,4.416a.592.592,0,0,0,.032-.053Z' transform='translate(0 0)' fill='%23F2462A'/%3E%3C/svg%3E");
    content: '';
    /* Se necesita para que el pseudo-elemento se muestre */
    display: inline-block;
    /* O 'block' si quieres que ocupe todo el ancho */
    width: 32px;
    height: 32px;

    /* Insertamos el SVG como una imagen de fondo */

    background-repeat: no-repeat;
    background-size: contain;
    /* Ajusta el tamaño del SVG para que quepa en la caja */
    margin-bottom: 4px;
    margin-right: 8px;
    vertical-align: middle;
    /* Opcional: para alinear el icono verticalmente con el texto */

}


.media-banner h2 {
    font-family: Grandstander;
}

.media-banner img {
    width: 100% !important;
    border-radius: 0px !important;
}

.media-banner p {
    font: 16px/24px Outfit;
    font-weight: 400 !important;
    letter-spacing: 0px;
    color: #0E0E1D;
}


.media-banner .button {
    background: #003DFF !important;
    border-radius: 15px !important;
    padding: 16px 24px !important;
    color: #FFB9E5 !important;
    font-weight: 600 !important;
    font-size: 20px;
    font-family: 'Grandstander', sans-serif;

    line-height: 20px !important;
    letter-spacing: 0px !important;
    transition: .4s ease-in-out;
}

.media-banner .button:hover {
    background: #FFB9E5 !important;
    color: #003DFF !important;
    transition: .4s ease-in-out;
}

.media-banner.second .button {
    background: #FFD62C !important;
    border-radius: 15px !important;
    padding: 16px 24px;
    color: #003DFF !important;
    font-weight: 600 !important;
    font-size: 20px;
    font-family: 'Grandstander', sans-serif;

    line-height: 20px !important;
    letter-spacing: 0px !important;
    transition: .4s ease-in-out;
}

.media-banner.second .button:hover {
    background: #003DFF !important;
    color: #FFD62C !important;
    transition: .4s ease-in-out;
}

.media-banner .media-banner-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

}


@media (max-width: 768px) {
    .media-banner .wp-block-image {
        max-height: 350px !important;
        overflow: hidden !important;
    }

    .media-banner .button {
        font-size: 16px !important;
        padding: 10px 20px !important;
    }

}

/* Blog Home Styles */





.blog-title {
    font-family: 'Grandstander', sans-serif;
    font-size: 64px;
    line-height: 66px;
    font-weight: 500;
    color: #F8F8F0;
    margin-bottom: 20px;
    padding-top: 190px !important;

}

.blog-title::before {
    content: '';
    /* Se necesita para que el pseudo-elemento se muestre */
    display: inline-block;
    /* O 'block' si quieres que ocupe todo el ancho */
    width: 48px;
    /* Le damos el ancho original del SVG */
    height: 48px;
    /* Le damos el alto original del SVG */

    /* Insertamos el SVG como una imagen de fondo */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.495' height='13.485' viewBox='0 0 14.495 13.485'%3E%3Cpath id='Trazado_236' data-name='Trazado 236' d='M7.9.35C7.992.178,8.116,0,8.276,0a.421.421,0,0,1,.456.231,1.29,1.29,0,0,1,.155.374,1.474,1.474,0,0,1,.044.217l.519,4.116c.052.248.2.345.492.347l3.569-.421q.086-.01.172-.013c.089,0,.177,0,.269,0,.642,0,.74.554.163,1.048L10.972,8.7a.463.463,0,0,0-.179.574l1.229,2.976a1.494,1.494,0,0,1,.1.376c.1.737-.428,1.192-1.412.571L7.673,11.46h0a.6.6,0,0,0-.6.008h0l-3.882,1.9c-.452.227-.922.01-.79-.583h0L3.8,8.881c.1-.271-.025-.4-.194-.569h0L.345,5.193c-.552-.485-.433-1.039.3-.959l4.607.458h0A.46.46,0,0,0,5.7,4.416a.592.592,0,0,0,.032-.053Z' transform='translate(0 0)' fill='%23F8F8F0'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    /* Ajusta el tamaño del SVG para que quepa en la caja */

    margin-right: 8px;
    vertical-align: middle;
    /* Opcional: para alinear el icono verticalmente con el texto */
    margin-bottom: 4px;
}

.blog-description {
    font: normal normal normal 20px/28px Outfit;
    letter-spacing: 0px;
    color: #0E0E1D;
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
    margin-bottom: 40px;
}

.blog-post-card {
    background: white;

    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}



.blog-post-card .post-thumbnail {
    position: relative;
    overflow: hidden;
}

.blog-post-card .post-thumbnail img {
    width: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
    margin-bottom: 0px !important;
}

.blog-post-card:hover .post-thumbnail img {
    transform: scale(1.05);
}

.blog-post-card .post-content {
    padding: 25px;
}




.blog-post-card .entry-header,
.blog-post-card .entry-title {
    margin-bottom: 0 !important;
}

.blog-post-card .entry-title a {
    font: normal normal 600 20px/28px Outfit !important;
    letter-spacing: 0px !important;
    color: #0E0E1D !important;
}

.blog-post-card .entry-meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 14px;
    color: #0E0E1D;
}

.blog-post-card .entry-meta .cat-links a {
    font: normal normal 600 14px/18px Outfit !important;
    letter-spacing: 0px !important;
    color: #003DFF !important;
    text-decoration: none !important;
}

.blog-post-card .entry-meta .byline {
    font: normal normal normal 14px/18px Outfit !important;
    letter-spacing: 0px;
    color: #0E0E1D !important;
}

.blog-post-card .entry-meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.blog-post-card .entry-meta i {
    color: #003DFF;
    font-size: 16px;
}

.entry-summary {
    margin-bottom: 25px;
    line-height: 1.6;
    color: #444;
}

.read-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #003DFF, #36CE77);
    color: white;
    padding: 12px 24px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.read-more-btn:hover {
    background: linear-gradient(135deg, #F2462A, #FFB9E5);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.blog-navigation {
    text-align: center;
}

.blog-navigation .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.blog-navigation .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    background: white;
    color: #003DFF;
    text-decoration: none;
    border-radius: 50%;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.blog-navigation .page-numbers:hover,
.blog-navigation .page-numbers.current {
    background: #003DFF;
    color: white;
    transform: translateY(-2px);
}

.blog-navigation .prev,
.blog-navigation .next {
    width: auto;
    padding: 0 20px;
    border-radius: 25px;
}

.no-posts {
    text-align: center;
    padding: 80px 20px;
}

.no-posts h2 {
    font-family: 'Grandstander', sans-serif;
    font-size: 36px;
    color: #003DFF;
    margin-bottom: 20px;
}

.no-posts p {
    font-size: 18px;
    color: #666;
    margin-bottom: 30px;
}

.btn-primary {
    background: linear-gradient(135deg, #003DFF, #36CE77);
    color: white;
    padding: 15px 30px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background: linear-gradient(135deg, #F2462A, #FFB9E5);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* Responsive adjustments for blog home */
@media (max-width: 768px) {
    .blog-home-container {
        padding: 40px 0;
    }

    .blog-title {
        font-size: 36px;
    }

    .blog-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .blog-post-card .post-content {
        padding: 20px;
    }

    .blog-post-card .entry-title {
        font-size: 20px;
    }

    .blog-post-card .entry-meta {
        flex-direction: column;
        gap: 10px;
    }

    .review-box {
        margin-bottom: 0px !important;
        width: 100% !important;
    }

    .review-section {
        flex-direction: column;
        margin-bottom: 40px !important;
    }
}

/* PARENT CATEGORIES SECTION */
.parent-categories {
    margin: 70px 0;

}

.blog-home-container .categories-title {
    margin-bottom: 40px !important;
}

.blog-home-container .categories-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 64px;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
}

.blog-home-container .cta-blog {
    text-align: center !important;
    padding: 32px 24px !important;
}

.blog-home-container .cta-blog .wp-block-kadence-form {
    margin: 0 !important;
}

.blog-home-container .cta-blog h3 {
    text-align: center !important;
    font: normal normal 600 24px/32px Grandstander !important;
    letter-spacing: 0.24px !important;
    color: #FDDCF2 !important;
    margin-bottom: 16px !important;
}

.blog-home-container .cta-blog p {
    font: normal normal normal 16px/22px Outfit !important;
    margin-bottom: 24px !important;
}

.blog-home-container .search-form {
    margin: 0 !important;

}

.blog-home-container .cta-blog input[type="email"] {
    background-color: #FDDCF2 !important;
    margin-bottom: 8px !important;

}

.blog-home-container .cta-blog input[type="email"]::placeholder {
    color: #003DFF !important;
    font: normal normal 600 14px/30px Grandstander;
    text-align: center !important;
}

.blog-home-container .cta-blog div[data-type="checkbox"] input {
    border-radius: 2px !important;
    border: 0 !important;
    position: relative !important;
    top: 2px !important;
    margin: 0 !important;
}

.blog-home-container .cta-blog div[data-type="checkbox"] label {
    font: normal normal normal 14px/18px Outfit !important;
}

.blog-home-container .cta-blog button {

    font: normal normal 600 14px/30px Grandstander;
    margin-bottom: 8px !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 30px !important;
}

.blog-sidebar {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.category-card {
    text-align: center;
}

.category-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: inherit;
}

.category-image {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 15px;
}

.category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.category-icon {
    width: 120px;
    height: 120px;
    background: #F2462A;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

.category-icon i {
    font-size: 40px;
    color: white;
}

.category-name {
    font-family: 'Grandstander', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #0E0E1D;
    margin: 0;
    line-height: 1.2;
}

.no-categories {
    text-align: center;
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    color: #666;
    grid-column: 1 / -1;
    padding: 40px;
}

/* RESPONSIVE FOR CATEGORIES */
@media (max-width: 768px) {

    .section-container,
    .shop-content {
        padding: 0 16px !important;
    }

    .site-header {
        padding: 16px !important;
    }

    .storefront-breadcrumb {
        padding: 0 16px !important;
    }

    .storefront-breadcrumb>div {
        margin: 0 !important;
        padding-top: 12px !important;
    }

    .iconos-menu {
        gap: 16px !important;
        height: 24px !important;
    }

    .categories-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 30px;
    }

    .desktop-ppal-banner {
        display: none !important;
    }

    .categories-title {
        font-size: 36px;
        margin-bottom: 30px;
    }

    .category-image,
    .category-icon {
        width: 100px;
        height: 100px;
    }

    .category-icon i {
        font-size: 32px;
    }

    .category-name {
        font-size: 16px;
    }

    .swiper.custom-product-carousel-swiper {
        overflow: hidden !important;
        height: 400px !important;
        margin-bottom: 40px !important;
    }

    /* Asegurar centrado correcto en mobile */
    .custom-product-carousel-swiper .swiper-wrapper {
        align-items: center;
        margin-bottom: 28px !important;
    }

    .categories-swiper.swiper.custom-product-carousel-swiper {
        height: auto !important;
    }

    .blog-section {
        overflow-x: auto !important;
        overflow-y: scroll !important;
        padding-right: 24px;
        padding-bottom: 24px !important;
        margin-top: 40px !important;
        margin-bottom: 40px !important;
    }

    .blog-section>div {
        width: 1300px;
    }

    /* Forzar scrollbar siempre visible */
    .blog-section::-webkit-scrollbar {
        width: 0px !important;
        height: 6px !important;
    }

    .blog-section::-webkit-scrollbar-track {
        background: rgba(242, 69, 42, 0.3) !important;
        border-radius: 10px !important;
    }

    .blog-section::-webkit-scrollbar-track:horizontal {
        margin-left: 36px !important;
        margin-right: 36px !important;
    }

    .blog-section::-webkit-scrollbar-thumb {
        background: #F2462A !important;
        border-radius: 10px !important;

        background-clip: padding-box !important;
    }

    .blog-section::-webkit-scrollbar-thumb:hover {
        background: #0033cc !important;
    }

    .blog-section::-webkit-scrollbar-corner {
        background: rgba(0, 61, 255, 0.3) !important;
    }

    /* Scrollbar para Firefox - siempre visible */


    .blog-section .wp-block-kadence-column:nth-child(1) {
        padding: 35px !important;
    }

    .blog-section .wp-block-kadence-column:nth-child(n+2) {
        width: 300px !important;
    }



    .bottom-banner form {
        flex-direction: column !important;
        max-height: unset !important;
        height: unset !important;
    }

    .bottom-banner form input[type="email"] {
        height: 50px !important;
    }

    .bottom-banner form .kadence-blocks-form-field:has(input[type="email"]) {
        height: 50px !important;
        order: 1 !important;
    }

    .bottom-banner form .kadence-blocks-form-field:has(input[type="checkbox"]) {
        height: 38px !important;
        order: 3 !important;
        margin-top: 24px !important;
    }

    .bottom-banner form .kadence-blocks-form-field:has(button) {
        height: 50px !important;
        order: 2 !important;
        display: flex !important;
        justify-content: center !important;
        margin-top: 24px !important;
    }

    .bottom-banner button {
        position: relative !important;
        padding: 10px 20px !important;
        font-size: 16px !important;
    }

    .product-info-accordion-wrapper {
        padding-bottom: 0px !important;
        padding-top: 0px !important;
        margin-bottom: 40px !important;
    }

    .sub-categories-star-product {
        padding-top: 40px !important;
        padding-bottom: 5px !important;
        padding-left: 16px !important;
        padding-right: 0px !important;
    }

    .media-banner {
        margin-bottom: 0px !important;
    }

}

@media (min-width: 768px) and (max-width: 900px) {
    .bottom-banner>div {
        width: 70vw !important;
        max-width: unset !important;
    }
}

@media (max-width: 1080px) {
    .faq-section {
        padding: 40px 16px !important;
    }

    .other-categories {
        margin-top: 40px !important;
    }
}

@media (max-width: 480px) {
    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .category-image,
    .category-icon {
        width: 80px;
        height: 80px;
    }

    .category-icon i {
        font-size: 28px;
    }

    .category-name {
        font-size: 14px;
    }
}

/* ===========================================
   CUSTOM PARENT CATEGORIES GRID STYLES
   =========================================== */

.custom-parent-categories-grid {
    margin-bottom: 72px;
}

.categories-grid-container {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 40px;
    max-width: 100%;
    margin-bottom: 57px;
}

@media (max-width: 768px) {

    .custom-parent-categories-grid,
    .categories-grid-container {
        margin-bottom: 40px !important;
    }
}

.parent-cat-grid-item {
    width: 100%;
    transition: all 0.3s ease;
}

.parent-cat-grid-item a {
    text-decoration: none !important;
}


.parent-cat-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.parent-cat-image {
    width: 200px;
    height: 200px;
    overflow: hidden;
    position: relative;
    border-radius: 100%;
}

.parent-cat-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.parent-cat-image:hover img {

    transition: transform 0.3s ease;
    transform: scale(1.05);
}

.parent-cat-grid-item:hover .parent-cat-image img {
    transform: scale(1.05);
}

.parent-cat-info {
    padding: 15px;
    text-align: center;
}

.parent-cat-name {
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #0E0E1D;
    margin: 0;
    line-height: 1.3;
    text-transform: capitalize;
}

.woocommerce-result-count {
    font: 400 16px/22px Outfit !important;
    color: #0E0E1D !important;
    min-width: fit-content !important;
    margin-bottom: 0px !important;
}

/* Responsive para el grid de categorías padre */
@media (max-width: 1200px) {
    .categories-grid-container {
        grid-template-columns: repeat(4, 1fr);
        gap: 18px;
    }
}

@media (max-width: 768px) {
    .categories-grid-container {
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
    }

    .parent-cat-image {
        height: 110px;
        width: 110px;
    }

    .parent-cat-info {
        padding: 12px;
    }

    .parent-cat-name {
        font-size: 14px;
    }

    .woocommerce-products-header,
    .blog-header {
        padding-bottom: 0px !important;
    }

    .woocommerce-products-header__title.page-title {
        font-size: 28px/38px !important;
    }

    .woocommerce-products-header__title.page-title::before {
        width: 24px !important;
        height: 24px !important;
    }




    .parent-cat-info {
        padding: 10px;
    }

    .parent-cat-name {
        font-size: 13px;
    }

    .category-title {
        font-size: 27px;
        line-height: 30px !important;
        padding-top: 72px !important;
    }

    .category-title::before,
    .product-section .wp-block-heading::before,
    .sub-categories h2::before,
    .featured-product-section h2::before,
    .shop-featured-products-section h2::before {
        width: 24px !important;
        height: 24px !important;
    }

    .category-text {
        font-size: 14px !important;
        line-height: 24px !important;
    }

    .banner-media {
        margin-bottom: 40px !important;

    }

    .banner-media .wp-block-button {
        margin-bottom: 0px !important;

    }




    .banner-media .wp-block-media-text__content {
        width: 100% !important;
        padding: 40px 16px !important;
    }

    .banner-ventas {
        margin-top: 40px !important;
    }

    .custom-product-carousel-swiper .swiper-scrollbar {
        bottom: 0 !important;
    }


    .media-banner .wp-block-media-text__content {
        padding: 0 !important;
        padding-top: 24px !important;
    }

    .media-banner h2,
    .blog-section .blog-box h4,
    h2 {
        font-size: 27px !important;
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
        font-size: 18px !important;
        padding: 7px 11px !important;
    }

    .product-section .wp-block-heading {
        margin-bottom: 24px !important;
    }

    .page-404 .page-header {
        padding-top: 24px !important;
        padding-bottom: 40px !important;
    }

    .page-404 .page-header .img-container {
        height: 320px !important;
        overflow: hidden !important;
        margin-bottom: 20px !important;

    }

    .shop-featured-products-section {
        padding-bottom: 40px !important;
        padding-top: 40px !important;
    }

    .shop-featured-products-section .custom-parent-categories-grid,
    .shop-featured-products-section .categories-grid-container {
        margin-bottom: 0px !important;
    }
}

@media (max-width: 420px) {
    .categories-grid-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}

/* POST THUMBNAIL SIZE */
.post-thumbnail img {
    width: 330px;
    height: 330px;
    object-fit: cover;
}

@media (max-width: 768px) {
    .post-thumbnail img {
        width: 250px;
        height: 250px;
    }
}

@media (max-width: 480px) {
    .post-thumbnail img {
        width: 200px;
        height: 200px;
    }
}

/* Estilos para el botón de wishlist en el carrusel de productos */
.custom-product-carousel-item {
    position: relative;
}

.custom-product-carousel-item .product-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}

.custom-product-carousel-item .product-actions .add_to_cart_button {
    flex: 1;
    text-align: center;
}

/* Botón de wishlist posicionado absolutamente en la esquina superior izquierda */
.custom-product-carousel-item .wishlist-button-wrap {
    position: absolute !important;
    top: 0px !important;
    left: 8px !important;
    z-index: 10 !important;
    margin: 0 !important;
}

.custom-product-carousel-item .wishlist-button-wrap .wishlist-button {
    background-color: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid #ddd !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.3s ease !important;
    color: #000000 !important;
}

.custom-product-carousel-item .wishlist-button-wrap .wishlist-button:hover {
    background-color: #e74c3c !important;
    color: white !important;
    border-color: #e74c3c !important;
    transform: scale(1.1) !important;
}

.custom-product-carousel-item .wishlist-button-wrap .wishlist-button:hover i {
    color: white !important;
}

.custom-product-carousel-item .wishlist-button-wrap .wishlist-button.active {
    background-color: #e74c3c !important;
    color: white !important;
    border-color: #e74c3c !important;
}

.custom-product-carousel-item .wishlist-button-wrap .wishlist-button.active i {
    color: white !important;
}

.custom-product-carousel-item .wishlist-button-wrap .wishlist-button i {
    margin: 0 !important;
    font-size: 16px !important;
    color: #000000 !important;
}

/* Ajustes para el contador de wishlist (si se muestra) */
.custom-product-carousel-item .wishlist-button-wrap .wishlist-button .wishlist-count {
    position: absolute !important;
    top: -8px !important;
    right: -8px !important;
    background-color: #e74c3c !important;
    color: white !important;
    font-size: 10px !important;
    padding: 2px 6px !important;
    border-radius: 10px !important;
    min-width: 18px !important;
    text-align: center !important;
    line-height: 1.2 !important;
}

/* ===========================================
   MEGA MENU STYLES
   =========================================== */

/* Contenedor principal del mega menú */
.mega-menu-dropdown {
    position: absolute;
    top: 67px;
    left: 0;
    width: 100vw;
    /* Ocupa todo el ancho de la pantalla */
    left: 50%;
    transform: translateX(-50%) translateY(-10px);
    background: #000000;
    /* Mismo color que el nav */
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 9999;
    max-width: 100% !important;
}



/* Contenido del mega menú */
.mega-menu-content {
    padding: 30px 0;
    max-width: 1470px;
    margin: 0 auto;
    padding-left: 32px;
    padding-right: 32px;
}

/* Contenedor de las 4 columnas */
.mega-menu-columns {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    padding: 0;
    /* Sin padding adicional ya que el contenido ya tiene padding */
}

/* Estilos para cada columna */
.mega-menu-column {
    padding: 0 10px;
}

.mega-menu-column h3 {
    font: 16px/20px Outfit;
    font-weight: 600;
    color: #003DFF;
    margin-bottom: 16px;
}

/* Estilos para los widgets dentro de las columnas */
.mega-menu-column .widget {
    margin-bottom: 20px;
}

.mega-menu-column .widget-title {
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    /* Un poco más pequeño que los títulos principales */
    font-weight: 500;
    color: #0E0E1D;
    margin-bottom: 15px;
}

.mega-menu-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mega-menu-column ul li {
    margin-bottom: 8px;
}

.mega-menu-column ul li a {
    color: #0E0E1D;
    /* Mismo color que el nav */
    text-decoration: none;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    /* Mismo tamaño que el nav */
    font-weight: 400;
    transition: color 0.3s ease;
    background-color: transparent !important;
}

.mega-menu-column ul li a:hover {
    color: #003DFF;
    /* Mismo color hover que el nav */
}

/* Estilos específicos para las listas de categorías del mega menú */
.mega-menu-categories {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mega-menu-categories li {
    margin-bottom: 8px;
}

.mega-menu-categories li a {
    color: #0E0E1D;
    text-decoration: none;
    font: 14px/18px Outfit;
    font-weight: 300;
    transition: color 0.3s ease;
    display: block;
    padding: 0;
    -webkit-tap-highlight-color: transparent;
}

.mega-menu-categories li a:hover {
    color: #003DFF;
    padding-left: 8px;
    transition: all 0.3s ease;
}

/* Estilos para imágenes en el mega menú */
.mega-menu-column img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

/* Estilos para texto en el mega menú */
.mega-menu-column p {
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    color: #0E0E1D;
    /* Mismo color que el nav */
    line-height: 1.5;
    margin-bottom: 15px;
}

/* Responsive design para el mega menú */
@media (max-width: 1024px) {
    .mega-menu-columns {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .mega-menu-columns {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .mega-menu-content {
        padding: 20px 0;
        padding-left: 16px;
        /* Padding más pequeño en móvil */
        padding-right: 16px;
        margin-top: 50px !important;
    }
}


/* Estilos adicionales para mejorar la experiencia */
.mega-menu-dropdown::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    height: 10px;
    background: transparent;
}

/* Animación suave para los elementos del mega menú */
.mega-menu-column>* {
    animation: fadeInUp 0.3s ease forwards;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Delay para cada columna */
.mega-menu-column:nth-child(1)>* {
    animation-delay: 0.1s;
}

.mega-menu-column:nth-child(2)>* {
    animation-delay: 0.2s;
}

.mega-menu-column:nth-child(3)>* {
    animation-delay: 0.3s;
}

.mega-menu-column:nth-child(4)>* {
    animation-delay: 0.4s;
}

/* ===========================================
   HAMBURGER MENU ICON - MOBILE ONLY
   =========================================== */

/* Ocultar el ícono hamburguesa en desktop */
.hamburger-menu-icon {
    display: none;
}

/* Mostrar el ícono hamburguesa solo en móvil */
@media (max-width: 1240px) {
    .hamburger-menu-icon {
        display: block;
        cursor: pointer;
        transition: opacity 0.3s ease;
        margin-top: 2px;
    }

    .hamburger-menu-icon:hover {
        opacity: 0.7;
    }

    /* Indicador visual básico cuando está activo */
    .hamburger-menu-icon.active {
        opacity: 0.7;
    }
}

@media (max-width: 768px) {

    /* Estado inicial del mega menú móvil (cerrado) */
    .mega-menu-dropdown {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: #000000;
        z-index: 10000;
        transform: translateX(100%);
        transition: transform 0.3s ease-in-out;
        overflow-y: auto;
        opacity: 1;
        visibility: visible;
    }

    /* Estilos básicos para el mega menú móvil (abierto) */
    .mega-menu-dropdown.mobile-open {
        transform: translateX(0);
        opacity: 1;
        visibility: visible;
    }

    /* Botón para cerrar el mega menú móvil - solo visible en móvil */
    .mega-menu-close {
        position: absolute;
        top: 20px;
        right: 20px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 10px;
        z-index: 10001;
        display: none;
    }

    .mega-menu-dropdown.mobile-open .mega-menu-close {
        display: block;
    }

    .mega-menu-close:hover {
        opacity: 0.7;
    }
}

/* ===========================================
   MOBILE SEARCH BAR - SEPARATE LINE
   =========================================== */

/* Ocultar la barra de búsqueda móvil en desktop */
.mobile-search-bar {
    display: none;
}

/* Ocultar el botón de cerrar en desktop */
@media (min-width: 769px) {
    .mega-menu-close {
        display: none !important;
    }
}

/* Asegurar que la barra de búsqueda original funcione en desktop */
@media (min-width: 769px) {
    .search-bar {
        display: block !important;
    }
}

/* Mostrar la barra de búsqueda móvil solo en móvil */
@media (max-width: 768px) {

    /* Ocultar la barra de búsqueda original en móvil */
    .search-bar {
        display: none !important;
    }

    .mobile-search-bar {
        display: block;
        padding-top: 16px;
        background-color: #000000;
        /* Mismo color que el header */
        width: 100%;
        box-sizing: border-box;
        position: relative;
    }

    .mobile-search-bar .site-search {
        max-width: 100%;
        margin: 0;
        display: flex !important;
    }

    .mobile-search-bar .search-form {
        display: flex !important;
        width: 100% !important;
        max-width: 100%;
        margin: 0 !important;
    }

    .mobile-search-bar .search-field {
        flex: 1;
        padding: 12px 16px;
        border: 2px solid #0E0E1D;
        border-radius: 8px 0 0 8px;
        font-size: 16px;
        font-family: 'Outfit', sans-serif;
        width: 100% !important;
    }

    .mobile-search-bar .search-icon {

        top: unset !important;
    }



    .mobile-search-bar .search-icon svg {
        width: 20px;
        height: 20px;
    }

    .mobile-search-bar .search-icon svg path {
        stroke: white;
    }

    /* Estilos para FiboSearch en móvil - mismos estilos que search-bar */
    .mobile-search-bar .dgwt-wcas-search-wrapp {
        position: relative;
        width: 100%;
        max-width: 100%;
        height: 36px;
    }

    .mobile-search-bar .dgwt-wcas-search-form {
        width: 100% !important;
        height: 100%;
        margin: 0;
    }

    .mobile-search-bar .dgwt-wcas-sf-wrapp {
        position: relative;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        background-color: #F8F8F0 !important;
        padding-left: 16px !important;
    }

    .mobile-search-bar .dgwt-wcas-search-input {
        border-radius: 50px;
        padding: 10px 0px !important;
        background-color: #F8F8F0;
        outline: none;
        width: calc(100% - 50px);
        border: 0 !important;
        outline: 0 !important;
        height: 100% !important;
        box-shadow: none !important;
        font-family: 'Outfit', sans-serif;
        font-weight: 400;
        font-size: 14px;
        line-height: 18px;
        color: #0E0E1D;
    }

    .mobile-search-bar .dgwt-wcas-search-input::placeholder {
        color: #0E0E1D !important;
        font-family: 'Outfit', sans-serif;
        font-weight: 400;
        font-size: 14px;
        line-height: 18px;
    }

    .mobile-search-bar .dgwt-wcas-search-submit {
        background-color: #003DFF !important;
        border: none !important;
        color: white !important;
        border-radius: 10px !important;
        width: 36px !important;
        height: 36px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        cursor: pointer;
        z-index: 2;
        top: 0 !important;
        left: unset !important;
        padding: 0 !important;
        position: absolute;
        right: 0 !important;
    }

    .mobile-search-bar .dgwt-wcas-search-submit:hover {
        background-color: #2563eb !important;
    }

    .mobile-search-bar .dgwt-wcas-search-submit svg {
        width: 18px;
        height: 18px;
    }

    .mobile-search-bar .dgwt-wcas-search-submit svg path {
        fill: white !important;
    }

    .mobile-search-bar .dgwt-wcas-preloader {
        display: none;
    }

    .shop-content .side-bar {
        display: none !important;
    }
}

.side-bar {
    max-width: 21% !important;
    display: block !important;
    flex: 0 0 21% !important;
}

/* Botón de filtros móvil */
.mobile-filter-toggle {
    display: none;
    align-items: center;
    gap: 6px;
    color: #0E0E1D;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    background-color: transparent !important;
    padding: 0 !important;
    font-weight: 400;
    cursor: pointer;
    margin-bottom: 16px;
    transition: all 0.3s ease;
    z-index: 100;
    width: fit-content;
}

.mobile-filter-toggle:hover {
    background-color: #FFD62C;
    transform: scale(1.02);
}

.mobile-filter-toggle svg {
    width: 18px;
    height: 18px;
}

/* Botón de cerrar filtros en móvil */
.mobile-filter-close {
    display: none;
    position: absolute;
    top: 16px;
    right: 16px;
    background: transparent;
    border: none;
    color: #0E0E1D;
    cursor: pointer;
    padding: 8px;
    z-index: 1001;
    transition: transform 0.2s ease;
}

.mobile-filter-close:hover {
    transform: scale(1.1);
}

/* Overlay para cerrar al hacer clic fuera */
.mobile-filter-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 998;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mobile-filter-overlay.active {
    opacity: 1;
}

/* Estilos móviles para el menú deslizante */
@media (max-width: 768px) {
    .mobile-filter-toggle {
        display: flex;
        margin-bottom: 16px;
    }

    .mobile-filter-close {
        display: block;
    }

    .shop-content {
        position: relative;
        display: block !important;
        flex-direction: column;
    }

    .shop-content .shop-listing-wrapper {
        width: 100% !important;
        min-width: 100% !important;
    }

    .shop-content .side-bar {
        display: block !important;
        position: fixed;
        top: 0;
        left: -100%;
        width: 85%;
        max-width: 350px !important;
        height: 100vh;
        background-color: #ffffff;
        z-index: 999;
        overflow-y: auto;
        padding: 60px 24px 24px 24px;
        box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
        transition: left 0.3s ease-in-out;
    }

    .shop-content .side-bar.active {
        left: 0;
    }

    .mobile-filter-overlay.active {
        display: block;
    }

    /* Ajustar el contenido del party-club-cta en móvil */
    .side-bar .party-club-cta {
        margin-top: 24px;
    }
}

/* Ocultar elementos específicos de productos */
.woocommerce .products .product .onsale {
    display: none !important;
}

.woocommerce .products .product .price del {
    display: none !important;
}

.woocommerce .products a:focus {
    outline: none !important;
}

/* Imágenes de productos - dimensiones específicas */
.woocommerce .products .product .woocommerce-loop-product__link .product-image-wrapper {
    margin-bottom: 12px !important;
}

.woocommerce .products .product .woocommerce-loop-product__link img {
    width: auto !important;
    object-fit: cover;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0px !important;
    transition: transform 0.3s ease;
    max-height: 325px !important;
    margin: auto !important;
}

.woocommerce .products .product .product-image-wrapper {
    position: relative;
    display: flex !important;
    overflow: hidden;
    min-height: 325px;
    background: white;
}

.wc-block-cart__empty-cart__title {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 500 !important;
    font-size: 18px !important;
    line-height: 18px !important;
    color: #0E0E1D !important;
    margin-bottom: 0px !important;
}

@media (max-width: 768px) {
    .wc-block-cart__empty-cart__title {
        font-size: 14px !important;
        line-height: 18px !important;
        margin-bottom: 40px !important;
    }
}

.woocommerce .products .product .product-image-wrapper:hover img {
    transform: scale(1.05);
}

.woocommerce .products .product .woocommerce-loop-product__link:hover .product-image-wrapper img {
    transform: scale(1.05);
}

.woocommerce .products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    justify-content: stretch !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce .products::before {
    display: none !important;
}

.woocommerce .products .product {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    position: relative;
    font-family: 'Outfit', sans-serif !important;
}

@media (max-width: 768px) {
    .woocommerce .products .product {
        width: 100% !important;
    }

    .woocommerce .products .product .product-image-wrapper {
        min-height: 138px !important;
    }
}

/* Botón de wishlist sobre la imagen */
.woocommerce .products .product .product-wishlist-button {
    position: absolute;
    top: 0px;
    left: 8px;
    z-index: 10;
}

.woocommerce .products .product .product-wishlist-button .wishlist-button-wrap {
    margin: 0 !important;
}

.woocommerce .products .product .product-wishlist-button .wishlist-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.3s ease !important;
    color: #000000 !important;
    text-decoration: none !important;
}

.woocommerce .products .product .product-wishlist-button .wishlist-button:hover {
    background-color: #e74c3c !important;
    color: white !important;
    border-color: #e74c3c !important;
    transform: scale(1.1) !important;
}

.woocommerce .products .product .product-wishlist-button .wishlist-button.active {
    background-color: #e74c3c !important;
    color: white !important;
    border-color: #e74c3c !important;
}

.woocommerce .products .product .product-wishlist-button .wishlist-button i {
    margin: 0 !important;
    font-size: 16px !important;
    color: inherit !important;
}

/* Ocultar texto del botón de wishlist, solo mostrar el corazón */
.woocommerce .products .product .product-wishlist-button .wishlist-button span:not(.wishlist-icon) {
    display: none !important;
}

/* Estilos para el botón de wishlist en el contenedor de la imagen principal (página de producto individual) */
.main-image-container .product-wishlist-button {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
}

.main-image-container .product-wishlist-button .wishlist-button-wrap {
    margin: 0 !important;
}

.main-image-container .product-wishlist-button .wishlist-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.3s ease !important;
    color: #000000 !important;
    text-decoration: none !important;
}

.main-image-container .product-wishlist-button .wishlist-button:hover {
    background-color: #e74c3c !important;
    color: white !important;
    border-color: #e74c3c !important;
    transform: scale(1.1) !important;
}

.main-image-container .product-wishlist-button .wishlist-button.active {
    background-color: #e74c3c !important;
    color: white !important;
    border-color: #e74c3c !important;
}

.main-image-container .product-wishlist-button .wishlist-button i {
    margin: 0 !important;
    font-size: 16px !important;
    color: inherit !important;
}

/* Ocultar texto del botón de wishlist, solo mostrar el corazón */
.main-image-container .product-wishlist-button .wishlist-button span:not(.wishlist-icon) {
    display: none !important;
}

.woocommerce .products .product .price ins {
    margin: 0 !important;
}

.woocommerce .products .product .product-category-name {
    font-size: 16px !important;
    line-height: 16px !important;
    font-weight: 300 !important;
    color: #0E0E1D !important;
    display: block !important;
    margin-bottom: 8px !important;

}

.site-header ul.menu li.current-menu-item>a {
    color: #0E0E1D !important;
    font-weight: 600 !important;
}

@media (max-width: 768px) {

    .woocommerce .products .product a {
        max-width: 100% !important;
    }

    .woocommerce .products .product .woocommerce-loop-product__link img {
        height: auto !important;
        width: 100% !important;
    }

    .wp-block-media-text.has-media-on-the-right {
        margin-top: 40px !important;
    }

    .wp-block-media-text.has-media-on-the-right.banner-media {
        margin-top: 0px !important;
    }

    .first-row-grid {
        margin-bottom: 0px !important;
    }

    .bottom-banner img {
        height: 101% !important;
    }
}

.category-title.blog-title-mobile {
    display: none !important;
}

@media (max-width: 600px) {
    .woocommerce .products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 32px 12px !important;
    }

    .category-title.blog-title-mobile {
        padding-top: 40px !important;
        margin-bottom: 0px !important;
        display: block !important;
    }

    .blog-section .kt-row-column-wrap {
        gap: 16px !important;
        width: 931px !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

    }

    .blog-section {
        margin-top: 24px !important;

    }

    .blog-section .blog-box {
        display: none !important;
    }

}

@media (max-width: 1400px) {
    .blog-section {
        padding-right: 36px !important;
        margin-left: 16px !important;
        padding-left: 0px !important;
    }
}

/* ================== FOOTER STYLES ================== */
.custom-footer {
    background-color: #F2462A;
    color: #F8F8F0;
    width: 100%;
    flex-shrink: 0;
    padding-left: 32px !important;
    padding-right: 32px !important;
}

@media (max-width: 768px) {
    .custom-footer {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

.footer-main {
    padding-top: 60px !important;
    padding-bottom: 40px !important;
    width: 100%;
    box-sizing: border-box;
}

.footer-columns {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 40px;
    width: 100%;
}

.footer-column {
    display: flex;
    flex-direction: column;
}

.footer-title {
    font: 600 20px/22px Grandstander !important;
    color: #FFB9E5 !important;
    margin-bottom: 12px;
    margin-top: 0;
}

.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-menu li {
    margin-bottom: 12px;
}

.footer-menu li a {
    font: 300 16px/22px Outfit !important;
    color: #F8F8F0 !important;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-menu li a:hover {
    color: #ffffff !important;
}

.footer-bottom {
    margin-bottom: 42px !important;
}

.footer-bottom-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.footer-bottom-content-left {
    display: flex;
    gap: 12px;
    align-items: center;
}

.footer-bottom-content-left a {
    color: #F8F8F0 !important;
    text-decoration: none;
    font-size: 14px;
    line-height: 14px;
    font-weight: 300;
    font-family: 'Outfit', sans-serif;
}

.footer-bottom-content-left .rrss-icons {
    display: flex;
    gap: 16px;
}

.footer-main .rrss-icons {
    display: none;
}

.footer-payment .payment-icons img {
    height: 24px !important;
    width: auto !important;
}

.footer-copyright {
    font-family: 'Outfit', sans-serif;
    font-size: 14px !important;
    line-height: 14px !important;
    color: #F8F8F0 !important;
    margin: 0 !important;
    font-weight: 500 !important;
}

.footer-payment {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
}

.payment-icons {
    display: flex;
    gap: 16px;
}

/* Responsive Footer */
@media (max-width: 1024px) {
    .footer-columns {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 640px) {
    .footer-columns {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .footer-main {
        padding: 40px 0 !important;
    }

    .footer-column {
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }

    .footer-title {
        cursor: pointer;
        position: relative;
        padding: 16px 0;
        margin: 0;
        user-select: none;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .footer-title::after {
        content: '+';
        font-size: 24px;
        font-weight: 300;
        transition: transform 0.3s ease;
        color: #FFB9E5;
    }

    .footer-title.active::after {
        content: '−';
    }

    .footer-menu {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }

    .footer-menu.active {
        max-height: 500px;
        padding-bottom: 16px;
    }

    .footer-bottom {
        padding: 0px;
        flex-direction: column;
    }

    .footer-bottom-content {
        flex-direction: column-reverse;
        text-align: center;
        align-items: start;
        gap: 40px;
    }

    .footer-bottom-content-left {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        justify-items: start;
        gap: 8px;
        width: 100%;
    }

    .footer-payment .payment-icons {
        flex-wrap: wrap;
        gap: 8px !important;
    }

    .footer-bottom-content-left .rrss-icons {
        display: none;
    }

    .footer-main .rrss-icons {
        display: flex;
        justify-content: center;
        gap: 16px;
        margin-bottom: 24px;
    }
}

/* ================== /FOOTER STYLES ================== */

/* ================== SELECT ORDENAMIENTO STYLES ================== */
.woocommerce-ordering {
    margin: 0 !important;
}

.woocommerce-ordering select.orderby {
    padding: 8px 40px 8px 8px;
    font: 500 14px/22px Outfit;
    color: #0E0E1D;
    background-color: transparent;
    border: 1px solid #0E0E1D;
    border-radius: 8px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg fill='%230E0E1D' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' transform='rotate(90)'%3E%3Cpath d='M9.343 18.657a1 1 0 0 1-.707-1.707l4.95-4.95-4.95-4.95a1 1 0 0 1 1.414-1.414l5.657 5.657a1 1 0 0 1 0 1.414l-5.657 5.657a1 1 0 0 1-.707.293z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 20px;
    transition: all 0.3s ease;
    min-width: 200px;
    outline: none;
}





.woocommerce-ordering select.orderby option {
    padding: 10px;
    background-color: #fff;
    color: #333;
}

.top-bar-end-text {
    display: contents;
}

@media (max-width: 600px) {
    .top-bar-end-text {
        display: none;
    }

}

/* Responsive */
@media (max-width: 768px) {
    .woocommerce-ordering select.orderby {
        min-width: 100%;
        width: 190px !important;
        padding: 10px 35px 10px 14px;
        font-size: 13px;
    }


}

/* ================== SELECT VARIANTES STYLES ================== */
.variations td.value select {
    padding: 8px 40px 8px 8px;
    font: 500 14px/22px Outfit;
    color: #0E0E1D;
    background-color: transparent;
    border: 1px solid #0E0E1D;
    border-radius: 8px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg fill='%230E0E1D' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' transform='rotate(90)'%3E%3Cpath d='M9.343 18.657a1 1 0 0 1-.707-1.707l4.95-4.95-4.95-4.95a1 1 0 0 1 1.414-1.414l5.657 5.657a1 1 0 0 1 0 1.414l-5.657 5.657a1 1 0 0 1-.707.293z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 20px;
    transition: all 0.3s ease;
    min-width: 200px;
    outline: none;
}

.variations td.value select option {
    padding: 10px;
    background-color: #fff;
    color: #333;
}

/* Responsive para variantes */
@media (max-width: 768px) {
    .variations td.value select {
        min-width: 100%;
        width: 190px !important;
        padding: 10px 35px 10px 14px;
        font-size: 13px;
    }
}

.parent-category-header {

    background-color: #36CE77;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 300px !important;
    display: flex !important;
    align-items: end !important;
    justify-content: start !important;
    padding-bottom: 24px !important;

}

.wp-block-woocommerce-checkout {
    margin: 0 !important;
}

@media (min-width:1024px) and (max-width: 1920px) {
    .parent-category-header {
        height: 300px !important;
    }

}

@media (min-width:425px) and (max-width: 768px) {
    .parent-category-header {

        height: 250px !important;

    }
}

@media screen and (max-width: 425px) {
    .parent-category-header {
        height: 250px !important;
        padding-bottom: 8px !important;
    }
}

/* ================== /SELECT ORDENAMIENTO STYLES ================== */

/* ================== PAGINACIÓN STYLES ================== */
malvinas3906 .woocommerce-pagination {
    margin: 40px 0;
    text-align: center;
    clear: both;
    float: unset !important;
}

.woocommerce-pagination ul.page-numbers {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.woocommerce-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px !important;
    font: 500 14px/22px Outfit !important;
    color: #0E0E1D;
    background-color: transparent;
    border-radius: 7px !important;
    text-decoration: none;
    cursor: pointer;
}


.woocommerce-pagination .page-numbers.current {
    background-color: #003DFF !important;
    color: #FFB9E5 !important;
    cursor: default;
}

.woocommerce-pagination .page-numbers.prev,
.woocommerce-pagination .page-numbers.next {
    font-size: 18px;
    font-weight: 600;
}

/* Responsive */
@media (max-width: 768px) {
    .woocommerce-pagination {
        margin: 30px 0;
    }

    .woocommerce-pagination .page-numbers {
        min-width: 35px;
        height: 35px;
        padding: 6px 10px;
        font-size: 13px;
    }
}

/* ================== /PAGINACIÓN STYLES ================== */


/* Product Attributes Styles */

/* Product Attributes Container */
.product-attributes {
    margin: 20px 0;
}

/* Individual Product Attribute */
.product-attribute {
    margin-bottom: 15px;
}

.product-attribute label {
    display: block;
    font-weight: 500;
    color: #333;
    margin-bottom: 8px;
    font-size: 14px;
}

/* Color Attributes - Circular buttons */
.attribute-values.color-options {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.attribute-values.color-options .color-option {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 2px solid #ddd;
    cursor: pointer;
    position: relative;
    transition: border-color 0.3s ease;
}

.attribute-values.color-options .color-option.selected {
    border-color: #333;
    border-width: 3px;
}

.attribute-values.color-options .color-option:hover {
    border-color: #666;
}

/* Size Attributes - Rectangular buttons */
.attribute-values.size-options {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.attribute-values.size-options .size-option {
    padding: 8px 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    color: #333;
    background: #fff;
    transition: all 0.3s ease;
    min-width: 40px;
    text-align: center;
}

.attribute-values.size-options .size-option:hover {
    border-color: #666;
    background: #f8f8f8;
}

.attribute-values.size-options .size-option.selected {
    border-color: #007cba;
    background: #007cba;
    color: #fff;
}

/* General attribute values fallback */
.attribute-values:not(.color-options):not(.size-options) {
    color: #666;
    font-size: 14px;
}

/* Add to Cart Section Styling */
.woocommerce div.product form.cart {
    margin-top: 40px;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

.woocommerce div.product form.cart .quantity {
    float: left;
    margin-right: 15px;
}

.woocommerce div.product form.cart .button {
    float: left;
    background: #007cba;
    border: none;
    padding: 12px 25px;
    border-radius: 4px;
    color: #fff;
    font-weight: 500;
    transition: background 0.3s ease;
    width: fit-content !important;
}

.woocommerce div.product form.cart .button:hover {
    background: #005a87;
}

/* Clear floats */
.product-attributes::after,
.woocommerce div.product form.cart::after {
    content: "";
    display: table;
    clear: both;
}

.single-product div.product p.price {
    font-size: 20px !important;
    font-weight: 500 !important;
}

@media (max-width: 768px) {
    .woocommerce div.product form.cart {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 24px !important;
    }
}

img {
    border-radius: 0px !important;
}

.custom-product-page h1 {
    font-family: 'Grandstander', sans-serif;
    font-size: 36px !important;
    line-height: 44px !important;
    font-weight: 600 !important;
    color: #003DFF !important;
    letter-spacing: 0.28px;
    margin-bottom: 0px !important;
}

.custom-product-page p {
    font: normal normal normal 16px/22px Outfit;
    letter-spacing: 0px;
    color: #0E0E1D;
}

.custom-product-page .single-product-summary-header {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

@media (max-width: 768px) {
    .custom-product-page .single-product-summary-header {
        gap: 12px;
    }
}

.custom-product-page .single-product-summary-header .price {
    margin-top: 0px !important;
    margin-bottom: 24px !important;
}

.custom-product-page .single-product-summary-header .woocommerce-product-details__short-description {
    margin-top: 8px;
}

.woocommerce-message {
    background-color: #36CE77 !important;
    font-family: 'Outfit', sans-serif !important;
    border: none !important;
}

.woocommerce-message:focus-visible {
    outline: 0 !important;
}

@media (max-width: 768px) {
    .woocommerce-message {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 14px 16px 0 16px !important;
    }

    .woocommerce-message::before,
    .woocommerce-message::after {
        display: none !important;
    }

    /* order: 1 empuja el link debajo del texto (text node tiene order: 0 implícito) */
    /* margin negativo para que la línea divisoria llegue de borde a borde */
    .woocommerce-message>a.button.wc-forward {
        order: 1 !important;
        display: block !important;
        float: none !important;
        text-align: center !important;
        background: transparent !important;
        border: none !important;
        border-top: 1px solid rgba(255, 255, 255, 0.5) !important;
        box-shadow: none !important;
        padding: 12px 16px !important;
        margin: 10px -16px 0 -16px !important;
        color: #fff !important;
        font-family: 'Outfit', sans-serif !important;
        font-weight: 600 !important;
    }

    .woocommerce-message>a.button.wc-forward:hover {
        background: transparent !important;
        color: #fff !important;
    }
}

.woocommerce ul.products::after {
    content: none !important;
    display: none !important;
}

.paginas-legales.cart-page .entry-header {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

.paginas-legales.cart-page h1 {
    margin-bottom: 30px !important;
}

/********************** CARRITO DE COMPRAS **********************/
.cart-page .entry-header {
    padding-top: 72px !important;
    padding-bottom: 40px !important;
}

.cart-page article {
    margin-bottom: 14px !important;
}

.cart-page h1 {
    font-family: 'Grandstander', sans-serif;
    font-size: 36px !important;
    line-height: 44px !important;
    font-weight: 600 !important;
    color: #0E0E1D !important;
    letter-spacing: 0.28px;
    margin-bottom: 0px !important;
    text-align: start;

}

.cart-page .wc-block-cart {
    margin-bottom: 12px !important;
}

@media (max-width: 768px) {
    .cart-page .wc-block-cart {
        margin-bottom: 16px !important;
    }

    .cart-page article {
        margin-bottom: 0px !important;
    }
}

.cart-page table {
    margin-bottom: 0px !important;
}

.cart-page table tr {
    border: 1px solid rgba(14, 14, 29, 0.3) !important;
    border-right: none !important;
    border-left: none !important;
}

.cart-page .wc-block-cart-items thead th {
    font-family: 'Outfit', sans-serif !important;
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 500 !important;
    color: #0E0E1D !important;
    text-transform: none !important;
}

.cart-page table tr td {
    margin-bottom: 0px !important;
}

.cart-page table tr td .wc-block-components-product-price__value {
    font: normal normal normal 16px/22px Outfit;
    letter-spacing: 0px;
    color: #0E0E1D;
}

.cart-page .is-large.wc-block-cart .wc-block-cart-items th {
    padding: 8px 16px 16px 0 !important;
}

.cart-page .wc-block-cart-item__product {
    padding-left: 24px !important;

}

.cart-page .wc-block-cart-items .wc-block-components-product-name {
    font-family: 'Outfit', sans-serif !important;
    font-size: 16px !important;
    line-height: 18px !important;
    font-weight: 500 !important;
    color: #0E0E1D !important;
    text-decoration: none !important;
    margin-bottom: 8px !important;
}

.cart-page .wc-block-cart-items del {
    display: none !important;
}

.cart-page .wc-block-cart-items ins {
    font-family: 'Outfit', sans-serif !important;
    margin: 0px !important;
    font-size: 16px !important;
    line-height: 18px !important;
    font-weight: 500 !important;
    color: #0E0E1D !important;

}

.cart-page .wc-block-components-product-badge,
.cart-page .wc-block-components-product-metadata__description {
    display: none !important;

}

.cart-page .wc-block-cart-item__quantity {
    display: flex !important;
    gap: 12px !important;
}

.cart-page .wc-block-cart-item__quantity .cart-remove-icon-ready {
    display: inline-flex !important;
    align-content: center !important;
    flex-wrap: wrap !important;
}

.cart-page .wc-block-components-quantity-selector {
    border: 1px solid #0E0E1D !important;
    border-radius: 6px;
    width: 95px !important;
    justify-content: center !important;
    margin-bottom: 0px !important;
}

.cart-page .wc-block-components-quantity-selector input {
    min-width: 0px !important;
    max-width: 40px !important;
    padding: 0px 6px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    font-family: 'Outfit', sans-serif !important;
    color: #0E0E1D !important;
}

.cart-page .wc-block-components-quantity-selector button {
    color: #003DFF !important;
    min-width: 20px !important;
    opacity: 1;
    font-size: 18px !important;
    font-weight: 600 !important;
}

.cart-page .wp-block-woocommerce-cart-order-summary-block h2,
.cart-page .wc-block-components-checkout-order-summary__title p {
    font: normal normal 500 20px/28px Outfit !important;
    letter-spacing: 0px;
    color: #0E0E1D;
    text-transform: none !important;
    padding: 8px 16px 16px 0;
}

.cart-page .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item__label {
    font: normal normal 500 20px/28px Outfit !important;
    letter-spacing: 0px !important;
    color: #0E0E1D !important;
}

.cart-page .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item__label {
    font: normal normal 500 20px/28px Outfit !important;
    letter-spacing: 0px !important;
    color: #0E0E1D !important;
}

.cart-page .wp-block-woocommerce-cart-order-summary-block .wc-block-formatted-money-amount,
.cart-page .wc-block-components-totals-item__value {
    font: normal normal 500 20px/28px Outfit !important;
    letter-spacing: 0px !important;
    color: #0E0E1D !important;
}

.cart-page .wc-block-components-totals-item__value strong {
    font-weight: 500 !important;
}

.cart-page .wc-block-cart__submit {
    margin-bottom: 0px !important;
}

.cart-page .wc-block-cart__submit .wc-block-cart__submit-container {
    width: fit-content !important;
    border-radius: 15px !important;
}


.cart-page .wc-block-cart__submit .wc-block-cart__submit-container a,
.cart-page .wc-block-components-checkout-place-order-button {
    background-color: #003DFF !important;
    color: #FFB9E5 !important;
    font: normal normal 500 18px/18px Grandstander !important;
    padding: 15px 27px !important;
    min-width: 0px !important;
    min-height: 0px !important;
    width: fit-content !important;
    border-radius: 15px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.cart-page .wc-block-cart__submit .wc-block-cart__submit-container a:hover,
.cart-page .wc-block-components-checkout-place-order-button:hover {
    background-color: #FFB9E5 !important;
    color: #003DFF !important;
    transition: all 0.3s ease !important;
}

.cart-page .wc-block-cart__submit .wc-block-cart__submit-container a div {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

@media (max-width: 750px) {
    .cart-page .wc-block-cart__submit .wc-block-cart__submit-container {
        width: 100% !important;
    }

    .cart-page .wc-block-components-button__text,
    .cart-page .wc-block-components-button.wp-element-button.wc-block-cart__submit-button {
        width: 100% !important;
    }

    .cart-page .joinchat__button,
    .cart-page .cky-revisit-bottom-left {
        bottom: 80px !important;
    }
}

.cart-page .wc-block-components-totals-coupon__content form button {
    background: #0E0E1D !important;
    border-radius: 14px !important;
    opacity: 1 !important;
}

.wc-block-components-totals-coupon__content form button {
    max-height: 50px !important;
}

.wc-block-components-totals-coupon__content form button[disabled],
.wc-block-components-totals-coupon__content form button:disabled {
    pointer-events: auto !important;
    cursor: pointer !important;
}

.wc-block-components-totals-coupon__content form button:focus,
.wc-block-components-totals-coupon__content form button:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.cart-page .wc-block-components-totals-coupon__content .wc-block-components-validation-error span,
.cart-page .wc-block-checkout__main .wc-block-components-validation-error span {
    font-family: 'Outfit', sans-serif !important;
}

.cart-page .wc-block-components-totals-coupon form button .wc-block-components-button__text {
    font: normal normal 500 16px/22px Outfit !important;
    letter-spacing: 0px !important;
    color: #FFFFFF !important;
    opacity: 1 !important;

}

.cart-page .wc-block-components-totals-coupon__content form input,
.cart-page .wc-block-checkout__main form input,
.cart-page .wc-block-checkout__main form option {
    border: 1px solid #0E0E1D !important;
    border-radius: 14px !important;
    font: normal normal normal 16px/22px Outfit;
    letter-spacing: 0px;
    color: #FFFFFF;
    background-color: transparent !important;
}

.cart-page .wc-block-checkout__main select,
.cart-page .wc-block-checkout__main .wc-blocks-components-select__select,
.cart-page .wc-block-checkout__main .wc-block-components-select__select {
    padding: 8px 40px 8px 8px !important;
    font: 500 14px/22px Outfit !important;
    color: #0E0E1D !important;
    background-color: transparent !important;
    border: 1px solid #0E0E1D !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg fill='%230E0E1D' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' transform='rotate(90)'%3E%3Cpath d='M9.343 18.657a1 1 0 0 1-.707-1.707l4.95-4.95-4.95-4.95a1 1 0 0 1 1.414-1.414l5.657 5.657a1 1 0 0 1 0 1.414l-5.657 5.657a1 1 0 0 1-.707.293z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 20px !important;
    transition: all 0.3s ease !important;
    min-width: 200px !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Ocultar label flotante del select */
.cart-page .wc-block-checkout__main .wc-block-components-select label,
.cart-page .wc-block-checkout__main .wc-blocks-components-select label,
.cart-page .wc-block-checkout__main .wc-block-components-select .wc-block-components-select__label,
.cart-page .wc-block-checkout__main .wc-blocks-components-select .wc-block-components-select__label {
    display: none !important;
}

/* Ocultar iconos/flechas adicionales del wrapper del select */
.cart-page .wc-block-checkout__main .wc-block-components-select::before,
.cart-page .wc-block-checkout__main .wc-block-components-select::after,
.cart-page .wc-block-checkout__main .wc-blocks-components-select::before,
.cart-page .wc-block-checkout__main .wc-blocks-components-select::after,
.cart-page .wc-block-checkout__main .wc-block-components-select__select::before,
.cart-page .wc-block-checkout__main .wc-block-components-select__select::after,
.cart-page .wc-block-checkout__main .wc-block-components-select svg,
.cart-page .wc-block-checkout__main .wc-blocks-components-select svg,
.cart-page .wc-block-checkout__main .wc-block-components-select .wc-block-components-select__icon,
.cart-page .wc-block-checkout__main .wc-blocks-components-select .wc-block-components-select__icon {
    display: none !important;
}

/* Asegurar que solo haya una flecha (ocultar la nativa) */
.cart-page .wc-block-checkout__main select::-ms-expand,
.cart-page .wc-block-checkout__main .wc-block-components-select__select::-ms-expand {
    display: none !important;
}

.cart-page .wc-block-checkout__main select option,
.cart-page .wc-block-checkout__main .wc-blocks-components-select__select option,
.cart-page .wc-block-checkout__main .wc-block-components-select__select option {
    padding: 10px !important;
    background-color: #fff !important;
    color: #333 !important;
}

/* Estilos para selects del checkout tradicional de WooCommerce */
.woocommerce-checkout select,
.woocommerce-checkout .country_select,
.woocommerce-checkout .state_select,
.woocommerce-checkout #billing_country,
.woocommerce-checkout #shipping_country,
.woocommerce-checkout #billing_state,
.woocommerce-checkout #shipping_state {
    padding: 8px 40px 8px 8px !important;
    font: 500 14px/22px Outfit !important;
    color: #0E0E1D !important;
    background-color: transparent !important;
    border: 1px solid #0E0E1D !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg fill='%230E0E1D' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' transform='rotate(90)'%3E%3Cpath d='M9.343 18.657a1 1 0 0 1-.707-1.707l4.95-4.95-4.95-4.95a1 1 0 0 1 1.414-1.414l5.657 5.657a1 1 0 0 1 0 1.414l-5.657 5.657a1 1 0 0 1-.707.293z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 20px !important;
    transition: all 0.3s ease !important;
    min-width: 200px !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Ocultar flechas adicionales que puedan aparecer */
.woocommerce-checkout select::-ms-expand {
    display: none !important;
}

.woocommerce-checkout select option,
.woocommerce-checkout .country_select option,
.woocommerce-checkout .state_select option {
    padding: 10px !important;
    background-color: #fff !important;
    color: #333 !important;
}

@media (max-width: 768px) {

    .woocommerce-checkout select,
    .woocommerce-checkout .country_select,
    .woocommerce-checkout .state_select,
    .woocommerce-checkout #billing_country,
    .woocommerce-checkout #shipping_country,
    .woocommerce-checkout #billing_state,
    .woocommerce-checkout #shipping_state {
        min-width: 100% !important;
        width: 190px !important;
        padding: 10px 35px 10px 14px !important;
        font-size: 13px !important;
    }
}

.cart-page .wc-block-components-totals-coupon__content form input:focus,
.cart-page .wc-block-checkout__main form input:focus,
input:focus {
    outline: 0 !important;
}


.cart-page .wc-block-components-totals-coupon__content form .wc-block-components-text-input label,
.cart-page .wc-block-checkout__main form .wc-block-components-text-input label {
    font: normal normal normal 14px/22px Outfit !important;
    color: #0E0E1D66 !important;
    left: 24px !important;
    top: 25px !important;
}

.cart-page .wc-block-components-totals-coupon__content form .wc-block-components-text-input.is-active label,
.cart-page .wc-block-checkout__main form .wc-block-components-text-input.is-active label {
    opacity: 0 !important;
}

.cart-page .wc-block-components-totals-coupon__content form .wc-block-components-text-input.is-active input,
.cart-page .wc-block-checkout__main form .wc-block-components-text-input.is-active input {
    padding-left: 24px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

@media (max-width: 768px) {
    .cart-page .entry-header {
        padding-top: 40px !important;
        padding-bottom: 24px !important;
    }

    .cart-page h1 {
        font-family: 'Grandstander', sans-serif;
        font-size: 27px !important;
        line-height: 30px !important;
        font-weight: 600 !important;
        color: #0E0E1D !important;
        letter-spacing: 0.28px;
        margin-bottom: 0px !important;
        text-align: start;

    }

    .cart-page table {
        margin-bottom: 24px !important;
    }

    .cart-page .wc-block-checkout__main select,
    .cart-page .wc-block-checkout__main .wc-blocks-components-select__select,
    .cart-page .wc-block-checkout__main .wc-block-components-select__select {
        min-width: 100% !important;
        width: 190px !important;
        padding: 10px 35px 10px 14px !important;
        font-size: 13px !important;
    }
}

/* Grid 2x2 Structure */
.grid-2x2-container {
    display: grid;
    grid-template-rows: auto auto;
    /* Cada fila tiene su propia altura basada en su contenido */
    gap: 72px;
    width: 100%;
    margin-bottom: 72px !important;
    margin-top: 72px !important;
}


.grid-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    align-items: stretch;
    /* Asegura que ambas columnas tengan la misma altura */
}

.grid-column {
    min-height: 250px;
    max-height: fit-content !important;
    /* Ajusta la altura mínima según necesites */
}

@media (max-width: 768px) {
    .grid-row {
        grid-template-columns: 1fr;
    }

    .grid-2x2-container {
        grid-template-rows: repeat(4, auto);
        gap: 0px !important;
        margin-bottom: 40px !important;
        margin-top: 40px !important;
    }

    /* Invertir orden de columnas en la segunda fila en mobile */
    .media-banner.second .grid-column:first-child {
        order: 2;
    }

    .media-banner.second .grid-column:last-child {
        order: 1;
    }
}

/* Asegurar que el contenedor del mega menu permita el overflow */
.mega-menu-wrap,
.header-container,
.custom-header-main-bar {
    position: relative !important;
    overflow: visible !important;
}

/* Asegurar que el submenu se posicione desde el viewport, no desde el contenedor padre */
.max-mega-menu>li {
    position: static !important;
}

/* Submenu principal (ul) - cuando son hijos directos del header */
#masthead>ul.mega-sub-menu,
.site-header>ul.mega-sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    z-index: 9999 !important;
    transform: none !important;

    margin: 0 !important;
}

/* Submenu principal (ul) - estructura original (por si acaso) - mismo ancho y posición que el header con page-width */
.max-mega-menu>li>ul.mega-sub-menu {
    position: absolute !important;
    box-sizing: border-box !important;
    z-index: 9999 !important;
    transform: none !important;
    padding: 0 !important;
}

/* Contenedor interno con el mismo ancho que page-width del header, centrado */

.max-mega-menu>li>ul.mega-sub-menu {
    display: flex !important;
    justify-content: start !important;
}

@media (min-width: 769px) {
    #masthead>ul.mega-sub-menu {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 24px !important;
    }
}

.hamburger-menu-toggle {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (min-width: 769px) {
    .hamburger-menu-toggle {
        display: none;
    }
}

.mobile-menu-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 9995;
}

body.is-mobile-menu-open .mobile-menu-overlay {
    opacity: 1;
    pointer-events: auto;
}

.mobile-menu-close {
    position: fixed;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    border: none;
    font-size: 26px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
    z-index: 10005;
    background: none !important;
}

body.is-mobile-menu-open .mobile-menu-close {
    opacity: 1;
    pointer-events: auto;
}

@media (min-width: 769px) {
    .mobile-menu-close {
        display: none;
    }
}

/* Espaciadores laterales para limitar el ancho del contenido al mismo que el header */
#masthead>ul.mega-sub-menu::before,
.site-header>ul.mega-sub-menu::before,
.max-mega-menu>li>ul.mega-sub-menu::before {
    content: '';
    flex: 0 0 auto;
    width: calc((100vw - 1600px) / 2);
    min-width: 16px;
}

#masthead>ul.mega-sub-menu::after,
.site-header>ul.mega-sub-menu::after,
.max-mega-menu>li>ul.mega-sub-menu::after {
    content: '';
    flex: 0 0 auto;
    width: calc((100vw - 1600px) / 2);
    min-width: 16px;
}

/* Ajustes responsive - igual que page-width del header */
@media (min-width: 1600px) {

    #masthead>ul.mega-sub-menu::before,
    .site-header>ul.mega-sub-menu::before,
    #masthead>ul.mega-sub-menu::after,
    .site-header>ul.mega-sub-menu::after,
    .max-mega-menu>li>ul.mega-sub-menu::before,
    .max-mega-menu>li>ul.mega-sub-menu::after {
        width: calc((100vw - 1600px) / 2);
        min-width: 16px;
    }
}

@media (max-width: 1900px) {

    #masthead>ul.mega-sub-menu::before,
    .site-header>ul.mega-sub-menu::before,
    #masthead>ul.mega-sub-menu::after,
    .site-header>ul.mega-sub-menu::after,
    .max-mega-menu>li>ul.mega-sub-menu::before,
    .max-mega-menu>li>ul.mega-sub-menu::after {
        min-width: 32px;
    }
}

@media (max-width: 1600px) {

    #masthead>ul.mega-sub-menu::before,
    .site-header>ul.mega-sub-menu::before,
    #masthead>ul.mega-sub-menu::after,
    .site-header>ul.mega-sub-menu::after,
    .max-mega-menu>li>ul.mega-sub-menu::before,
    .max-mega-menu>li>ul.mega-sub-menu::after {
        width: calc((100vw - 1470px) / 2);
        min-width: 32px;
    }
}

@media (max-width: 768px) {

    #masthead>ul.mega-sub-menu::before,
    .site-header>ul.mega-sub-menu::before,
    #masthead>ul.mega-sub-menu::after,
    .site-header>ul.mega-sub-menu::after,
    .max-mega-menu>li>ul.mega-sub-menu::before,
    .max-mega-menu>li>ul.mega-sub-menu::after {
        min-width: 16px;
    }
}

.mega-sub-menu:before {
    display: none !important;
}

.mega-sub-menu {
    list-style: none !important;
}

.mega-sub-menu li>ul {
    margin-left: 0px !important;
}

.mega-sub-menu {
    list-style: none !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}

.mega-sub-menu .mega-sub-menu {
    list-style: none !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
}

.mega-sub-menu>li>ul>li>a {
    color: #0E0E1D !important;
    text-decoration: none !important;
    font: 16px/18px Outfit !important;
    font-weight: 300 !important;
    display: block !important;
    padding: 0 !important;
    -webkit-tap-highlight-color: transparent !important;
}

.mega-sub-menu>li>ul>li>a:hover {
    color: #F2462A !important;
    font-weight: 500 !important;

}



@media (max-width: 768px) {
    .mega-sub-menu {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

.max-mega-menu li ul {
    display: flex !important;
    flex-direction: row !important;
    gap: 24px !important;
}

.max-mega-menu:has(.mega-toggle-on)>li ul li ul {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    position: static !important;
}

.max-mega-menu li ul li ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.mega-sub-menu>li>a {
    margin-bottom: 16px !important;
    color: #003DFF !important;
    font-weight: 500 !important;
    font: normal normal 500 16px/20px Outfit;
    display: block !important;
}

.mega-sub-menu li ul li {
    font: normal normal normal 14px/18px Outfit;
    margin-bottom: 8px !important;
}

/* Estilos adicionales para mega-sub-menu cuando son hijos directos del header */
#masthead>ul.mega-sub-menu,
.site-header>ul.mega-sub-menu {
    /* Asegurar que el submenu se posicione correctamente debajo del header */
    top: 99% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;

    /* Ocultar por defecto */
    visibility: hidden !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    pointer-events: none !important;
    background: #FFE9F4 !important;
    padding-bottom: 36px !important;
    padding-top: 36px !important;
    2
}

/* Mostrar cuando tiene la clase mega-sub-menu-visible */
#masthead>ul.mega-sub-menu.mega-sub-menu-visible,
.site-header>ul.mega-sub-menu.mega-sub-menu-visible {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

@media (max-width: 768px) {
    body.is-mobile-menu-open {
        overflow: hidden;
    }
}

/* Panel móvil: contenedor único que agrupa todos los submenús apilados */
.mobile-mega-panel {
    display: none;
}

@media (max-width: 768px) {
    .mobile-mega-panel {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        left: auto;
        width: 100vw;
        max-width: 100vw;
        height: 100vh;
        padding: 56px 20px 80px;
        background: #000000;
        transform: translateX(100%);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: transform 0.35s ease, opacity 0.35s ease, visibility 0.35s ease;
        overflow-y: auto;
        z-index: 10000;
    }

    body.is-mobile-menu-open .mobile-mega-panel {
        transform: translateX(0);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    /* Título de cada sección del megamenú */
    .mobile-mega-section-title {
        font-family: 'Outfit', sans-serif;
        font-size: 20px;
        font-weight: 700;
        color: #F2462A;
        padding: 24px 0 10px;
        margin: 0;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
    }

    .mobile-mega-section-title:first-child {
        padding-top: 0;
        border-top: none;
    }

    /* Cada submenú ocupa el ancho completo y se apila */
    .mobile-mega-panel>ul.mega-sub-menu {
        position: static !important;
        height: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
        display: block !important;
        background: none !important;
        overflow: visible !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 20px !important;
        margin-bottom: 0;
    }

    .mobile-mega-panel>ul.mega-sub-menu:last-child {
        padding-bottom: 0 !important;
    }

    /* Items dentro del panel móvil */
    .mobile-mega-panel .mega-sub-menu>li>a {
        font-size: 15px !important;
        margin-bottom: 12px !important;
    }

    .mobile-mega-panel .mega-sub-menu>li>ul>li {
        margin-bottom: 6px !important;
    }

    .mobile-mega-panel .mega-sub-menu>li>ul>li>a {
        font-size: 14px !important;
    }
}


/* Asegurar que el header tenga position relative para que los submenús absolutos funcionen */
#masthead.site-header {
    position: sticky !important;
}

#mega-menu-wrap-primary .mega-menu-toggle {
    display: none !important;
}

.pum-overlay {
    background-color: transparent !important;
}

/* Estado de carga AJAX para la grilla de productos */
.shop-listing-wrapper.ajax-loading {
    position: relative;
    pointer-events: none;
    opacity: 0.5;
    transition: opacity 0.2s ease;
}

.shop-listing-wrapper.ajax-loading::after {
    content: '';
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    width: 36px;
    height: 36px;
    border: 3px solid #e0e0e0;
    border-top-color: #003DFF;
    border-radius: 50%;
    animation: pf-spin 0.7s linear infinite;
    z-index: 10;
}

@keyframes pf-spin {
    to {
        transform: translateX(-50%) rotate(360deg);
    }
}

.pum-container.pum-responsive.pum-responsive-medium {
    max-width: 768px !important;
    background-color: #F2462A !important;
}

/* FiboSearch - overlay mobile con opacidad */
.dgwt-wcas-overlay-mobile {
    background: rgba(0, 0, 0, 0.70) !important;
    backdrop-filter: blur(4px);
}

.dgwt-wcas-overlay-mobile * {
    border-radius: 0 !important;
}

/* Ocultar filtros si la búsqueda no tiene resultados */
.search-no-results .side-bar,
.search-no-results .mobile-filter-toggle {
    display: none !important;
}

.search-no-results .shop-listing-wrapper {
    width: 100% !important;
    float: none !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

/* Ocultar "Tambien te recomendamos" (upsells nativos) - los upsells se muestran en Completa tu look */
.single-product .upsells{display:none !important;}


/* Sustituir barra superior 5% por pop-up (Popup Maker) */
.top-bar{display:none !important;}


/* Pop-up: dejar la pagina IDENTICA al abrir (neutralizar overflow y padding que anade Popup Maker) para que no haya ningun movimiento */
html.pum-open-overlay{overflow:visible !important;padding-right:0 !important;}
html.pum-open-overlay .site,html.pum-open-overlay body,html.pum-open-overlay .hfeed.site{padding-right:0 !important;}


/* Pop-up: quitar la barra semitransparente de la respuesta del formulario cuando esta vacia */
#pum-14740 .mc4wp-response{background:transparent !important;padding:0 !important;border-radius:0 !important;}
#pum-14740 .mc4wp-response:empty{display:none !important;}


/* === PF 2026-10-21: ajustes menu movil (X, toque, recorte) para igualar al desktop === */
@media (max-width: 768px) {
  .mega-menu-close,
  .mega-menu-close svg,
  .mega-menu-close svg *,
  .mega-menu-close path,
  .mega-menu-close line { color:#FFFFFF !important; fill:#FFFFFF !important; stroke:#FFFFFF !important; }
}
@media (max-width: 1240px) {
  .hamburger-menu-toggle,
  .hamburger-menu-icon,
  .mega-menu-close { -webkit-tap-highlight-color: transparent !important; outline: none !important; }
  .hamburger-menu-toggle,
  .hamburger-menu-icon { overflow: visible !important; }
  .hamburger-menu-icon { height: auto !important; }
}
