.elementor-3808 .elementor-element.elementor-element-c5eb8d9{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3808 .elementor-element.elementor-element-9255b9d{--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-3808 .elementor-element.elementor-element-5e589f6{--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-3808 .elementor-element.elementor-element-8350b7d{--display:flex;--min-height:666px;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.5;--margin-top:67px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-3808 .elementor-element.elementor-element-8350b7d::before, .elementor-3808 .elementor-element.elementor-element-8350b7d > .elementor-background-video-container::before, .elementor-3808 .elementor-element.elementor-element-8350b7d > .e-con-inner > .elementor-background-video-container::before, .elementor-3808 .elementor-element.elementor-element-8350b7d > .elementor-background-slideshow::before, .elementor-3808 .elementor-element.elementor-element-8350b7d > .e-con-inner > .elementor-background-slideshow::before, .elementor-3808 .elementor-element.elementor-element-8350b7d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-3808 .elementor-element.elementor-element-8350b7d:not(.elementor-motion-effects-element-type-background), .elementor-3808 .elementor-element.elementor-element-8350b7d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-repeat:no-repeat;background-size:cover;}.elementor-3808 .elementor-element.elementor-element-de1940a{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-3808 .elementor-element.elementor-element-de1940a .elementor-divider-separator{width:0%;}.elementor-3808 .elementor-element.elementor-element-de1940a .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-3808 .elementor-element.elementor-element-1bf54ae{--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;--justify-content:center;}.elementor-3808 .elementor-element.elementor-element-1bf54ae.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-3808 .elementor-element.elementor-element-9fd1925{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-3808 .elementor-element.elementor-element-9fd1925.elementor-element{--align-self:center;}.elementor-3808 .elementor-element.elementor-element-9fd1925 .elementor-heading-title{font-size:107px;-webkit-text-stroke-color:#000;stroke:#000;color:#FFFFFF;}.elementor-3808 .elementor-element.elementor-element-66f73ed{--spacer-size:70px;}.elementor-3808 .elementor-element.elementor-element-719ddc4{width:var( --container-widget-width, 63.131% );max-width:63.131%;--container-widget-width:63.131%;--container-widget-flex-grow:0;text-align:center;font-size:20px;line-height:25px;color:#FFFFFF;}.elementor-3808 .elementor-element.elementor-element-719ddc4.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-3808 .elementor-element.elementor-element-1383a1a{--display:flex;--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:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3808 .elementor-element.elementor-element-1383a1a.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-3808 .elementor-element.elementor-element-55f69ea{--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;--justify-content:center;}.elementor-3808 .elementor-element.elementor-element-55f69ea.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-3808 .elementor-element.elementor-element-ae2480c{--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;--justify-content:center;}.elementor-3808 .elementor-element.elementor-element-ae2480c.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-3808 .elementor-element.elementor-element-f1870db{width:var( --container-widget-width, 91.984% );max-width:91.984%;--container-widget-width:91.984%;--container-widget-flex-grow:0;}.elementor-3808 .elementor-element.elementor-element-f1870db.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-3808 .elementor-element.elementor-element-f1870db .elementor-heading-title{font-size:45px;}.elementor-3808 .elementor-element.elementor-element-196a41d{width:var( --container-widget-width, 90.5% );max-width:90.5%;--container-widget-width:90.5%;--container-widget-flex-grow:0;}.elementor-3808 .elementor-element.elementor-element-196a41d.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-3808 .elementor-element.elementor-element-196a41d .elementor-widget-container .overview-content{font-size:20px;font-weight:400;font-style:normal;color:#000000;text-align:left;}.elementor-3808 .elementor-element.elementor-element-ac54b1a{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;}.elementor-3808 .elementor-element.elementor-element-0070fd7{--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;--justify-content:center;}.elementor-3808 .elementor-element.elementor-element-0070fd7.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-3808 .elementor-element.elementor-element-969e5cc{width:var( --container-widget-width, 101.258% );max-width:101.258%;--container-widget-width:101.258%;--container-widget-flex-grow:0;text-align:right;}.elementor-3808 .elementor-element.elementor-element-969e5cc.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-3808 .elementor-element.elementor-element-969e5cc .elementor-heading-title{font-size:50px;color:#0030FF;}.elementor-3808 .elementor-element.elementor-element-ea1c9d5{--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-3808 .elementor-element.elementor-element-ea1c9d5.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-3808 .elementor-element.elementor-element-9b66e5c .elementor-heading-title{font-size:50px;}.elementor-3808 .elementor-element.elementor-element-451055f{--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-3808 .elementor-element.elementor-element-fc73b3e .elementor-widget-container .wpte-gallery-wrapper .wpte-trip-feat-img-gallery .owl-stage-outer{height:620px;}.elementor-3808 .elementor-element.elementor-element-a3e6ff9{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3808 .elementor-element.elementor-element-21dd818{--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-3808 .elementor-element.elementor-element-21dd818.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-3808 .elementor-element.elementor-element-5d31a29{text-align:center;}.elementor-3808 .elementor-element.elementor-element-33b20ba{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3808 .elementor-element.elementor-element-33b20ba:not(.elementor-motion-effects-element-type-background), .elementor-3808 .elementor-element.elementor-element-33b20ba > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F5DC;}.elementor-3808 .elementor-element.elementor-element-8846fb5{--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-3808 .elementor-element.elementor-element-5dfe9e8{--spacer-size:50px;}.elementor-3808 .elementor-element.elementor-element-356bb62{text-align:center;}.elementor-3808 .elementor-element.elementor-element-356bb62 .elementor-heading-title{font-size:40px;}.elementor-3808 .elementor-element.elementor-element-ce6846a{--spacer-size:50px;}.elementor-3808 .elementor-element.elementor-element-a61bf9c{--spacer-size:50px;}@media(max-width:1024px){.elementor-3808 .elementor-element.elementor-element-8350b7d{--min-height:540px;}.elementor-3808 .elementor-element.elementor-element-ac54b1a{--justify-content:flex-start;}.elementor-3808 .elementor-element.elementor-element-0070fd7{--justify-content:flex-start;}.elementor-3808 .elementor-element.elementor-element-fc73b3e .elementor-widget-container .wpte-gallery-wrapper .wpte-trip-feat-img-gallery .owl-stage-outer{height:431px;}}@media(max-width:767px){.elementor-3808 .elementor-element.elementor-element-9fd1925{text-align:center;}.elementor-3808 .elementor-element.elementor-element-9fd1925 .elementor-heading-title{font-size:49px;}.elementor-3808 .elementor-element.elementor-element-969e5cc{text-align:left;}.elementor-3808 .elementor-element.elementor-element-fc73b3e .elementor-widget-container .wpte-gallery-wrapper .wpte-trip-feat-img-gallery .owl-stage-outer{height:295px;}}@media(min-width:768px){.elementor-3808 .elementor-element.elementor-element-9255b9d{--width:50%;}.elementor-3808 .elementor-element.elementor-element-5e589f6{--width:50%;}.elementor-3808 .elementor-element.elementor-element-1bf54ae{--width:100%;}.elementor-3808 .elementor-element.elementor-element-1383a1a{--width:77.849%;}.elementor-3808 .elementor-element.elementor-element-55f69ea{--width:45.079%;}.elementor-3808 .elementor-element.elementor-element-ae2480c{--width:57.277%;}.elementor-3808 .elementor-element.elementor-element-0070fd7{--width:39.655%;}.elementor-3808 .elementor-element.elementor-element-ea1c9d5{--width:54.981%;}.elementor-3808 .elementor-element.elementor-element-451055f{--width:100%;}.elementor-3808 .elementor-element.elementor-element-21dd818{--width:98.787%;}.elementor-3808 .elementor-element.elementor-element-8846fb5{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-3808 .elementor-element.elementor-element-1383a1a{--width:740px;}.elementor-3808 .elementor-element.elementor-element-55f69ea{--width:343.562px;}.elementor-3808 .elementor-element.elementor-element-0070fd7{--width:321.587px;}}/* Start custom CSS for shortcode, class: .elementor-element-c8f04fe */.servicios-destinos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 8px 12px;
}

.destino-servicio-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.destino-icono {
    font-size: 22px;
    color: #0030ff !important;
}

.servicio-descripcion {
    font-size: 15px;
    color: #333;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8f9c612 *//* --- 1. Contenedor Principal del Carrusel (OPTIMIZADO) --- */
.mi-carrusel-contenedor {
    position: relative;
    width: 100%;
    margin: 0 auto;
    /* Usamos un padding relativo (vmin) para pantallas muy grandes y un máximo fijo */
    padding: 0 max(20px, 3vw);
    overflow: hidden !important;
    box-sizing: border-box;
    padding-bottom: 50px;
}

/* --- 2. Forzar Ocultación en Elementor (Mantenido) --- */
.elementor-section {
    overflow-x: hidden !important;
}

/* --- 3. Tarjeta de Actividad (OPTIMIZADO - Eliminado min-height fijo) --- */
.tarjeta-actividad {
    background-color: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);

    /* Flexbox es la clave para la altura flexible */
    display: flex;
    flex-direction: column;
    text-align: center;

    height: 100%; /* Permite que Swiper controle la altura */
    /* Removido: min-height: 520px; -> Ahora la altura será dinámica */
    padding-bottom: 20px;
}

/* --- 4. Imagen de la Actividad (OPTIMIZADO - Altura dinámica) --- */
.tarjeta-actividad img {
    width: 100%;
    /* Usamos una relación de aspecto para que la imagen se adapte mejor sin cortar */
    aspect-ratio: 16 / 10;
    height: auto; /* Dejar que 'aspect-ratio' y 'width' controlen la altura */
    object-fit: cover;
    border-radius: 20px 20px 0 0;
    margin-bottom: 15px;
}

/* --- 5. Título (Mantenido) --- */
.tarjeta-actividad h3 {
    font-size: 24px;
    font-weight: 700;
    margin: 0 20px 8px 20px;
    color: #333;
    line-height: 1.3;
}

/* --- 6. Descripción con Flex para empujar el botón (Mantenido) --- */
.tarjeta-actividad p {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    margin: 0 20px;
    flex-grow: 1; /* Esto es CRUCIAL para que el botón se alinee siempre abajo */
}

/* --- 7. Enlace "Ver más" Estilizado (Mantenido) --- */
.ver-mas-enlace {
    display: inline-block;
    text-align: center;
    margin: 10px auto 0 auto;
    padding: 10px 22px;
    color: #0030ff;
    text-decoration: none;
    font-weight: bold;
    border: 2px solid #0030ff;
    border-radius: 5px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.ver-mas-enlace:hover {
    background-color: #0030ff;
    color: #fff;
}

/* --- 8. Swiper: Alineación de Slides (Mantenido) --- */
.swiper-wrapper {
    align-items: stretch; /* Permite que Swiper mantenga la altura uniforme */
}

/* --- 9. Flechas de Navegación (OPTIMIZADO para grandes pantallas) --- */
.swiper-button-next,
.swiper-button-prev {
    color: #333;
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
    transition: background-color 0.3s ease;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
}

.swiper-button-prev {
    /* Mantenemos un espacio de 5px, que es pequeño y se verá bien en móvil */
    left: 5px;
}
.swiper-button-next {
    right: 5px;
}

/* --- 10. Paginación (Mantenido) --- */
.swiper-pagination-bullet {
    background: #ccc;
    opacity: 1;
}
.swiper-pagination-bullet-active {
    background: #333;
}

/* ------------------------------------- */
/* --- 11. RESPONSIVE OPTIMIZADO con Media Queries --- */
/* ------------------------------------- */

/* Ajuste para pantallas ULTRA-GRANDES (TVs, monitores 4K+) */
@media (min-width: 1920px) {
    /* Se asegura que el carrusel no se estire demasiado y mantenga un contenido centrado */
    .mi-carrusel-contenedor {
        /* Fija un ancho máximo para el padding, manteniendo el contenido centrado */
        padding-left: 150px;
        padding-right: 150px;
    }
}

/* Ajuste para Laptops grandes / Monitores de escritorio (1200px - 1919px) */
@media (min-width: 1200px) and (max-width: 1919px) {
    .tarjeta-actividad img {
        /* Ligero aumento de la relación de aspecto para imágenes más grandes y detalladas */
        aspect-ratio: 16 / 9.5;
    }
}

/* Tablets en horizontal / Laptops pequeñas (769px - 1199px) */
@media (max-width: 1199px) {
    .tarjeta-actividad h3 {
        font-size: 22px;
    }
    .tarjeta-actividad p {
        font-size: 15px;
    }
}

/* Móvil en horizontal / Tablets pequeñas (481px - 768px) */
@media (max-width: 768px) {
    .mi-carrusel-contenedor {
        padding: 0 15px; /* Reduce el padding lateral */
        padding-bottom: 40px;
    }
    .swiper-button-next,
    .swiper-button-prev {
        width: 30px;
        height: 30px;
    }
    .tarjeta-actividad img {
        aspect-ratio: 16 / 11; /* La imagen es ligeramente más alta en relación a su ancho */
    }
}

/* Móvil vertical (hasta 480px) */
@media (max-width: 480px) {
    .mi-carrusel-contenedor {
        padding: 0 10px; /* Padding muy reducido para aprovechar el espacio */
    }
    .tarjeta-actividad {
        padding-bottom: 15px;
    }
    .tarjeta-actividad h3 {
        font-size: 20px;
        margin-left: 15px;
        margin-right: 15px;
    }
    .tarjeta-actividad p {
        font-size: 14px;
        margin-left: 15px;
        margin-right: 15px;
    }
    .tarjeta-actividad img {
        aspect-ratio: 16 / 12; /* Imagen más cuadrada para móviles */
    }
    .swiper-button-next,
    .swiper-button-prev {
        /* Oculta las flechas si el espacio es muy limitado y solo se ve 1 slide */
        display: none;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-ccddc12 *//* --- CONTENEDOR PRINCIPAL DEL CARRUSEL DE HOTELES --- */
.mi-carrusel-hotel-contenedor {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 0 50px;
    overflow: hidden !important;
    box-sizing: border-box;
    padding-bottom: 50px;
}

.elementor-section {
    overflow-x: hidden !important;
}

.swiper-wrapper {
    align-items: stretch;
}



/* =====================================================
   TARJETAS DEL CARRUSEL DE HOTELES
   ===================================================== */

.tarjeta-hotel {
    background-color: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    text-align: center;
    height: auto;
}

.tarjeta-hotel img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 20px 20px 0 0;
}

.hotel-contenido {
    padding: 20px 20px 30px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.tarjeta-hotel h3 {
    font-size: 24px;
    font-weight: 700;
    margin: 10px 0;
    color: #333;
}

.tarjeta-hotel p {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 25px;
}



/* =====================================================
   BOTÓN "Reservar Ahora"
   ===================================================== */

.boton-reserva {
    display: inline-block;
    padding: 15px 30px;
    background-color: #0040ff;
    color: #ffffff !important;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 700;
    font-size: 16px;
    transition: 0.3s ease;
    width: 100%;
    max-width: 220px; /* Esto evita que sea demasiado grande */
    text-align: center;

    /* Centrado perfecto */
    margin-left: auto;
    margin-right: auto;
}

.boton-reserva:hover {
    background-color: #002db3;
}



/* =====================================================
   FLECHAS DE NAVEGACIÓN
   ===================================================== */

.mi-carrusel-hotel-contenedor .swiper-button-next,
.mi-carrusel-hotel-contenedor .swiper-button-prev {
    color: #333;
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
}

.mi-carrusel-hotel-contenedor .hotel-prev { left: 5px; }
.mi-carrusel-hotel-contenedor .hotel-next { right: 5px; }



/* =====================================================
   PAGINACIÓN DEL CARRUSEL
   ===================================================== */

.hotel-pagination .swiper-pagination-bullet {
    background: #ccc;
    opacity: 1;
}

.hotel-pagination .swiper-pagination-bullet-active {
    background: #333;
}/* End custom CSS */