.elementor-3981 .elementor-element.elementor-element-13c0f1e{--display:flex;--min-height:0vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--overlay-opacity:0.7;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:120px;--padding-bottom:0px;--padding-left:120px;--padding-right:0px;}.elementor-3981 .elementor-element.elementor-element-13c0f1e::before, .elementor-3981 .elementor-element.elementor-element-13c0f1e > .elementor-background-video-container::before, .elementor-3981 .elementor-element.elementor-element-13c0f1e > .e-con-inner > .elementor-background-video-container::before, .elementor-3981 .elementor-element.elementor-element-13c0f1e > .elementor-background-slideshow::before, .elementor-3981 .elementor-element.elementor-element-13c0f1e > .e-con-inner > .elementor-background-slideshow::before, .elementor-3981 .elementor-element.elementor-element-13c0f1e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-3981 .elementor-element.elementor-element-13c0f1e:not(.elementor-motion-effects-element-type-background), .elementor-3981 .elementor-element.elementor-element-13c0f1e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-size:cover;}.elementor-3981 .elementor-element.elementor-element-f32114f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-80px;--margin-bottom:0px;--margin-left:220px;--margin-right:0px;}.elementor-3981 .elementor-element.elementor-element-f32114f.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-3981 .elementor-element.elementor-element-e08a500 .woocommerce-breadcrumb{color:#FFFFFF;font-family:"Inter", Sans-serif;font-size:14px;text-transform:uppercase;}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3981 .elementor-element.elementor-element-5a77bbd{width:var( --container-widget-width, 60% );max-width:60%;--container-widget-width:60%;--container-widget-flex-grow:0;}.elementor-3981 .elementor-element.elementor-element-5a77bbd .elementor-heading-title{font-family:"Outfit 800", Sans-serif;font-size:50px;font-weight:700;color:#F8F8F8;}.woocommerce .elementor-3981 .elementor-element.elementor-element-3c0bde9 .woocommerce-product-details__short-description{color:#B4B6B9;font-family:"Inter", Sans-serif;}.elementor-3981 .elementor-element.elementor-element-11553ab{width:var( --container-widget-width, 105.557% );max-width:105.557%;--container-widget-width:105.557%;--container-widget-flex-grow:0;}.elementor-3981 .elementor-element.elementor-element-11553ab > .elementor-widget-container{margin:-17px 0px -20px 0px;}.elementor-3981 .elementor-element.elementor-element-0493152{--display:flex;--justify-content:center;--margin-top:0px;--margin-bottom:-10px;--margin-left:85px;--margin-right:0px;}.woocommerce .elementor-widget-woocommerce-product-price .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-3981 .elementor-element.elementor-element-a3590d7 > .elementor-widget-container{margin:0px 0px -60px 0px;padding:0px 0px 0px 0px;}.elementor-3981 .elementor-element.elementor-element-a3590d7{text-align:center;}.woocommerce .elementor-3981 .elementor-element.elementor-element-a3590d7 .price{color:#FAFAFA;font-family:"Outfit 800", Sans-serif;font-size:40px;font-weight:600;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3981 .elementor-element.elementor-element-c2f3796{width:var( --container-widget-width, 103.012% );max-width:103.012%;--container-widget-width:103.012%;--container-widget-flex-grow:0;}.elementor-3981 .elementor-element.elementor-element-c2f3796 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 30px;}.elementor-3981 .elementor-element.elementor-element-c2f3796.elementor-element{--align-self:center;}.elementor-3981 .elementor-element.elementor-element-c2f3796 .cart button, .elementor-3981 .elementor-element.elementor-element-c2f3796 .cart .button{color:#000000;transition:all 0.2s;}.elementor-3981 .elementor-element.elementor-element-c2f3796 .added_to_cart{font-family:"Inter", Sans-serif;font-weight:700;}.elementor-3981 .elementor-element.elementor-element-c2f3796 .quantity .qty{transition:all 0.2s;}.woocommerce .elementor-3981 .elementor-element.elementor-element-c2f3796 form.cart .variations{margin-bottom:0px;}.elementor-3981 .elementor-element.elementor-element-e8df7cd{--display:flex;--margin-top:10px;--margin-bottom:-11px;--margin-left:-11px;--margin-right:0px;}.elementor-3981 .elementor-element.elementor-element-e8df7cd.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-3981 .elementor-element.elementor-element-02ed9d5{width:var( --container-widget-width, 60% );max-width:60%;--container-widget-width:60%;--container-widget-flex-grow:0;--e-icon-list-icon-size:50px;--icon-vertical-offset:0px;}.elementor-3981 .elementor-element.elementor-element-02ed9d5 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-3981 .elementor-element.elementor-element-02ed9d5 .elementor-icon-list-icon i{color:#1DD1A1;transition:color 0.3s;}.elementor-3981 .elementor-element.elementor-element-02ed9d5 .elementor-icon-list-icon svg{fill:#1DD1A1;transition:fill 0.3s;}.elementor-3981 .elementor-element.elementor-element-02ed9d5 .elementor-icon-list-text{transition:color 0.3s;}.elementor-3981 .elementor-element.elementor-element-3270d53{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3981 .elementor-element.elementor-element-3270d53:not(.elementor-motion-effects-element-type-background), .elementor-3981 .elementor-element.elementor-element-3270d53 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3981 .elementor-element.elementor-element-bf246fa > .elementor-widget-container{margin:25px 0px 25px 0px;}.elementor-3981 .elementor-element.elementor-element-bf246fa{text-align:center;}.elementor-3981 .elementor-element.elementor-element-bf246fa .elementor-heading-title{font-family:"Outfit 800", Sans-serif;font-size:50px;font-weight:600;-webkit-text-stroke-color:#000;stroke:#000;color:#FFFFFF;}.elementor-3981 .elementor-element.elementor-element-78bdfe8 .jet-woo-builder .jet-single-content{color:#FBFBFB;}@media(min-width:768px){.elementor-3981 .elementor-element.elementor-element-f32114f{--width:40%;}.elementor-3981 .elementor-element.elementor-element-0493152{--width:72%;}.elementor-3981 .elementor-element.elementor-element-e8df7cd{--width:50%;}}@media(max-width:767px){.elementor-3981 .elementor-element.elementor-element-13c0f1e{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3981 .elementor-element.elementor-element-f32114f{--width:500px;--margin-top:12px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3981 .elementor-element.elementor-element-5a77bbd > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-3981 .elementor-element.elementor-element-5a77bbd{--container-widget-width:354px;--container-widget-flex-grow:0;width:var( --container-widget-width, 354px );max-width:354px;text-align:start;}.elementor-3981 .elementor-element.elementor-element-5a77bbd.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-3981 .elementor-element.elementor-element-5a77bbd .elementor-heading-title{font-size:50px;}.elementor-3981 .elementor-element.elementor-element-3c0bde9 > .elementor-widget-container{margin:0px 0px -10px 0px;}.elementor-3981 .elementor-element.elementor-element-11553ab > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-3981 .elementor-element.elementor-element-0493152{--margin-top:0px;--margin-bottom:-30px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3981 .elementor-element.elementor-element-e8df7cd{--width:301px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-3981 .elementor-element.elementor-element-3270d53{--margin-top:5px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}}@media(min-width:1025px){.elementor-3981 .elementor-element.elementor-element-13c0f1e:not(.elementor-motion-effects-element-type-background), .elementor-3981 .elementor-element.elementor-element-13c0f1e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}/* Start custom CSS for woocommerce-product-title, class: .elementor-element-5a77bbd */.elementor-3981 .elementor-element.elementor-element-5a77bbd .product_title {
    background: linear-gradient(135deg, #fff 20%, #1dd1a1 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}/* End custom CSS */
/* Start custom CSS for woocommerce-product-add-to-cart, class: .elementor-element-c2f3796 *//* =========================================
   1. BOTÓN NUCLEAR (Más alto, centrado y 90% ancho)
   ========================================= */
.elementor-3981 .elementor-element.elementor-element-c2f3796 button,
.elementor-3981 .elementor-element.elementor-element-c2f3796 button[type="submit"],
.elementor-3981 .elementor-element.elementor-element-c2f3796 .button,
.elementor-3981 .elementor-element.elementor-element-c2f3796 .single_add_to_cart_button {
    background-color: var(--color-brand-primary) !important;
    background: var(--color-brand-primary) !important;
    color: var(--color-black) !important;
    border-radius: 8px !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 800 !important;
    font-size: 1.1rem !important;
    text-transform: uppercase !important;
    
    /* ELIMINAR SOMBRA DE FÁBRICA */
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    
    /* Ajustes visuales del botón */
    height: 65px !important; 
    width: 90% !important; 
    margin: 0 auto !important; 
    display: block !important;
    
    padding: 0 !important; 
    transition: 0.4s ease !important;
    border: none !important;
    opacity: 1 !important;
}

/* Solo añadimos sombra y movimiento cuando el usuario pasa el ratón */
.elementor-3981 .elementor-element.elementor-element-c2f3796 button:hover,
.elementor-3981 .elementor-element.elementor-element-c2f3796 button[type="submit"]:hover {
    background-color: var(--color-brand-primary-light) !important;
    background: var(--color-brand-primary-light) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 20px rgba(29, 209, 161, 0.4) !important;
}

/* =========================================
   2. LIMPIEZA DE ESPACIOS (Anti-huecos)
   ========================================= */
.elementor-3981 .elementor-element.elementor-element-c2f3796 {
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-3981 .elementor-element.elementor-element-c2f3796 form.cart {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    padding: 0 !important; 
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Eliminar el margen invisible de las tablas que causaba la desalineación */
.elementor-3981 .elementor-element.elementor-element-c2f3796 .variations {
    border-collapse: collapse !important; 
    border-spacing: 0 !important;
}

.elementor-3981 .elementor-element.elementor-element-c2f3796 .variations, 
.elementor-3981 .elementor-element.elementor-element-c2f3796 .variations tbody, 
.elementor-3981 .elementor-element.elementor-element-c2f3796 .variations tr, 
.elementor-3981 .elementor-element.elementor-element-c2f3796 .variations td,
.elementor-3981 .elementor-element.elementor-element-c2f3796 .single_variation_wrap,
.elementor-3981 .elementor-element.elementor-element-c2f3796 .woocommerce-variation-add-to-cart,
.elementor-3981 .elementor-element.elementor-element-c2f3796 .variations_button {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-sizing: border-box !important;
}

/* =========================================
   3. ESTRUCTURA: TÍTULO, DESPLEGABLE, CANTIDAD
   ========================================= */
.elementor-3981 .elementor-element.elementor-element-c2f3796 .variations td.label {
    margin-bottom: 0.8rem !important;
    padding-top: 0 !important;
}

.elementor-3981 .elementor-element.elementor-element-c2f3796 .variations label {
    color: var(--color-white) !important;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.2;
    margin: 0 !important;
}

/* DESPLEGABLE */
.elementor-3981 .elementor-element.elementor-element-c2f3796 select, 
.elementor-3981 .elementor-element.elementor-element-c2f3796 .variations select {
    appearance: none; 
    -webkit-appearance: none;
    background-color: rgba(0, 0, 0, 0.5) !important;
    color: var(--color-brand-primary) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 8px !important;
    padding: 0 2.5rem 0 1rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 1rem !important;
    
    width: calc(100% - 90px) !important; 
    max-width: calc(100% - 90px) !important; 
    display: block !important;
    height: 55px !important; 
    cursor: pointer;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%231dd1a1%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 1rem center !important;
    background-size: 12px auto !important;
    margin-bottom: 20px !important; /* Espacio extra exacto para el botón */
}

/* CANTIDAD (Alineada perfecta con la altura del botón + margen) */
.elementor-3981 .elementor-element.elementor-element-c2f3796 .quantity {
    position: absolute !important;
    bottom: 86px !important; /* Matemáticas: Botón 65px + Margen 20px + Corrección 1px */
    right: 0 !important;
    width: 80px !important;
    height: 55px !important;
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-3981 .elementor-element.elementor-element-c2f3796 .quantity input.qty {
    background-color: rgba(0, 0, 0, 0.8) !important;
    color: var(--color-white) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 8px !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    padding: 0 !important;
    height: 55px !important; 
    width: 100% !important;
    text-align: center;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.elementor-3981 .elementor-element.elementor-element-c2f3796 .quantity .plus, 
.elementor-3981 .elementor-element.elementor-element-c2f3796 .quantity .minus {
    display: none !important;
}

/* PRECIO DINÁMICO (Si se muestra, que quede elegante) */
.elementor-3981 .elementor-element.elementor-element-c2f3796 .woocommerce-variation {
    margin-bottom: 10px !important;
    text-align: center !important;
}
.elementor-3981 .elementor-element.elementor-element-c2f3796 .woocommerce-variation-price {
    color: var(--color-white) !important;
    font-size: 1.2rem !important;
    font-family: 'Outfit', sans-serif !important;
}
/* LANZALLAMAS PARA ELIMINAR SOMBRAS EN TODO EL WIDGET */
.elementor-3981 .elementor-element.elementor-element-c2f3796, 
.elementor-3981 .elementor-element.elementor-element-c2f3796 *, 
.elementor-3981 .elementor-element.elementor-element-c2f3796 *::before, 
.elementor-3981 .elementor-element.elementor-element-c2f3796 *::after {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    text-shadow: none !important; /* Por si fuera sombra de texto */
    filter: none !important;      /* Por si fuera un drop-shadow */
}

/* Forzar que el contenedor del botón no tenga fondo ni sombra */
.elementor-3981 .elementor-element.elementor-element-c2f3796 .elementor-widget-container,
.elementor-3981 .elementor-element.elementor-element-c2f3796 .elementor-button-wrapper {
    background: transparent !important;
    box-shadow: none !important;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-02ed9d5 *//* 1. CAJA OSCURA DE CRISTAL */
.elementor-3981 .elementor-element.elementor-element-02ed9d5 {
    background: rgba(0,0,0,0.5) !important;
    padding: 2.5rem !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    height: max-content !important;
    align-self: flex-start !important;
}

/* 2. ELEMENTOS — alinear desde arriba para consistencia */
.elementor-3981 .elementor-element.elementor-element-02ed9d5 .elementor-icon-list-item {
    display: flex !important;
    align-items: flex-start !important; /* ← Cambiado de center a flex-start */
    margin-bottom: 2rem !important;
}
.elementor-3981 .elementor-element.elementor-element-02ed9d5 .elementor-icon-list-item:last-child {
    margin-bottom: 0 !important;
}

/* 3. ICONOS — ancho fijo que no se encoge */
.elementor-3981 .elementor-element.elementor-element-02ed9d5 .elementor-icon-list-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 2rem !important;
    color: #1dd1a1 !important;
    width: 45px !important;
    min-width: 45px !important;      /* ← Evita que se comprima */
    flex-shrink: 0 !important;       /* ← No se encoge nunca */
    margin-right: 1.5rem !important;
    padding-top: 0.25rem !important; /* ← Ajuste óptico fino con el texto */
}
.elementor-3981 .elementor-element.elementor-element-02ed9d5 .elementor-icon-list-icon i {
    color: #1dd1a1 !important;
}

/* 4. TEXTOS */
.elementor-3981 .elementor-element.elementor-element-02ed9d5 .elementor-icon-list-text {
    display: flex !important;
    flex-direction: column !important;
    color: #1dd1a1 !important;
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    flex: 1 !important; /* ← Ocupa el espacio restante */
}

/* Título blanco */
.elementor-3981 .elementor-element.elementor-element-02ed9d5 .elementor-icon-list-text strong {
    color: #ffffff !important;
    font-size: 1.2rem !important;
    font-weight: 600 !important;
    margin-bottom: 0.2rem !important;
    display: block !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-13c0f1e *//* ============================================
   FORZAR DESENFOQUE Y GRANO ANALÓGICO
   ============================================ */

.elementor-3981 .elementor-element.elementor-element-13c0f1e {
    background-color: #05050a !important;
}

.elementor-3981 .elementor-element.elementor-element-13c0f1e > .elementor-background-overlay {
    background: linear-gradient(90deg, #05050a 0%, rgba(5, 5, 10, 0.8) 50%, rgba(0, 0, 0, 0.2) 100%) !important;
    backdrop-filter: blur(12px) brightness(0.5) !important;
    -webkit-backdrop-filter: blur(12px) brightness(0.5) !important;
    opacity: 0.85 !important;
}

.elementor-3981 .elementor-element.elementor-element-13c0f1e::after {
    content: "";
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E") !important;
    mix-blend-mode: overlay !important;
    opacity: 0.15 !important;
    pointer-events: none;
    z-index: 1;
}

/* ============================================
   OCULTAR ENCABEZADO DEL TEMA
   ============================================ */
body.single-product .page-header,
body.single-product .entry-header,
body.single-product .woocommerce-products-header {
    display: none !important;
}

/* ============================================
   ANCHO COMPLETO
   ============================================ */
body.single-product #page,
body.single-product .site-content,
body.single-product #content,
body.single-product #primary,
body.single-product #main,
body.single-product main.site-main,
body.single-product .site-main,
body.single-product .woocommerce,
body.single-product div.product,
body.single-product .entry-content,
body.single-product .elementor {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background: transparent !important;
    padding-top: 0 !important;
}

/* ============================================
   FONDO DEL BODY
   ============================================ */
body.single-product {
    background-color: #0d0d0d !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

/* ============================================
   PROTEGER EL HEADER — siempre visible
   ============================================ */

/* Solo targeteamos el header del tema, NO el header del widget HTML */
body.single-product .elementor-location-header,
body.single-product #masthead,
body.single-product .site-header {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
}

/* Los widgets HTML del header nunca se ocultan */
body.single-product .elementor-location-header .elementor-widget-html,
body.single-product #masthead .elementor-widget-html,
body.single-product .site-header .elementor-widget-html {
    display: block !important;
}

/* Proteger el display:flex del header RTVE del widget */
body.single-product .rtve-v2 .header {
    display: flex !important;
    align-items: center !important;
}


/* ============================================
   TABLET (hasta 1024px)
   ============================================ */
@media (max-width: 1024px) {

    body.single-product div.product .e-con-inner,
    body.single-product div.product .elementor-container {
        flex-direction: column !important;
        flex-wrap: wrap !important;
    }

    body.single-product div.product .e-con > .e-con,
    body.single-product div.product .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        flex: 0 0 100% !important;
    }
}

/* ============================================
   MÓVIL (hasta 991px) — compensar header fijo
   ============================================ */
@media (max-width: 991px) {

    /* Quitar el padding de div.product */
    body.single-product div.product {
        padding-top: 0 !important;
        background-color: transparent !important;
    }

    /* Mover el offset al primer contenedor (que tiene la imagen de fondo) */
    body.single-product div.product .elementor > .elementor-section:first-child,
    body.single-product div.product .elementor > .e-con:first-child {
        padding-top: 80px !important;
    }

    body.single-product .rtve-v2 .header-inner {
        padding: 0 1.5rem !important;
        box-sizing: border-box !important;
    }
}


/* ============================================
   MÓVIL (hasta 767px)
   ============================================ */
@media (max-width: 767px) {

    /* Título */
    body.single-product .elementor-heading-title {
        font-size: 2rem !important;
        line-height: 1.15 !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
    }

    /* Ocultar HTML widgets SOLO dentro del contenido del producto */
    body.single-product div.product .elementor-widget-html {
        display: none !important;
    }

    /* Caja iconos glassmorphism */
    body.single-product .elementor-widget-icon-list,
    body.single-product .elementor-icon-list-items {
        width: 100% !important;
        max-width: 100% !important;
    }

    body.single-product .elementor-icon-list-item {
        margin-bottom: 1rem !important;
    }

    /* Precio */
    body.single-product .woocommerce-Price-amount {
        font-size: 2.2rem !important;
    }

    /* Botón carrito */
    body.single-product .single_add_to_cart_button,
    body.single-product .cart button {
        width: 100% !important;
        padding: 1rem 2rem !important;
        font-size: 1rem !important;
        box-sizing: border-box !important;
    }

    /* Padding lateral — SOLO contenido del producto */
    body.single-product div.product .e-con,
    body.single-product div.product .e-con-inner {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    /* Breadcrumb */
    body.single-product .elementor-breadcrumbs,
    body.single-product nav.woocommerce-breadcrumb {
        font-size: 0.7rem !important;
        line-height: 1.5 !important;
    }

    /* Módulos del programa */
    body.single-product .modulo-programa {
        padding: 1rem !important;
        margin-bottom: 0.8rem !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-bf246fa *//* Color para todo el título */
.elementor-3981 .elementor-element.elementor-element-bf246fa .elementor-heading-title {
    color: #ffffff !important;
    font-family: 'Outfit', sans-serif !important;  /* ← Añadir esto */
    font-weight: 700 !important;
}

/* Color para lo que esté dentro del span */
.elementor-3981 .elementor-element.elementor-element-bf246fa .elementor-heading-title span {
    background: linear-gradient(90deg, #ffffff 0%, #1dd1a1 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    display: inline !important;
    color: transparent !important;
    font-family: 'Outfit', sans-serif !important;  /* ← También aquí */
    font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for jet-single-content, class: .elementor-element-78bdfe8 *//* DISEÑO DE CADA CAJA DE MÓDULO */
.modulo-programa {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-left: 4px solid #1dd1a1 !important; /* El corchete verde */
    border-radius: 12px !important;
    padding: 25px 30px !important;
    margin-bottom: 25px !important;
    transition: all 0.3s ease;
}

.modulo-programa:hover {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(29, 209, 161, 0.3) !important;
}

/* EL TÍTULO (DENTRO DE LA CAJA) */
.modulo-programa strong {
    display: block !important;
    color: #ffffff !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    margin-bottom: 15px !important;
}

/* LA LISTA DE PUNTOS */
.modulo-programa ul {
    margin: 0 !important;
    padding: 0 0 0 20px !important;
}

.modulo-programa li {
    list-style: none !important;
    color: rgba(255, 255, 255, 0.7) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    margin-bottom: 8px !important;
    position: relative;
}

.modulo-programa li::before {
    content: "■";
    color: #1dd1a1;
    position: absolute;
    left: -20px;
    font-size: 10px;
    top: 4px;
}

/* TEXTO DE DESCUENTOS Y NOTAS (FUERA DE LAS CAJAS) */
.info-adicional {
    margin-top: 50px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 14px;
}/* End custom CSS */
/* Start custom CSS *//* BLINDAJE CSS ELEMENTOR SINGLE PRODUCT (ESPECIALIZADA) */
.rtve-v2 {
    --color-brand-primary: #1dd1a1; /* Verde Menta */
    --color-brand-primary-light: #48e9be;
    --color-white: #ffffff;
    --color-black: #05050a;
    --glass-border: hsla(0,0%,100%,0.08);
}

/* Título con Degradado */
.rtve-v2 .rtve-titulo-producto h1, 
.rtve-v2 .rtve-titulo-producto .product_title {
    background: linear-gradient(135deg, var(--color-white) 20%, var(--color-brand-primary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'Outfit', sans-serif !important;
    font-size: 3.5rem !important;
    font-weight: 800 !important;
    margin-top: 0 !important;
}

/* Caja del CTA (Fondo para Precio y Botón) */
.rtve-v2 .rtve-caja-cta {
    background: rgba(0,0,0,0.4) !important;
    padding: 2.5rem !important;
    border-radius: 16px !important;
    border: 1px solid var(--glass-border) !important;
    text-align: center;
    margin-top: 2rem;
}

/* Precio en Blanco (Corregido) */
.rtve-v2 .rtve-caja-cta .woocommerce-Price-amount, 
.rtve-v2 .rtve-caja-cta .price {
    color: var(--color-white) !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 3rem !important;
    font-weight: 800 !important;
    display: inline-block;
    margin-bottom: 1.5rem;
}

/* Botón "Añadir al Carrito" Nativo (Color Verde Menta) */
.rtve-v2 .single_add_to_cart_button {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.5rem !important; /* Espacio para el icono */
    width: 100% !important;
    padding: 1.25rem 2rem !important;
    font-size: 1.1rem !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    background: var(--color-brand-primary) !important;
    color: var(--color-black) !important; /* Texto en oscuro para que contraste con el verde */
    border-radius: 8px !important;
    text-transform: uppercase !important;
    border: none !important;
    transition: 0.4s ease !important;
}

/* Hover effect del Botón */
.rtve-v2 .single_add_to_cart_button:hover {
    background: var(--color-brand-primary-light) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 0 20px rgba(29, 209, 161, 0.4) !important;
}

/* Caja de Metadatos Visuales (Derecha) */
.rtve-v2 .rtve-caja-meta {
    background: rgba(0,0,0,0.6);
    padding: 2.5rem;
    border-radius: 16px;
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(10px);
}

.rtve-v2 .meta-item { 
    display: flex; 
    align-items: center; 
    gap: 1.5rem; 
    margin-bottom: 1.5rem; 
}

.rtve-v2 .meta-item:last-child { 
    margin-bottom: 0; 
}

.rtve-v2 .meta-icon { 
    font-size: 2.5rem; 
    width: 50px; 
    text-align: center; 
    color: var(--color-brand-primary); 
}

.rtve-v2 .meta-item strong { 
    display: block; 
    font-family: 'Outfit', sans-serif; 
    font-size: 1.2rem; 
    color: var(--color-white); 
    font-weight: 600; 
    margin-bottom: 0.2rem;
}

.rtve-v2 .meta-item span { 
    font-size: 1.1rem; 
    color: var(--color-brand-primary); 
}/* End custom CSS */
/* Start Custom Fonts CSS *//* End Custom Fonts CSS */
/* Start Custom Fonts CSS *//* End Custom Fonts CSS */