/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
/* agregar  variables globales */
:root {
    --jim-primary-gradient-color: #FF1F8E;
    --jim-secondary-gradient-color: #FF8E53;
    --jim-alt1-gradient-color: #6CA9F0;
    --jim-alt2-gradient-color: #AF87C1;
    --jim-alt3-gradient-color: #F46890;
    --jim-alt4-gradient-color: #F39E68;
}

/* ================================
   Fuente global: Museo Sans
   ================================ */

body {
    font-family: "museo-sans", sans-serif;
    font-weight: 300;
}

/* Elementor: asegurar herencia */
.elementor,
.elementor-widget,
.elementor-widget * {
    font-family: inherit;
}

/* Pesos tipográficos */
.font-light,
.font-300 {
    font-weight: 300;
}

.font-semibold,
.font-600 {
    font-weight: 600;
}

.font-bold,
.font-700 {
    font-weight: 700;
}

.font-extra-bold,
.font-900 {
    font-weight: 900;
}


/* Encabezados */
h1, h2, h3, h4, h5, h6 {
    font-family: "museo-sans", sans-serif;
    font-weight: 600;
}

/* Formularios */
input,
textarea,
select,
checkbox,
button {
    font-family: inherit;
    font-weight: inherit;
}

/* Labels */
label {
    font-family: "museo-sans", Arial, Helvetica, sans-serif;
    font-weight: 600; /* Semibold */
    font-size: 14px;
    line-height: 1.4;
}

/* Inputs, selects y textareas */
input,
select,
checkbox,
textarea {
    font-family: "museo-sans", Arial, Helvetica, sans-serif;
    font-weight: 300; /* Regular / Light */
    font-size: 14px;
    line-height: 1.5;
}

/* Placeholders */
input::placeholder,
textarea::placeholder {
    font-family: "museo-sans", Arial, Helvetica, sans-serif;
    font-weight: 300;
    opacity: 0.6; /* Diferenciar del texto real */
}

/* Focus (mejora UX) */
input:focus,
select:focus,
textarea:focus {
    outline: none;
}

/* Desactivar bold sintético */
input,
select,
textarea,
checkbox,
label {
    font-synthesis: none;
}

/* Semibold para etiquetas strong y b */
strong,
b {
    font-weight: 600;
    font-synthesis: none; /* evita falsos bold */
}

h1 {
    background: var(--jim-primary-gradient-color);
    background: linear-gradient(90deg, var(--jim-primary-gradient-color) , var(--jim-secondary-gradient-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.jim-gradient-heading-calid{
    background: var(--jim-primary-gradient-color);
    background: linear-gradient(90deg, var(--jim-primary-gradient-color) , var(--jim-secondary-gradient-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* aplicar para cualquier Hx con la clase */
.jim-gradient-heading > h1, .jim-gradient-heading > h2, .jim-gradient-heading > h3, 
.jim-gradient-heading > h4, .jim-gradient-heading > h5, .jim-gradient-heading > h6 {
    background: var(--jim-alt1-gradient-color);
    background: linear-gradient(270deg, 
        var(--jim-alt1-gradient-color) -50%, var(--jim-alt2-gradient-color) , 
        var(--jim-alt3-gradient-color) , var(--jim-alt4-gradient-color) 150%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.jim-gradient-text p, .jim-gradient-text span, .jim-gradient-text a {
    background: var(--jim-alt1-gradient-color);
    background: linear-gradient(270deg, 
        var(--jim-alt1-gradient-color) -50%, var(--jim-alt2-gradient-color) , 
        var(--jim-alt3-gradient-color) , var(--jim-alt4-gradient-color) 150%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}


/* Estado normal: borde degradado + fondo blanco */
.jim-gradient-button {
    border: 1px solid transparent !important;
    border-radius: 10px;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(90deg, #6CA9F0, #AF87C1, #F46890, #F39E68) border-box;
    transition: all 0s !important;
}

/* Hover: fondo degradado */
.jim-gradient-button:hover {
    color: #fff !important;
    background: linear-gradient(90deg, #F39E68, #F46890, #AF87C1, #6CA9F0);
    border: 1px solid transparent !important;
    transform: scale(1.01);
    background-origin: border-box;
}

/* Active: fondo sólido rosa */
.jim-gradient-button:active {
    background: #FF0094;
    color: #fff !important;
    border-color: transparent;
}

/* Disabled */
.jim-gradient-button:disabled,
.jim-gradient-button.disabled {
    background: #e0e0e0 !important;
    border-color: #e0e0e0 !important;
    color: #ffffff80 !important;
    cursor: not-allowed;
    pointer-events: none;
}

.jim-gradient-button:hover span,
.jim-gradient-button:active span,
.jim-gradient-button:disabled span,
.jim-gradient-button.disabled span{
        -webkit-text-fill-color: white;
}

/* Estado normal: borde degradado + fondo blanco */
.jim-gradient-card {
    border: 1px solid transparent;
    border-radius: 10px;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(90deg, #6CA9F0, #AF87C1, #F46890, #F39E68) border-box;
    transition: all 0.25s ease;
}

/* Variantes de color para tarjetas */
.jim-gradient-card-purple {
    border: 1px solid transparent;
    border-radius: 10px;
    background:
        linear-gradient(#F7F0FF, #F7F0FF) padding-box,
        linear-gradient(90deg, #6CA9F0, #AF87C1, #F46890, #F39E68) border-box;
    transition: all 0.25s ease;
}

.jim-gradient-card-salmon {
    border: 1px solid transparent;
    border-radius: 10px;
    background:
        linear-gradient(#FFF0F0, #FFF0F0) padding-box,
        linear-gradient(90deg, #6CA9F0, #AF87C1, #F46890, #F39E68) border-box;
    transition: all 0.25s ease;
}

.jim-gradient-card-pink {
    border: 1px solid transparent;
    border-radius: 10px;
    background:
        linear-gradient(#FFF4F8, #FFF4F8) padding-box,
        linear-gradient(90deg, #6CA9F0, #AF87C1, #F46890, #F39E68) border-box;
    transition: all 0.25s ease;
}

.jim-gradient-card-green {
    border: 1px solid transparent;
    border-radius: 10px;
    background:
        linear-gradient(#F0FBF5, #F0FBF5) padding-box,
        linear-gradient(90deg, #6CA9F0, #AF87C1, #F46890, #F39E68) border-box;
    transition: all 0.25s ease;
}

.jim-gradient-card-blue {
    border: 1px solid transparent;
    border-radius: 10px;
    background:
        linear-gradient(#F0F9FF, #F0F9FF) padding-box,
        linear-gradient(90deg, #6CA9F0, #AF87C1, #F46890, #F39E68) border-box;
    transition: all 0.25s ease;
}

.jim-gradient-card-yellow {
    border: 1px solid transparent;
    border-radius: 10px;
    background:
        linear-gradient(#FFFEF0, #FFFEF0) padding-box,
        linear-gradient(90deg, #6CA9F0, #AF87C1, #F46890, #F39E68) border-box;
    transition: all 0.25s ease;
}

/* Hover: fondo degradado */
.jim-gradient-form button {
    color: #fff !important;
    background: linear-gradient(90deg, #F39E68, #F46890, #AF87C1, #6CA9F0);
    border-color: white !important;
}

.jim-gradient-form button:hover {
    transform: scale(1.01);
}

/* Active: fondo sólido rosa */
.jim-gradient-card-pink-orange{
    background: linear-gradient(90deg, #FF1F8E 0%, #FF8E53 100%);
}

/* Gradient overlay para container con video de fondo */
.video-gradient {
    position: relative;
    overflow: hidden;
}

/* Video de fondo (no tocar estilos visuales) */
.video-gradient .elementor-background-video-container {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.video-gradient::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0.85;
    background: linear-gradient(
        270deg,
        var(--jim-alt1-gradient-color) -50%,
        var(--jim-alt2-gradient-color),
        var(--jim-alt3-gradient-color),
        var(--jim-alt4-gradient-color) 150%
    );
}

/*  Contenido del container */
.video-gradient .elementor-container,
.video-gradient .e-con-inner,
.video-gradient > .elementor-widget-wrap,
.video-gradient > .elementor-element {
    position: relative;
    z-index: 2;
}

/* Asegurar que el contenido quede por encima del overlay */
/* .video-gradient > * {
    position: relative;
    z-index: 2;
} */

/* shortcode de cambio de idioma */
.trp-shortcode-switcher{
    padding: 5px 0;
}

/* estilos de las pills de carrouseles */
.carousel-pills .swiper-pagination-bullet {
    width: 100px;
    height: 5px;
    border-radius: 10px;
    background-color: #ccc;
    margin: 0 4px;
    opacity: 1;
}

.carousel-pills .swiper-pagination-bullet-active {
    background: linear-gradient(
        90deg,
        var(--jim-alt1-gradient-color),
        var(--jim-alt2-gradient-color),
        var(--jim-alt3-gradient-color),
        var(--jim-alt4-gradient-color)
    );  
}

@media (max-width: 767px) {
    .carousel-pills .swiper-pagination-bullet {
        width: 10px;
        height: 5px;
        margin: 0 3px;
        opacity: 0.3;
    }

    .carousel-pills .swiper-pagination-bullet-active {
        opacity: 1;
    }
}

/* Oculta el container (slider) de promociones de la home si el loop no tiene items para mostrar */
#promociones-container.hide-if-no-content div:has(.e-loop-nothing-found-message){
    display: none;
}