/* ==========================================================================
   215. EVENTOS: HERO DE EVENTO INDIVIDUAL (.event__info)
   ========================================================================== */
#eventDetail .event__title {
    color: var(--primary-dark-green);
    font-family: var(--font-heading);
    font-size: 40px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
}

#eventDetail .event__description {
    color: var(--primary-dark-green);
    font-family: var(--font-main);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    text-align: center;
}

/* Redes Sociales */
#eventDetail .event__social-icons {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-bottom: 40px;
    padding: 0;
    list-style: none;
}

#eventDetail .event__social-icons .icons {
    width: 40px;
    height: 40px;
}

/* Imagen Principal de Fondo */
#eventDetail .event__background {
    width: 90%;
    height: 100%;
    max-height: 592px;
    margin: 0 auto;
    border-radius: 24px;
    object-fit: cover;
}

.single-product .jet-wishlist-button__state {
    display: none;
}

/* ==========================================================================
   255. PRODUCTO: INDICACIONES Y VARIACIONES (.variaciones-items)
   ========================================================================== */
.info-variation .img-info-variation,
.info-variation .img-info-variation-hover {
    border-radius: 8px;
}

/* Grilla de ítems repetidores en móvil */
@media screen and (max-width: 767px) {
    .variaciones-items.mdw_indicaciones .jet-listing-dynamic-repeater__items .jet-listing-dynamic-repeater__item {
        width: calc(50% - 12px) !important;
    }
}

p.stock {
    margin-bottom: 12px;
}

/* Ajuste de espaciado en campos de facturación */
#billing_field_219497_field p,
#billing_field_953495_field p {
    margin-top: 12px;
}

@media (max-width: 767px) {
    /* ==========================================================================
       272. NAVEGACIÓN: SLIDERS Y FLECHAS
       ========================================================================== */
    
    /* Categorías en Shop */
    #slider-category-shop .slider-categorias .Arrownext.slick-arrow {
        top: calc(50% - 22px);
        right: 10px;
    }

    #slider-category-shop .slider-categorias .Arrowprev.slick-arrow {
        top: calc(50% - 22px);
        left: 5px;
    }

    /* Flechas globales de JetListing */
    .jet-listing-grid__slider-icon.slick-arrow {
        background-color: var(--primary-green) !important;
        color: var(--primary-dark-green) !important;
    }

    .jet-listing-grid__slider-icon.slick-arrow.next-arrow {
        right: 20px !important;
        transform: translateY(60%) rotate(180deg);
    }

    .jet-listing-grid__slider-icon.slick-arrow.prev-arrow {
        left: 20px !important;
        transform: translateY(60%);
    }

    /* Slider de Producto Individual (Swiper) */
    #slider-product-mobile .jet-swiper-nav.jet-swiper-button-prev {
        left: 15px !important;
    }

    #slider-product-mobile .jet-swiper-nav.jet-swiper-button-next {
        right: 15px !important;
    }

    #slider-product-mobile .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
        background-color: rgba(121, 217, 124, 0.38); /* #79d97c61 */
    }

    #slider-product-mobile .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet-active {
        background-color: var(--primary-green);
    }

    /* ==========================================================================
       275. CHECKOUT: NAVEGACIÓN Y BOTÓN ANTERIOR
       ========================================================================== */

    /* Sobrescritura de navegación fija (Sticky) al final del proceso */
    #checkout-global .wpmc-nav-wrapper.wpmc-no-back-to-cart {
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 10;
        padding: 20px 5px;
        background: var(--pure-white);
        box-shadow: 0px -4px 16px 0px rgba(0, 0, 0, 0.15);
        border-radius: 16px 16px 0 0;
        align-items: center;
    }

    /* Ocultar navegación en el paso de revisión final */
    #checkout-global .wpmc-review.current .wpmc-nav-wrapper.wpmc-no-back-to-cart {
        display: none !important;
    }

    /* ==========================================================================
       281. BUNDLES (WOOSB): DISEÑO DE PRODUCTOS AGRUPADOS
       ========================================================================== */
    
    /* Contenedor de variaciones en bundles */
    #checkout-global tr.woosb-item-child dl.variation {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        flex-wrap: wrap;
        gap: 5px;
    }

    #checkout-global tr.woosb-item-child dl.variation p {
        margin-block-start: 0;
    }

    /* Fila de producto hijo del bundle */
    #checkout-global tr.woosb-cart-item.woosb-item-child {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }

    /* Distribución de columnas en bundle móvil */
    #checkout-global tr.woosb-item-child td.product-thumbnail {
        width: 25% !important;
    }

    #checkout-global tr.woosb-item-child td.product-name {
        width: 70% !important;
        border: none !important;
    }

    #checkout-global tr.woosb-item-child td.product-quantity {
        width: 35% !important;
        border: none !important;
    }

    #checkout-global tr.woosb-item-child td.product-subtotal {
        width: 50% !important;
        border: none !important;
    }

    #checkout-global tr.woosb-item-child td.product-remove {
        width: 15% !important;
        border: none !important;
    }

    /* Fila del producto padre */
    #checkout-global tr.woosb-item-parent {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }

    /* ==========================================================================
       282. FICHA DE PRODUCTO: MULTIMEDIA Y CARRUSELES
       ========================================================================== */
    
    /* Video y Galería */
    #checkout-global .mejs-video {
        height: 380px !important;
    }

    #checkout-global .jet-woo-product-gallery__image.jet-woo-product-gallery--with-video {
        height: 390px;
        max-height: 390px;
        object-fit: cover;
    }

    /* Flechas de categorías */
    #checkout-global .slider-categorias .slick-arrow,
    #checkout-global #slider-slick-subcategories .slick-arrow {
        padding: 5px !important;
    }

    #checkout-global .slider-categorias .Arrowprev.slick-arrow {
        top: 25px;
        left: -10px;
        width: 25px;
    }

    #checkout-global .slider-categorias .Arrownext.slick-arrow {
        top: 25px;
        right: 10px;
        width: 25px;
    }

    /* ==========================================================================
       283. PRODUCTO INDIVIDUAL: OVERRIDES MÓVIL
       ========================================================================== */
    
    /* Ocultar elementos innecesarios en el sticky add-to-cart móvil */
    #checkout-global .add-to-cart-single-mobile .woocommerce-variation,
    #checkout-global .add-to-cart-single-mobile table.variations,
    #checkout-global .add-to-cart-single-mobile .woosb-bundled,
    #checkout-global .add-to-cart-single-mobile span.wlr-product-message {
        display: none !important;
    }

    /* Ocultar botones desktop en versión móvil */
    #checkout-global .add-to-cart-single-desktop .qib-button-wrapper,
    #checkout-global .add-to-cart-single-desktop .single_add_to_cart_button {
        display: none;
    }

    /* Manejo de precios (Total y Soles) */
    #checkout-global .price-soles {
        float: right;
        width: 50%;
        text-align: end;
    }

    #checkout-global .price-total {
        float: left;
        width: 50%;
    }

    #precausiones .jet-listing-dynamic-repeater__items {
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      gap: 24px;
    }

    .single-product {
        .product-type-simple,
        .product-type-composite,
        .product-type-woosb {
        .elementor-jet-single-add-to-cart {
            .jet-woo-builder-single-ajax-add-to-cart {
            form.cart {
                position: fixed;
                z-index: 8888;
                bottom: 0px;
                width: 100%;
                background: #fff;
                padding: 10px 10px;
                left: 0px;
                border-radius: 16px 16px 0px 0px;
                box-shadow: 2px -2px 7px 3px #0000001f;
            }
            }
        }
        }

        .product-type-variable {
        .single_variation_wrap {
            .variations_button {
            position: fixed;
            z-index: 8888;
            bottom: 0px;
            width: 100%;
            background: #fff;
            padding: 25px 10px;
            left: 0px;
            border-radius: 16px 16px 0px 0px;
            box-shadow: 2px -2px 7px 3px #0000001f;
            }
        }
        }
    }

}

@media screen and (max-width: 1024px) and (min-width: 768px) {

    /*Solo aplica para el single product*/
    .product .e-con-inner .elementor-element-a246897 .elementor-element-b8a97b0,
    .product .e-con-inner .elementor-element-a246897 .elementor-element-5ef1839 {
        display: block;
    }
}

.desktop-gallery {
    .custom-product-gallery {
        display: flex;
        flex-wrap: wrap;
    }

    .custom-product-gallery-image-video {
        display: flex;
        flex-wrap: wrap;
    }

    .w50 {
        width: 50%;
        padding: 10px;
        box-sizing: border-box;
    }

    .custom-product-gallery img,
    .custom-product-gallery video {
        width: 100%;
        height: auto;
        border-radius: 8px;
    }

    .custom-product-gallery-images picture img {
        border-radius: 8px;
    }

    .custom-product-gallery-video video {
        border-radius: 8px;
    }

    .custom-product-gallery-variations {
        display: flex;
        /* Oculto por defecto hasta que se seleccione una variación */
    }

    .hide {
        display: none;
    }

    .hidden {
        display: none;
    }

    .gallery-toggle-btn {
        font-size: 16px;
        color: var(--e-global-color-2ed775f);
        background-color: var(--e-global-color-text);
        border-radius: 30px;
        font-weight: 600;
        cursor: pointer;
        padding: 15px 30px;
        position: absolute;
        bottom: 0px;
        transform: translateX(50%);
        right: 50%;
        border: none;
    }

    .gallery-toggle-btn.hide {
        display: none;
    }

    /* Estilos para el slider de la versión móvil */
    .mobile-gallery .swiper-container {
        width: 100%;
    }

    .mobile-gallery .swiper-slide {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
    }

    .swiper-pagination {
        text-align: center;
    }

    /* Ocultar galería de escritorio en móviles */
    @media (max-width: 768px) {
        .w50 {
            width: 100%;
        }

        .desktop-gallery {
            display: none;
        }

        .mobile-gallery {
            display: block;
        }
    }
}

.variations_form .variations .woo-variation-items-wrapper .image-variable-items-wrapper .image-variable-item .variable-item-contents .variable-item-image img {
    width: 70px;
    height: 40px;
    object-fit: cover;
}

.variations_form .variations .variation .woo-variation-items-wrapper .image-variable-items-wrapper .image-variable-item .variable-item-contents .variable-item-image img {
    width: 70px;
    height: 40px;
    object-fit: cover;
}

.variations_form .variations .variation .woo-variation-items-wrapper .image-variable-items-wrapper .image-variable-item .variable-item-contents:before {
    width: 50% !important;
}

.variations_form .variations .woo-variation-items-wrapper .image-variable-items-wrapper .image-variable-item .variable-item-contents:before {
    width: 50% !important;
}

#add-to-cart-custom .cart_item .product-subtotal .regular-price {
    color: #586043CC;
    text-decoration: none !important;

    .woocommerce-Price-amount.amount {
        font-size: 12px;
        text-decoration: line-through;
    }
}

/* ==========================================================================
   295. FORMULARIOS: CAMPO DE EMAIL PERSONALIZADO (.custom-email-field)
   ========================================================================== */
.custom-email-field {
    padding: 25px 10px;
    background: var(--pure-white);
    border-radius: 16px;
}

.custom-email-field h3 {
    padding-bottom: 5px;
    color: var(--brand-red, #C92D2D); /* Color de alerta/atención */
    font-size: 18px;
    text-transform: uppercase;
    margin: 0;
}

.custom-email-field label {
    width: 100%;
}

.custom-email-field input#correo_reserva {
    width: 100%;
    margin-bottom: 30px;
    padding-top: 25px;
}

.custom-email-field button#guardar_correo {
    width: 100%;
}

/* ==========================================================================
   303. DISEÑO DE CANTIDAD DENTRO DE .CART
   ========================================================================== */
.cart .quantity {
    display: flex;
    justify-content: space-between;
    width: 60px;
    max-width: 60px !important;
    text-align: center;
    border: none;
    border-top: 1px solid var(--e-global-color-text);
    border-bottom: 1px solid var(--e-global-color-text);
    border-radius: 0;
}

.cart .quantity .minus,
.cart .quantity .plus {
    background: transparent;
    border: none;
    border-radius: 30px;
}

.cart .quantity input {
    font-weight: 600;
    background: transparent;
    border: none !important;
    border-bottom: 0 solid;
}

/* ==========================================================================
   310. COMPONENTES: JET TOGGLES (Acordeones)
   ========================================================================== */
.jet-toggles-wrapper .jet-toggle {
    padding: 0 10px;
    margin: 0;
    background: transparent;
}

.jet-toggles-wrapper .jet-toggle .jet-toggle-title {
    color: var(--e-global-color-text);
    font-size: 18px;
    font-weight: 600;
}

/* ==========================================================================
   311. COMPONENTES: JET TABS (Pestañas)
   ========================================================================== */
.jet-tabs-wrapper .jet-tabs-titles {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
    gap: 20px;
}

.jet-tabs-wrapper .jet-tabs-titles .jet-tab-title {
    padding: 10px 20px;
    margin: 0;
    cursor: pointer;
    color: rgba(88, 96, 67, 0.56); /* #5860438F */
    border-bottom: 3px solid transparent;
    font-family: var(--font-main), sans-serif;
    font-size: 16px;
    font-weight: 600;
}

.jet-tabs-wrapper .jet-tabs-titles .jet-tab-title.active,
.jet-tabs-wrapper .jet-tabs-titles .jet-tab-title:hover {
    color: var(--e-global-color-text);
    border-bottom-color: var(--e-global-color-2ed775f);
}

/* ==========================================================================
   316. PRODUCTO: SWATCHES DE VARIACIONES (Rounded)
   ========================================================================== */
.woo-variation-swatches .wvs-style-rounded.variable-items-wrapper .variable-item:not(.radio-variable-item) img {
    border-radius: 26px !important;
}

/* ==========================================================================
   324. PRODUCTO: SELECTORES DE VARIACIONES
   ========================================================================== */
.variations {
    color: var(--primary-dark-green);
}

.variations select {
    padding: 5px 15px;
    border: 1px solid var(--primary-dark-green);
    border-radius: 30px;
}

/* ==========================================================================
   332. BUNDLES: TOTALES EN PRODUCTOS AGRUPADOS (.woosb-bundled)
   ========================================================================== */
.woosb-bundled .woosb-total del .woocommerce-Price-amount {
    color: var(--e-global-color-e2cb3cc);
    font-size: 20px;
    font-weight: 400;
}

.woosb-bundled .woosb-total ins {
    text-decoration: none;
}

.woosb-bundled .woosb-total ins .woocommerce-Price-amount {
    color: var(--e-global-color-text);
    font-size: 24px;
    font-weight: 800;
}

/* ==========================================================================
   334. PRODUCTO: CONTROL DE VISIBILIDAD DE STOCK (#in-stock-prod)
   ========================================================================== */
#in-stock-prod .stock {
    display: none;
}

/* Solo mostramos el badge si está agotado */
#in-stock-prod .stock.out-of-stock {
    display: block !important;
    padding: 3px 6px !important;
}

/* ==========================================================================
   338. PRODUCTO: SWATCHES DE IMAGEN PERSONALIZADOS (.image-variable-item)
   ========================================================================== */
.image-variable-item {
    padding: 0 !important;
}

.image-variable-item .variable-item .variable-item-contents {
    width: 65px !important;
    height: 35px !important;
}

.image-variable-item .variable-item .variable-item-contents img {
    width: 65px !important;
    height: 35px !important;
    object-fit: cover;
    border-radius: 30px !important;
}

/* ==========================================================================
   339. BUNDLES (WOOSB): SELECTORES DE VARIACIÓN INTERNOS
   ========================================================================== */
.woosb-products .woosb-product .variations_form .variations .variation .select select {
    padding: 10px 20px;
    color: #455a64;
    background-position: 95% 50%;
    border: 1px solid rgba(0, 0, 0, 0.42); /* #0000006b */
    border-radius: 30px;
}

/* ==========================================================================
   348. BUNDLES (WOOSB): AJUSTE DE TÍTULOS
   ========================================================================== */
.woosb-product .woosb-title .woosb-title-inner {
    width: 100% !important;
    text-align: start !important;
    white-space: normal !important;
    word-wrap: break-word !important;
}


/* ==========================================================================
   341. RESEÑAS: FILTROS DE CALIFICACIÓN (.calificaciones-filtro)
   ========================================================================== */
.calificaciones-filtro {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}

.calificacion-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    min-width: 88px;
    height: 40px;
    padding: 0 15px;
    color: var(--primary-dark-green); /* #3E4827 */
    background: var(--brand-cream-light); /* #F3E9DA */
    border-radius: 20px;
    font-size: 16px;
    font-weight: 600;
    line-height: 2;
    transition: background 0.3s ease;
}

.calificacion-link.activo,
.calificacion-link:hover {
    background: var(--primary-green); /* #79D97C */
}

.calificacion-cantidad {
    padding-left: 5px;
    font-weight: 400;
}

/* ==========================================================================
   342. RESEÑAS: TEXTOS DE RESULTADOS (.calificaciones-resultados)
   ========================================================================== */
.calificaciones-resultados h4 {
    color: var(--primary-dark-green);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
}

.calificaciones-resultados h4 strong {
    padding-right: 16px;
    font-size: 20px;
}

.calificaciones-resultados p {
    color: var(--primary-dark-green);
}

/* ==========================================================================
   343. PRODUCTO: INDICACIONES TÉCNICAS (.mdw_indicaciones)
   ========================================================================== */
.variaciones-items.mdw_indicaciones .jet-listing-dynamic-repeater__items {
    display: flex;
    justify-content: flex-start;
}

.variaciones-items.mdw_indicaciones .jet-listing-dynamic-repeater__item .img-info-variation,
.variaciones-items.mdw_indicaciones .jet-listing-dynamic-repeater__item .img-info-variation-hover {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    height: 170px;
    background: var(--brand-cream-light);
    object-fit: cover;
    aspect-ratio: 1 / 1;
}

.variaciones-items.mdw_indicaciones .jet-listing-dynamic-repeater__item .titulo-info-variation,
.variaciones-items.mdw_indicaciones .jet-listing-dynamic-repeater__item .descripcion-info-variation {
    padding: 0 10px;
}

/* ==========================================================================
   344. PRODUCTO: CERTIFICADOS (.certificados-icons)
   ========================================================================== */
.certificados-icons .jet-listing-dynamic-repeater__items {
    justify-content: center;
    gap: 32px;
}

.certificados-icons .info-paso-paso {
    gap: 24px;
}

.certificados-icons .info-paso-paso .titulo-info-variation {
    text-align: center;
}

/* ==========================================================================
   345. PRODUCTO: PRECAUCIONES (#precausiones)
   ========================================================================== */


#precausiones .jet-listing-dynamic-repeater__items {
    gap: 24px;
}

#precausiones .info-variation .img-info-variation {
    display: block;
    width: 72px;
    height: 72px;
    margin: auto;
    object-fit: cover;
    opacity: 1;
    visibility: visible;
}

#precausiones .info-variation .descripcion-info-variation {
    padding: 0 10px;
    text-align: center;
}

/* ==========================================================================
   349. PRODUCTO: GRID DE INDICACIONES TÉCNICAS (.mdw_indicaciones)
   ========================================================================== */
.variaciones-items.mdw_indicaciones {
    margin-bottom: 3rem;
}

.variaciones-items.mdw_indicaciones .jet-listing-dynamic-repeater__items {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start !important;
    gap: 16px;
}

.variaciones-items.mdw_indicaciones .jet-listing-dynamic-repeater__item {
    width: calc(25% - 12px);
    min-width: 135px;
}

.variaciones-items.mdw_indicaciones .jet-listing-dynamic-repeater__item .info-paso-paso {
    gap: 10px;
}


/* ==========================================================================
   350. PLUGINS: OVERRIDES DE JET PLUGINS (Hotspots & Tabs)
   ========================================================================== */
.jet-hotspots__item .jet-hotspots__item-inner {
    border-radius: 50%;
}

.jet-tabs__label-text,
.jet-unfold__button-text {
    font-family: var(--font-main), sans-serif;
    font-weight: 600;
}

/* ==========================================================================
   361. BUNDLES (WOOSB): DISEÑO DE LISTA VERTICAL (.woosb-products)
   ========================================================================== */
.woosb-products {
    display: flex !important;
    flex-direction: column !important;
    overflow-x: hidden !important;
}

.woosb-products .woosb-product {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    width: 100% !important;
}

/* Miniatura del producto dentro del bundle */
.woosb-products .woosb-product .woosb-thumb {
    width: 20% !important;
}

.woosb-products .woosb-product .woosb-thumb img {
    width: 100% !important;
    height: auto !important;
    background: var(--brand-cream-light); /* #F3E9DA */
}

/* Título y descripción del producto hijo */
.woosb-products .woosb-product .woosb-title {
    width: 75%;
    padding-top: 0 !important;
    padding-left: 5% !important;
}

.woosb-products .woosb-product .woosb-title .woosb-description {
    display: -webkit-box;
    overflow: hidden;
    font-size: 12px !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* Limita a 2 líneas de texto */
}

.woosb-products .woosb-product .variations_form .variations .reset {
    padding-top: 0 !important;
}

/* ==========================================================================
   364. COMPONENTE: INFO PASO A PASO
   ========================================================================== */
.info-paso-paso {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

/* ==========================================================================
   365. PRODUCTO: RESUMEN Y VARIACIONES (Wooco & Swatches)
   ========================================================================== */
.wooco-wrap .wooco-summary {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

li.variable-item.button-variable-item {
    border: 1px solid rgba(0, 0, 0, 0.42); /* #0000006b */
}

/* ==========================================================================
   366. PRODUCTO: BORDES Y SEPARADORES (Single Product)
   ========================================================================== */
#add-to-cart-single {
    padding-top: 10px;
    padding-bottom: 15px;
    border-top: 1px dotted var(--brand-cream-dark); /* #e5e5e5 */
    border-bottom: 1px dotted var(--brand-cream-dark);
}

.elementor-widget-jet-single-price {
    padding-top: 10px;
    padding-bottom: 10px;
    border-top: 1px dotted var(--brand-cream-dark);
    border-bottom: 1px dotted var(--brand-cream-dark);
}

/* ==========================================================================
   368. INTERACCIÓN: INTERCAMBIO DE IMÁGENES (.info-variation)
   ========================================================================== */
/* Estado Normal: Mostrar imagen A, ocultar B */
.info-variation .img-info-variation {
    display: flex;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease;
}

.info-variation .img-info-variation-hover {
    display: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
}

/* Estado Hover: Ocultar imagen A, mostrar B */
.info-variation:hover .img-info-variation {
    display: none;
    opacity: 0;
    visibility: hidden;
}

.info-variation:hover .img-info-variation-hover {
    display: flex;
    opacity: 1;
    visibility: visible;
}

a.reset_variations {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 20px;
}

/* ==========================================================================
   384. PRODUCTO: PRECIOS Y VARIACIONES
   ========================================================================== */
.single-product .elementor-jet-single-price.jet-woo-builder p.price {
    display: block;
}

.woosb-products .woosb-product .variations_form .variations .variation .select {
    padding-top: 5px;
    padding-bottom: 15px;
}

/* ==========================================================================
   395. VARIACIONES Y BOTONES DE ACCIÓN
   ========================================================================== */
.variable-item-span.variable-item-span-color {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
}

/* Botón principal de añadir al carrito */
#add-to-cart-single .single_add_to_cart_button.elementor-button.button.alt {
    background: var(--primary-green) !important; /* #79D97C */
}

/* Reset de fondos para widgets de Elementor */
:is(.elementor-widget-woocommerce-product-add-to-cart, .elementor-widget-wc-add-to-cart) form.cart .button,
:is(.elementor-widget-woocommerce-product-add-to-cart, .elementor-widget-wc-add-to-cart) form.cart button {
    background: transparent !important;
}

/* ==========================================================================
   398. BUNDLES (WOOSB): MINIATURAS DE HIJOS (Consolidación)
   ========================================================================== */
.woocommerce-cart-form__cart-item.woosb-item-child .product-thumbnail,
.woocommerce-cart-form__cart-item.woosb-item-child .product-thumbnail img {
    width: 56px !important;
}

.woocommerce-cart-form__cart-item.woosb-item-child .product-thumbnail img {
    height: 64px !important;
    object-fit: cover;
}

/* ==========================================================================
   399. PRODUCTOS COMPUESTOS (WOOCO): ESTRUCTURA Y TOTALES
   ========================================================================== */
.wooco-wrap .wooco_components {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--brand-cream-dark); /* #E8DFD0 */
}

.wooco_total.wooco-total.wooco-text {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 25px;
    padding-top: 16px;
    padding-bottom: 16px;
    color: var(--primary-dark-green); /* #3E4827 */
    border-top: 1px solid var(--brand-cream-dark);
    border-bottom: 1px solid var(--brand-cream-dark);
    font-size: 24px;
    font-weight: 900;
    line-height: 1.333;
}

.woocommerce-price-suffix {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
}

/* ==========================================================================
   400. WOOCO: LISTA DE SELECCIÓN Y PRECIOS INTERNOS
   ========================================================================== */
.wooco_component_product_selection_list .wooco_component_product_selection_list_item .wooco_component_product_selection_list_item_info {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: space-between;
    height: 67px;
    padding: 12px 0;
}

.wooco_component_product_selection_list .wooco_component_product_selection_list_item .wooco_component_product_selection_list_item_info .wooco_component_product_selection_list_item_name {
    font-weight: 600;
}

/* Precios dentro de la lista de selección */
.wooco_component_product_selection_list .wooco_component_product_selection_list_item .wooco_component_product_selection_list_item_info .wooco_component_product_selection_list_item_desc del {
    color: rgba(32, 34, 33, 0.4); /* #20222166 */
    font-size: 10px;
    font-weight: 600;
    line-height: 2.4;
}

.wooco_component_product_selection_list .wooco_component_product_selection_list_item .wooco_component_product_selection_list_item_info .wooco_component_product_selection_list_item_desc ins {
    color: var(--primary-dark-green);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.714;
    text-decoration: none;
}

/* Estilo de los selectores (Check/Radio) */
.wooco_component_product_selection_list .wooco_component_product_selection_list_item .wooco_component_product_selection_list_item_choose span:before {
    background-color: var(--green-light); /* Verde claro de selección */
    border-color: transparent;
    border-width: 0;
}

/* ==========================================================================
   405. WOOCO: IMÁGENES EN LISTA DE SELECCIÓN
   ========================================================================== */
.wooco_component_product_selection_list .wooco_component_product_selection_list_item .wooco_component_product_selection_list_item_image {
    flex: 0 0 64px;
    width: 56px;
    padding: 0;
    border-radius: 4px;
}

.wooco_component_product_selection_list .wooco_component_product_selection_list_item .wooco_component_product_selection_list_item_image img {
    width: 56px;
    height: 64px;
    object-fit: cover;
    border-radius: 4px;
}

/* ==========================================================================
   406. WOOCO: ESTADOS DE SELECCIÓN Y LIMPIEZA
   ========================================================================== */
.woosb-wrap {
    color: var(--primary-dark-green) !important;
}

.wooco_component_product_selection_list .wooco_component_product_selection_list_item.wooco_item_selected .wooco_component_product_selection_list_item_choose span:before {
    color: var(--primary-dark-green);
    background-color: var(--primary-green); /* #79D97C */
    border-radius: 8px;
}

.wooco_component_product_selection_list .wooco_component_product_selection_list_item,
.wooco_component_product_selection_list .wooco_component_product_selection_list_item.wooco_item_selected {
    border: none;
}

.woosb-wrap.woosb-bundled .qib-button-wrapper .quantity input.input-text.qty.text {
    background-color: transparent !important;
}

/* ==========================================================================
   407. BUNDLES (WOOSB): DISEÑO DE VARIACIONES INTERNAS
   ========================================================================== */
.woosb-products .woosb-product .variations_form .variations {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 2px 0 0 0 !important;
}

.woosb-products .woosb-product .variations_form .variations .reset {
    padding-top: 16px;
    padding-bottom: 5px;
}

/* ==========================================================================
   408. PRODUCTO: ACCIÓN "LIMPIAR VARIACIONES" (Reset)
   ========================================================================== */
.woosb-products .woosb-product .variations_form .variations a.reset_variations {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    color: var(--brand-red, #C92D2D);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}

/* Icono de papelera personalizado para el reset */
a.reset_variations:before {
    content: "";
    display: flex;
    flex-direction: row;
    align-items: center;
    align-content: center;
    width: 18px;
    height: 20px;
    background: url(/wp-content/uploads/2023/12/Delete.svg) center center no-repeat;
}

/* ==========================================================================
   411. BUNDLES (WOOSB): SELECTORES DE CANTIDAD
   ========================================================================== */
.woosb-products .woosb-product .woosb-quantity.woosb-quantity-plus-minus {
    flex: 0 0 32px;
    width: 100px;
    margin-top: 16px;
    margin-bottom: 16px;
    padding: 0;
}

input.wqpmb_input_text.input-text.woosb-qty.qty.text {
    background-color: transparent !important;
}

.woosb-quantity.woosb-quantity-plus-minus .woosb-quantity-input .qib-button-wrapper {
    height: 32px;
    margin: 0;
    padding: 0;
    border: none;
}

/* ==========================================================================
   412. BUNDLES (WOOSB): PRECIOS Y VARIACIONES
   ========================================================================== */
/* Ocultamos el precio individual de los hijos para no confundir con el total */
.woosb-products .woosb-product .woosb-price {
    display: none;
}

.woosb-products .woosb-product .variations_form .variations .variation .select select {
    color: var(--primary-dark-green); /* #3E4827 */
    font-size: 15px;
    font-weight: 600;
}

.woosb-products .woosb-product .variations_form .variations .variation {
    margin: 0;
    padding: 2px;
    border: none;
}

.woosb-products .woosb-product .variations_form .variations {
    display: inline-block;
    margin: 0;
    padding: 0;
}

/* ==========================================================================
   413. BUNDLES (WOOSB): TÍTULOS Y ETIQUETAS
   ========================================================================== */
.woosb-product .woosb-title .woosb-title-inner {
    width: 192px;
    color: var(--primary-dark-green);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.woosb-products .woosb-product .variations_form .variations .variation .label {
    font-size: 16px;
    line-height: 1.5;
}

/* ==========================================================================
   435. GLOBAL: HOVER DE BOTONES WOOCOMMERCE
   ========================================================================== */
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:hover {
    background-color: var(--primary-green-cta); /* Verde bosque profundo para feedback de éxito */
}

/* ==========================================================================
   464. PRODUCTO: SWATCHES DE VARIACIÓN (.woo-variation-swatches)
   ========================================================================== */
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item) {
    display: flex;
    align-items: center;
    width: fit-content;
    height: auto;
    padding: 0 15px;
    color: #455a64;
    background-color: transparent;
    box-shadow: none;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.714;
    transition: all 0.3s ease;
    height: 35px;
}

.woo-variation-swatches .wvs-style-rounded.variable-items-wrapper .variable-item:not(.radio-variable-item) {
    border-radius: 24px;
}

/* Reset de imágenes y spans internos */
.woo-variation-swatches .wvs-style-rounded.variable-items-wrapper .variable-item:not(.radio-variable-item) .variable-item-span,
.woo-variation-swatches .wvs-style-rounded.variable-items-wrapper .variable-item:not(.radio-variable-item) img {
    line-height: 1.2;
    border-radius: 0;
}

/* ==========================================================================
   465. PRODUCTO: ESTADOS DE VARIACIÓN (Hover y Selección)
   ========================================================================== */
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):hover,
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item.selected:not(.no-stock) {
    color: #455a64;
    background-color: var(--primary-green); /* #79d97c */
    border-color: var(--primary-green);
    box-shadow: none;
}

/* ==========================================================================
   466. PRODUCTO: TABLA DE VARIACIONES (Layout)
   ========================================================================== */
table.variations tr {
    display: flex;
    flex-wrap: wrap;
}

table.variations th.label {
    width: 100%;
}

.woocommerce div.product form.cart .woocommerce-variation-description p {
    margin-bottom: 1em;
    color: rgba(88, 96, 67, 0.8); /* #586043cc */
    font-size: 12px;
    font-weight: 400;
    line-height: 1.333;
}

/* ==========================================================================
   468. PRODUCTO: PRECIO Y TOTAL DINÁMICO
   ========================================================================== */
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product #add-to-cart-single .price {
    display: flex;
    justify-content: space-between;
    width: 100% !important;
    color: var(--primary-dark-green);
    font-size: 24px;
    font-weight: 800;
    line-height: 1.333;
}

/* Prefijo "Total" antes del precio de la variación */
.woocommerce-variation-price #add-to-cart-single .price:before {
    content: "Total:";
    font-weight: 600;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled {
    background-color: var(--primary-green);
    color: var(--primary-dark-green);
    -webkit-font-smoothing: antialiased;
    border-radius: 30px;
}

/* ==========================================================================
   475. RESEÑAS: LIMPIEZA DE TÍTULOS Y LISTAS
   ========================================================================== */
#review-post .commentlist,
#review-post h2.woocommerce-Reviews-title {
    display: none;
}

/* Estilo de estrellas en el contador de reseñas */
#icons-reviews-number .e-icon-wrapper.e-icon-unmarked {
    display: inline-flex;
    width: 16px;
    margin-right: 4px;
    fill: rgba(33, 35, 34, 0.24); /* #2123223d */
}

#icons-reviews-number .e-icon-wrapper.e-icon-marked {
    display: inline-flex;
    width: 16px;
    margin-right: 4px;
    fill: var(--primary-green); /* #79D97C */
}

#icons-reviews-number svg {
    width: 16px !important;
}

/* ==========================================================================
   476. RESEÑAS: ACCIÓN DE BORRADO Y TÍTULO PERSONALIZADO
   ========================================================================== */
.borrar-activo {
    position: absolute;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: var(--brand-red, #C92D2D);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
}

/* Inyección de título personalizado "Valora el producto" */
#reply-title {
    font-size: 0;
}

#reply-title::before {
    content: "Valora el producto";
    display: flex !important;
    color: var(--primary-dark-green);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
}

/* ==========================================================================
   477. RESEÑAS: ESTRELLAS INTERACTIVAS (Rating)
   ========================================================================== */
.woocommerce p.stars a {
    width: 32px;
    height: 32px;
}

.woocommerce p.stars a::before {
    color: var(--primary-green);
    fill: var(--primary-green);
    font-size: 26px;
}

.woocommerce p.stars:hover a::before {
    color: var(--primary-green);
    fill: var(--primary-green);
}

.comment-form-rating label {
    display: none;
}

/* ==========================================================================
   478. FORMULARIO: BOTÓN DE ENVÍO Y ETIQUETAS
   ========================================================================== */
.form-submit {
    text-align: center;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit {
    width: 198px;
    height: 40px;
    background-color: var(--primary-green) !important;
    border-radius: 24px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    text-transform: uppercase;
}

.comment-form-comment label {
    color: var(--primary-dark-green); /* #3E4827 */
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
}

.woocommerce input, .woocommerce textarea {
    border: none;
    border-bottom: 1px solid var(--primary-dark-green);
}

.comentario[class*="calificacion-"] {
    border-bottom: 1px solid var(--brand-cream-dark);
}

/* ==========================================================================
   479. PLUGINS: JET HOTSPOTS (Imagen interna)
   ========================================================================== */
.jet-hotspots__inner img {
    border-radius: 8px;
}

/* ==========================================================================
   480. COMPONENTES: ICONOS DE DATOS TÉCNICOS (.info-data-icons)
   ========================================================================== */
.info-data-icons {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
}

.info-data-icons .icons-info {
    width: 32px;
    height: 32px;
}

.info-data-icons span {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
}

/* ==========================================================================
   481. PRODUCTO: CONTENEDOR DE VARIACIÓN (.info-variation)
   ========================================================================== */
.info-variation {
    display: flex;
    flex-direction: column;
    align-items: flex-start !important; /* Forzamos alineación izquierda para legibilidad */
    justify-content: flex-start;
    width: 160px;
    gap: 16px;
    text-align: center;
}

img.img-info-variation {
    border-radius: 8px;
}

/* ==========================================================================
   482. PRODUCTO: TEXTOS DE VARIACIÓN
   ========================================================================== */
.titulo-info-variation {
    width: 100%;
    color: var(--primary-dark-green); /* #3E4827 */
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
}

.descripcion-info-variation {
    color: var(--secondary-green); /* #586043 */
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
}

/* ==========================================================================
   485. PRODUCTO: SWATCHES CIRCULARES DE COLOR
   ========================================================================== */
.variable-item-span.variable-item-span-color {
    width: 26px !important;
    height: 26px !important;
    border-radius: 30px !important;
}

.variable-item.color-variable-item:hover {
    background: transparent !important;
}

/* ==========================================================================
   486. GLOBAL: RESET DE TABLAS Y SOMBRAS DE SELECCIÓN
   ========================================================================== */
/* Reset de sombras de selección en swatches y tablas */
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected,
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover,
table tbody tr:hover > td,
table tbody tr:hover > th {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
}

/* ==========================================================================
   NEW. TÍTULO: TAMBIÉ TE RECOMENDAMOS
   ========================================================================== */
.up-sells.products h2 {
    color: var(--primary-dark-green);
}