/* 
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: theme
Version: 2.0.0
Text Domain: theme-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 */

body {
    font-family: "Montserrat", sans-serif;
    line-height: 1.7;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 1.4rem;
}

.intro_gallery {
    overflow: hidden;
}


.love_box {
    background-color: #fafafa;
}

.encabezado {
    z-index: 0;
    position: relative;
}
.tour-title {
    position: absolute;
    top: 50%;
    width: 100%;
    text-align: center;
}

.tour_bar .value {
    font-family: "lato", serif;
    color: #ffd600;
    font-size: 2.5rem;
    line-height: 1;
    font-weight: 700;
}

span.mob_title {
    text-shadow: 6px 0px 17px BLACK;
    text-align: center;
    left: 0;
    position: absolute;
    width: 100%;
    color: #ffffff;
    z-index: 2000;
    top: 50%;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
}

.tour_bar .label {
    line-height: 1;
    font-weight: 500;
}
.tour-title h1 {
    text-shadow: 0 0 8px black;
    color: white;
}

.tour-title .sites_to_visit {
    font-size: 1.3rem;
    color: white;
    font-weight: 500;
    text-shadow: 0 0 8px black;
}

span.usd {
    margin-left: 5px;
    font-size: 1.2rem;
    color: white;
}

.tour_bar {
    width: 100%;
    position: absolute;
    bottom: 0;
    color: white;
    background-color: rgba(0, 0, 0, 0.44);
    padding: 15px;
}


/* ====== ESTILOS DE HEADINGS ====== */
.single-tour h1, .post_content h1 {
    font-weight: 400;
    font-style: normal;
    font-size: 0.75rem;
}

.single-tour h2,
.post_content h2 {
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1.6rem;
    color: #3f51b5;
}

.single-tour h3,
.post_content h3 {
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1.15rem;
    color: #3f51b5;
}

.single-tour h4,
.post_content h4 {
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1.1rem;
}

.single-tour h5,
.post_content h5 {
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1.05rem;
}

.single-tour h6,
.post_content h6 {
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1rem;
}


/* Native Elegant Readmore Component */
.native-readmore-wrapper {
    position: relative;
    overflow: hidden;
    transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.native-readmore-wrapper:not(.is-expanded)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 90px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 50%, #ffffff 100%);
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.native-readmore-wrapper.is-expanded::after {
    opacity: 0;
    pointer-events: none;
}

.native-readmore-action {
    position: relative;
    z-index: 2;
}

.btn-native-readmore {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffffff;
    border: 1.5px solid #2f54a1;
    color: #2f54a1;
    font-size: 0.88rem;
    font-weight: 700;
    padding: 7px 20px;
    border-radius: 50px;
    box-shadow: 0 2px 10px rgba(47, 84, 161, 0.1);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    outline: none;
}

.btn-native-readmore:hover {
    background: #2f54a1;
    color: #ffffff;
    border-color: #2f54a1;
    box-shadow: 0 4px 14px rgba(47, 84, 161, 0.25);
    transform: translateY(-1px);
}

.btn-native-readmore:active {
    transform: translateY(0);
}

.btn-native-readmore i {
    font-size: 0.8rem;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-native-readmore.is-active i {
    transform: rotate(180deg);
}

/* Legacy fallback */
a.linkread {
    font-size: 0.85rem !important;
    text-decoration: none;
    color: #2f54a1;
    font-weight: 700;
}

.introduccion, .love, .introduccion_2, .travel_guide, .faqs {
    position: relative;
}


.card-r-post img {
    height: auto;
}



/*
.header_desktop {
    position: absolute;
    z-index: 9;
    width: 100%;
}
*/


/* ==========================================================================
   Hero Section / Home Header (Modern & Elegant)
   ========================================================================== */
.home_header {
    position: relative;
    width: 100%;
    height: clamp(540px, 80vh, 760px);
    min-height: 520px;
    overflow: hidden;
    background: #061941;
}

.home_header #home_slider,
.home_header #home_slider .slick-list,
.home_header #home_slider .slick-track,
.home_header #home_slider .slide {
    height: 100%;
}

.home_header #home_slider .slide {
    position: relative;
    overflow: hidden;
}

.home_header #home_slider img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 38%;
    transform: scale(1);
    transition: transform 6s ease-out;
}

.home_header #home_slider .slick-current img {
    transform: scale(1.04);
}

/* Cinematic Multi-stop Overlay */
.home_header_overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    background: 
        linear-gradient(180deg, 
            rgba(6, 25, 65, 0.45) 0%, 
            rgba(6, 25, 65, 0.2) 35%, 
            rgba(5, 20, 52, 0.62) 75%, 
            rgba(4, 15, 40, 0.9) 100%),
        radial-gradient(ellipse at center, transparent 35%, rgba(4, 16, 44, 0.45) 100%);
}

/* Content Container & Centering */
.homepage_title {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
    pointer-events: none;
    padding: 1.5rem 0;
}

.homepage_title .hero-content {
    pointer-events: auto;
    max-width: 900px;
    margin: 0 auto;
}

/* Glassmorphism Eyebrow Badge */
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 18px;
    margin-bottom: 1.25rem;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    color: #f1f5f9;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.18);
    animation: heroFadeIn 0.8s ease-out both;
}

.hero-badge i {
    color: #93c5fd;
    font-size: 0.88rem;
}

/* Headline Typography */
.hero-title {
    color: #ffffff;
    font-size: clamp(2.3rem, 5.2vw, 3.9rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.03em;
    margin-bottom: 1.15rem;
    text-shadow: 0 3px 20px rgba(0, 0, 0, 0.5), 0 8px 32px rgba(0, 0, 0, 0.3);
    animation: heroFadeIn 0.9s 0.1s ease-out both;
}

/* Subtitle */
.hero-subtitle {
    color: rgba(255, 255, 255, 0.92);
    font-size: clamp(1.05rem, 1.85vw, 1.28rem);
    font-weight: 400;
    line-height: 1.6;
    max-width: 680px;
    margin: 0 auto 1.85rem;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
    animation: heroFadeIn 1s 0.2s ease-out both;
}

/* Action Buttons (CTAs) */
.hero-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
    animation: heroFadeIn 1.1s 0.3s ease-out both;
}

.btn-hero {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 28px;
    border-radius: 999px;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: pointer;
}

.btn-hero-primary {
    background: #0a4dcc;
    color: #ffffff !important;
    border: 1.5px solid #0a4dcc;
    box-shadow: 0 8px 24px rgba(10, 77, 204, 0.45);
}

.btn-hero-primary:hover {
    background: #073382;
    border-color: #073382;
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(10, 77, 204, 0.6);
    color: #ffffff !important;
}

.btn-hero-primary i {
    transition: transform 0.25s ease;
}

.btn-hero-primary:hover i {
    transform: translateX(4px);
}

.btn-hero-glass {
    background: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #ffffff !important;
    border: 1.5px solid rgba(255, 255, 255, 0.65);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.16);
}

.btn-hero-glass:hover {
    background: #ffffff;
    color: #073382 !important;
    border-color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

/* Micro Highlights Row */
.hero-highlights {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    animation: heroFadeIn 1.2s 0.4s ease-out both;
}

.hero-highlights .highlight-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.84rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

.hero-highlights .highlight-item i {
    color: #60a5fa;
    font-size: 0.92rem;
}

/* Scroll Cue Indicator */
.hero-scroll-down {
    position: absolute;
    bottom: 22px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: all 0.3s ease;
}

.hero-scroll-down:hover {
    color: #ffffff;
    transform: translateX(-50%) translateY(3px);
}

.scroll-mouse {
    display: block;
    width: 22px;
    height: 36px;
    border: 2px solid rgba(255, 255, 255, 0.6);
    border-radius: 12px;
    position: relative;
    backdrop-filter: blur(4px);
}

.scroll-wheel {
    position: absolute;
    top: 6px;
    left: 50%;
    width: 4px;
    height: 7px;
    background: #ffffff;
    border-radius: 2px;
    transform: translateX(-50%);
    animation: scrollWheel 1.8s infinite;
}

@keyframes scrollWheel {
    0% { opacity: 1; transform: translate(-50%, 0); }
    100% { opacity: 0; transform: translate(-50%, 12px); }
}

@keyframes heroFadeIn {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Elegant Slick Slider Navigation Arrows */
.home_header .slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 6;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #ffffff;
    display: grid;
    place-items: center;
    cursor: pointer;
    font-size: 1rem;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.22);
}

.home_header .slick-prev {
    left: 24px;
}

.home_header .slick-next {
    right: 24px;
}

.home_header .slick-arrow:hover {
    background: #ffffff;
    color: #073382;
    border-color: #ffffff;
    transform: translateY(-50%) scale(1.08);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.32);
}

/* Responsive Breakpoints */
@media (max-width: 991px) {
    .home_header {
        height: 600px;
        min-height: 540px;
    }
    .hero-highlights {
        gap: 1rem;
    }
}

@media (max-width: 767px) {
    .home_header {
        height: auto;
        min-height: 520px;
        padding: 4.5rem 0 3.5rem;
    }
    .homepage_title {
        position: relative;
        inset: auto;
        padding: 0;
    }
    .home_header #home_slider {
        position: absolute;
        inset: 0;
    }
    .home_header .slick-arrow {
        display: none !important;
    }
    .hero-actions {
        flex-direction: column;
        width: 100%;
        gap: 0.75rem;
    }
    .btn-hero {
        width: 100%;
        max-width: 320px;
        justify-content: center;
    }
    .hero-scroll-down {
        display: none;
    }
}

/* ==========================================================================
   Page & Post Hero Banner (.post_header / .title_post)
   ========================================================================== */
.post_header {
    position: relative;
    width: 100%;
    min-height: 280px;
    height: clamp(300px, 42vh, 440px);
    overflow: hidden;
    background: #061941;
    display: flex;
    align-items: center;
    justify-content: center;
}

.post_header img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 38%;
    transform: scale(1.02);
}

.post_header img.img-desktop {
    display: block !important;
}

.post_header img.img-mobile {
    display: none !important;
}

/* Multi-stop Cinematic Overlay for Page Hero */
.post_header::before,
.post_header_overlay {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: 
        linear-gradient(180deg, 
            rgba(6, 25, 65, 0.52) 0%, 
            rgba(6, 25, 65, 0.28) 40%, 
            rgba(5, 20, 52, 0.68) 80%, 
            rgba(4, 15, 40, 0.92) 100%),
        radial-gradient(ellipse at center, transparent 35%, rgba(4, 16, 44, 0.45) 100%);
}

.title_post {
    position: relative;
    z-index: 4;
    width: 100%;
    text-align: center;
    color: #ffffff;
    padding: 2.5rem 1rem;
}

.title_post .container {
    position: relative;
    z-index: 5;
}

.title_post h1,
.title_post .page-hero-title {
    color: #ffffff !important;
    font-size: clamp(2.1rem, 5vw, 3.5rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.025em;
    margin: 0 auto;
    max-width: 860px;
    text-shadow: 0 3px 18px rgba(0, 0, 0, 0.55), 0 8px 30px rgba(0, 0, 0, 0.35);
    animation: heroFadeIn 0.8s ease-out both;
}

.title_post .hero-page-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 16px;
    margin-bottom: 1rem;
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 999px;
    color: #f1f5f9;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
    animation: heroFadeIn 0.7s ease-out both;
}

.title_post .hero-page-badge i {
    color: #93c5fd;
}

.title_post p {
    color: rgba(255, 255, 255, 0.92);
    font-size: clamp(1rem, 1.6vw, 1.18rem);
    line-height: 1.6;
    max-width: 680px;
    margin: 0.85rem auto 0;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
    animation: heroFadeIn 0.9s 0.15s ease-out both;
}

@media (max-width: 767px) {
    .post_header {
        min-height: 240px;
        height: clamp(240px, 35vh, 300px);
    }
    .post_header img.img-desktop {
        display: none !important;
    }
    .post_header img.img-mobile {
        display: block !important;
    }
    .post_header img:only-of-type {
        display: block !important;
    }
    .title_post {
        padding: 1.5rem 0.75rem;
    }
}

/* Estilos para el menu responsivo */

.menu_icon_box i {
    margin: auto;
    font-size: 1.9rem;
    text-align: center;
    display: block;
}
.menu_icon_box a {
    color: black;
}

.admin-bar	.responsive_menu {
    background-color: rgba(0, 0, 0, 0.81);
    position: fixed;
    top: 45px;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    overflow: hidden;
}
.responsive_menu {
    background-color: rgba(0, 0, 0, 0.81);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    overflow: hidden;
}
.icon_close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: fit-content;
}
.icon_close	i{
    color: white;
    font-size: 2rem;
}

ul.submenu_ul {
    margin: auto;
    padding: 0;
    list-style: none;
}
li.submenu-item a {
    color: white;
    display: block;
    border-bottom: 1px solid #ffffff5e;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
}
.responsive-button {
    text-transform: uppercase;
    background-color: #00000080;
    color: #ff8d00f2;
    font-size: 1.1rem !important;
    padding: 15px 0 15px 20px;
}

h4.responsive-accordion-header {
    border-bottom: 1px solid #ffffff52;
    margin-block-start: 0;
    margin-block-end: 0;
}
.res_menu_box .accordion-button.collapsed {
    text-transform: uppercase;
    background-color: #00000080;
    color: #ff8d00f2 !important;
    font-size: 1.3rem !important;
    padding: 15px 0 15px 20px;
}
.res_menu_box .accordion-button:not(.collapsed) {
    background-color: #000000 !important;
}

.res_menu_box .accordion-button::after {
    flex-shrink: 0;
    margin-right: 15px;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: auto;
    content: "";
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");		background-repeat: no-repeat;
    background-size: 1.25rem;
    transition: transform 0.2s ease-in-out;
}

/* Estilos para el menu responsivo */


/* Estilos para el menu princoipal */

.main-navigation {
    margin-top: 10px;
    border-top: 1px solid #2f54a157;
    font-family: Arial, sans-serif;
    display: flex;
    justify-content: center;
    background-color: #1a237e00;
}
.main-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex; /* Convierte el menú principal en horizontal */
}

.main-navigation li {
    position: relative; /* Es necesario para posicionar el submenú */
    margin-bottom: 0 !important;
}

.main-navigation ul li a {
    font-family: "Montserrat", serif;
    font-weight: 600;
    font-size: 1rem;
    display: block;
    padding: 15px 25px;
    text-decoration: none;
    color: #000000;
    transition: background-color 0.3s ease, color 0.3s ease;
} 
.main-navigation ul li a:hover {
    background-color: #0a4dcc; /* Un azul un poco más claro para el hover */
    color: #ffffff;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Efecto hover para el menú principal */
.main-navigation > ul > li.menu-item-has-children:hover > a {
    background-color: #000000; /* Un azul un poco más claro para el hover */
    color: white;
}

/* Submenús */
.main-navigation .sub-menu {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 300px;
    background-color: #000000; /* Fondo del submenú */
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    visibility: hidden;
    opacity: 0;
    transform: translateY(20px);
    transition: transform 0.4s ease, opacity 0.4s ease, visibility 0.4s ease;
}

/* Muestra el submenú al hacer hover */
.main-navigation li:hover > .sub-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}
.main-navigation li:hover > ul.sub-menu li {
    margin-bottom: 0;
}

/* Estilos de los elementos del submenú */
.main-navigation .sub-menu li {
    display: block;
}

.main-navigation .sub-menu a {
    color: #e0eaff; /* Color del texto del submenú */
    padding: 12px 20px;
}

/* Efecto hover para los elementos del submenú */
.main-navigation .sub-menu a:hover {
    background-color: #fff;
    color: #000000;
}

.main-navigation li a {
    border-right: 1px solid #ccc; /* color y grosor a tu gusto */
    border-left: 1px solid #ccc; /* color y grosor a tu gusto */
    margin-right: -1px;
}



/* Estilos para el menu princoipal */


.ulnav {
    list-style-type: none; /* Remove default bullets */
    margin: 0;
    padding: 0;
    display: flex; /* Use flexbox to align items horizontally */
    gap: 20px; /* Space between items */
}

.ulnav li {
    display: inline-block; /* Ensure list items are inline */
}

.ulnav li a {
    text-decoration: none; /* Remove default underline from links */
    padding: 10px 15px; /* Add padding for better appearance */
    display: flex; /* Flex for icon and text alignment */
    align-items: center; /* Center icon and text vertically */
    gap: 8px; /* Space between icon and text */
}

.ulnav li a:hover {
    background-color: #f0f0f0; /* Optional hover effect */
    border-radius: 5px; /* Optional rounded corners */
}
.nav_box {
    padding-top: 5px;
    background: #eeeeee;
    padding-bottom: 0;
}

.love {
    column-count: 2;
}

/* Container spacing */
.yacama-gallery { padding: 12px 0; }

/* Card base */
.yacama-card {
    display:block;
    border-radius:10px;
    overflow:hidden;
    -webkit-tap-highlight-color: transparent;
    text-decoration:none;
    outline: none;
}

/* Image wrapper sets perspective for 3D effect */
.yc-imgwrap {
    position:relative;
    width:100%;
    padding-bottom:75%; /* 4:3 aspect */
    background:#f2f2f2;
    perspective:1200px; /* crucial for 3D tilt */
}

/* Image itself */
.yc-imgwrap img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transform: translateZ(0) scale(1);
    transition: transform 420ms;
    will-change: transform, filter;
    backface-visibility: hidden;
    filter: grayscale(25%) contrast(.98) brightness(.97);
    border-radius:0;
}


/* Hover / focus spectacular effect */
.yacama-card:hover .yc-imgwrap img,
.yacama-card:focus .yc-imgwrap img {
    transform: scale(1.14);
    box-shadow: 0 28px 60px rgba(12,20,30,0.38), 0 6px 18px rgba(12,20,30,0.18);
}

/* Overlay sweep moves across */
.yacama-card:hover .yc-overlay,
.yacama-card:focus .yc-overlay {
    transform: translateX(100%);
    opacity:1;
}


/* Keyboard focus visible */
.yacama-card:focus {
    box-shadow: 0 0 0 4px rgba(3,169,244,0.12);
    border-radius:10px;
}

/* Responsive tweak for very small screens */
@media (max-width:480px){
    .yc-imgwrap { padding-bottom:66%; }
    .yacama-card:hover .yc-imgwrap img { transform: scale(1.08) translateY(-4px); }
}


img.alignnone {
    width: 100%;
    height: auto;
}



/* Responsive layout */
/* lg: 992 - 1199px (Tablets horizontal, desktops pequeños) */
/* para todos los tanaños que son supeiorres al de smartphones */
@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }
    img.img-mobile {
        display: none;
    }
    .tour-title h1 {
        font-weight: 400 !important;
        text-shadow: none;
        color: #000000;
    }
    .intro {
        position: initial;
    }

    .tour-title .sites_to_visit {
        font-size: 1.3rem !important;
        color: #c6c6c6 !important;
        font-weight: 500 !important;
        text-shadow: none !important;
    }


    .tour-title {
        padding-top: 30px;
        margin-top: 0;
        position: initial;
        margin-bottom: 15px;

    }
    span.rate {
        margin-right: 5px;
        margin-left: 5px;
    }

    .mobile_hea {
        display: none;
    }


}

/* este estilo aplica para cualquier dispositivo que se considere smartphone  */

@media (max-width: 1200px) {
    .header_desktop {
        display: none;
    }
    nav.mainav {
        display: none;
    }
    img.img-desktop {
        display: none;
    }
    .avatar {
        display: none;
    }
    .tour-title h1 {
        font-size: 2rem !important;
        font-weight: bold;
    }
    .tour-title .sites_to_visit {
        font-size: 1rem;
        line-height: 1;
    }
    .tour_bar .label {
        font-size: 0.8rem;
    }
    .tour_bar .value {
        font-size: 1.8rem;
    }
    .cuadros {
        display: none;
    }
    .bar_high {
        display: none;
    }
    .cat_franja {
        display: none;
    }
    .footer_center, .footer_2 {
        text-align: center;
    }

    .intro {
        position: relative;
    }


    .tour-title {
        position: absolute;

    }
    .bar {
        display: none;
    }

    .intro_bar {
        display: none;
    }
    .intro_gallery {
        display: none;
    }
    .mobile_hea {
        position: relative;
    }
    img.img-mobile {
        width: 100%;
    }
    .trip-details .trip-detail-item strong {
        font-size: 0.8rem;
        color: #333;
    }
    .trip-details .trip-detail-item {
        padding: 10px !important;
    }
    .text_data {
        font-size: 0.85rem;
    }


}

/* xl: 1200 - 1399px (Desktops medianos) */
@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
    .header_mobile {
        display: none;
    }

}

/* xxl: 1400 - 1919px (Desktops grandes) */
@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }
}

/* Custom: 1920 - 2559px (Full HD, monitores widescreen) */
@media (min-width: 1920px) {
    .container {
        max-width: 1800px; /* Ajuste para pantallas anchas */

    }
}

/* Custom: 2560 - 3839px (2K/QHD) */
@media (min-width: 2560px) {
    .container {
        max-width: 2400px;

    }
}

/* Custom: 3840px+ (4K) */
@media (min-width: 3840px) {
    .container {
        max-width: 3600px; /* Layout fluido para ultra-high-res */
    }
}

/* resposividades */



/* 1. Ocultar el enlace de "Saltar al contenido" de forma accesible */
.skip-link {
    position: absolute;
    top: -40px; /* O cualquier valor negativo para sacarlo de la pantalla */
    left: 0;
    background-color: #333; /* Un fondo oscuro para buen contraste */
    color: #fff; /* Texto blanco */
    padding: 8px 12px;
    z-index: 100000; /* Un z-index muy alto para que aparezca sobre todo */
    text-decoration: none;
    transform: translateY(-100%); /* Otra técnica para ocultarlo */
    transition: transform 0.3s ease; /* Una pequeña transición suave */
}

/* 2. Mostrar el enlace cuando recibe el foco (al presionar la tecla Tab) */
.skip-link:focus {
    position: absolute; /* O 'fixed' si quieres que se quede fijo al hacer scroll */
    top: 0;
    transform: translateY(0%); /* Lo trae de vuelta a una posición visible */
}

.iconos_contact i {
    color: #2f54a1;
    font-size: 1.5rem;
    margin-right: 10px;
    margin-left: 10px;
}

/* Navegacion Tour */

.nav_box {
    padding-top: 0;
    background: #eeeeee;
    padding-bottom: 0;
    z-index:9;
    position: sticky;
    top: 0;
}

nav.mainav {
    width: fit-content;
    background: #dadada00;
    color: #000000;
    margin: auto;
}




nav.mainav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: left;
}


nav.mainav li {
    margin: 0;
}


nav.mainav ul.ulnav li a {
    border-radius: 0;
    text-transform: uppercase;
    background-color: #eeeeee;
    padding: 10px 15px;
    color: #000000;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
    border-bottom: 3px solid transparent;
}

nav.mainav ul.ulnav li a.active {
    text-transform: uppercase;
    background-color: transparent;
    color: #3f51b5;
    border-bottom: 3px solid #3f51b5;
    text-decoration: none;

}

nav.mainav ul.ulnav li a:hover {
    text-transform: uppercase;
    border-bottom: 3px solid #3f51b5;
    color: #3f51b5;
    text-decoration: none;
}

.support_3 {
    margin-top: 15px;
    margin-bottom: 15px;
}

.support_3 ul {
    display: flex; /* Usa flexbox para alinear en una sola línea */
    justify-content: center !important; /* Centra los iconos horizontalmente */
    list-style: none; /* Elimina los puntos de la lista */
    padding: 0; /* Elimina el padding por defecto */
    margin: 0; /* Elimina el margen por defecto */
}

.support_3 ul li {
    margin: 0 10px; /* Espacio entre los iconos */
}

.support_3 ul li a {
    color: #3f51b5; /* Color verde para los iconos */
    font-size: 24px; /* Tamaño de los iconos, ajusta según necesites */
    text-decoration: none; /* Elimina el subrayado de los enlaces */
}

.support_3 ul li a:hover {
    color: #566cdd; /* Color verde más oscuro para el hover, opcional */
}

.support_2 a {
    font-size: 1.2rem;
    text-decoration: none;
    color: black;
    font-weight: 600;
}


/* Navegacion Tour */

.intro img {
    width: 100%;
}


.images_high img {
    width: 100%;
}

.trip-details .trip-detail-item {
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: flex-start;
    gap: 0;
    transition: all 0.3s ease;
    flex-direction: column;
    flex-wrap: nowrap;
    height:100%;
}

.trip-details .trip-detail-item i {
    font-size: 1rem;
    color: #b3b3b3;
    flex-shrink: 0;
}

.trip-details .trip-detail-item strong {
    color: #333;
}

.trip-details .trip-detail-item:hover {
    background: #f8f9fa;
    transform: translateY(-3px);
}

.adicional {
    margin: 15px 0;
    background-color: #fafafa;
    padding: 15px 0;
}

/* ==========================================================================
   Category Header / Hero Banner (.cat_header)
   ========================================================================== */
.cat_header {
    position: relative;
    width: 100%;
    min-height: 340px;
    height: clamp(380px, 48vh, 520px);
    overflow: hidden;
    background: #061941;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cat_header img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 38%;
    transform: scale(1.02);
}

.cat_header img.img-desktop {
    display: block !important;
}

.cat_header img.img-mobile {
    display: none !important;
}

/* Multi-stop Cinematic Overlay for Category Hero */
.cat_header::before,
.cat_header_overlay {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: 
        linear-gradient(180deg, 
            rgba(6, 25, 65, 0.52) 0%, 
            rgba(6, 25, 65, 0.28) 40%, 
            rgba(5, 20, 52, 0.68) 80%, 
            rgba(4, 15, 40, 0.92) 100%),
        radial-gradient(ellipse at center, transparent 35%, rgba(4, 16, 44, 0.45) 100%);
}

.cat_header .text_overlay {
    position: relative;
    z-index: 5;
    width: 100%;
    text-align: center;
    color: #ffffff;
    padding: 2.5rem 1rem;
}

.cat_header .text_overlay .container {
    position: relative;
    z-index: 5;
}

.cat_header h1,
.cat_header .cat-hero-title {
    color: #ffffff !important;
    font-size: clamp(2.3rem, 5.2vw, 3.85rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.025em;
    margin: 0 auto 0.5rem;
    max-width: 880px;
    text-shadow: 0 3px 18px rgba(0, 0, 0, 0.55), 0 8px 32px rgba(0, 0, 0, 0.35);
    animation: heroFadeIn 0.8s ease-out both;
}

.cat_header .cat-hero-subtitle {
    color: rgba(255, 255, 255, 0.92);
    font-size: clamp(1.05rem, 1.8vw, 1.25rem);
    font-weight: 400;
    line-height: 1.6;
    max-width: 720px;
    margin: 0.75rem auto 1.75rem;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
    animation: heroFadeIn 0.9s 0.15s ease-out both;
}

.cat_header .hero-actions {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .cat_header {
        min-height: 280px;
        height: clamp(280px, 42vh, 360px);
    }
    .cat_header img.img-desktop {
        display: none !important;
    }
    .cat_header img.img-mobile {
        display: block !important;
    }
    .cat_header img:only-of-type {
        display: block !important;
    }
    .cat_header .text_overlay {
        padding: 1.75rem 0.75rem;
    }
}

.cat_franja {
    background-color: #f0f0f0;
    padding: 15px;
}


.cat_franja .box {
    border-right: 1px solid #bbbbbb;
}

.cat_franja .box .label {
    font-weight: 600;
    margin-right: 15px;
    font-size: 2.5rem;
    line-height: 1;
    float: left;
}

.cat_franja .box .valor {
    line-height: 1.2;
    font-size: 1.2rem;
}
.card-r-post h5 a {
    font-size: 0.8rem;
}
.card-r-post h5 {
    margin-bottom: 0 !important;
}
.card-r-post p.card-text {
    margin-bottom: 0;
    font-size: 0.7rem;
    line-height: 1.5;
}
/* Base container for the tour section */
.tour-intro {
    padding: 2rem;
}

/* Heading inside the tour section */
.tour-intro .tour-heading {
    font-size: 2rem;
    margin-bottom: 1rem;
    font-weight: bold;
}

/* Description text inside the tour section */
.tour-intro .tour-description {
    margin-bottom: 2rem;
    line-height: 1.6;
    font-size: 1rem;
}

/* Container for feature items */
.tour-intro .features-container {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: center;
}

/* Individual feature item */
.tour-intro .features-container .feature-item {
    flex: 1 1 300px;
    max-width: 400px;
    text-align: center;
}

/* Image wrapper inside feature item */
.tour-intro .features-container .feature-item .feature-image img {
    width: 100%;
    height: auto;
}

/* Title inside feature item */
.tour-intro .features-container .feature-item .feature-title {
    font-size: 1.5rem;
    margin: 1rem 0 0.5rem;
    font-weight: normal;
}

/* Description text inside feature item */
.tour-intro .features-container .feature-item .feature-text {
    font-size: 1rem;
    color: #666;
}
.avatar img {
    background-color: white;
    border: 1px solid #c8c8c8;
    width: 60%;
    margin: auto auto 15px auto;
    display: block;
    padding: 5px;
}


.img-fluid {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.img-rounded {
    border-radius: 50%;
}
.avatar .name {
    font-family: "Raleway", sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.75rem;
    text-align: center;
}

.avatar .leyend {
    font-size: 0.8rem;
    text-align: center;
    line-height: 1.2;
}
/* Faqs category  */


.faqs-category .accordion-item {
    background-color: #f5f5f5;
    border: 1px solid #e0e0e0;
    margin-bottom: 10px;
    border-radius: 8px;
}

.faqs-category .accordion-header {
    background-color: #fafafa;
    border-bottom: 1px solid #e0e0e0;
}

.faqs-category .accordion-button {
    background-color: transparent;
    color: #333;
    font-weight: 500;
    padding: 15px;
    box-shadow: none;
}

.faqs-category .accordion-button:not(.collapsed) {
    background-color: #e8e8e8;
    color: #333;
}

.faqs-category .accordion-button::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23007bff'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}

.faqs-category .accordion-button.collapsed::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23007bff'%3E%3Cpath fill-rule='evenodd' d='M1.646 11.354a.5.5 0 0 1-.708 0L8 5.707l5.646 5.647a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}

.faqs-category .accordion-body {
    background-color: #ffffff;
    color: #555;
    padding: 20px;
}


/*
 * Estilos Personalizados para el Acordeón de FAQ
 * Usando la clase .faq-accordion-custom para evitar conflictos.
*/

/* Contenedor principal del acordeón */
.faq-accordion-custom {
    --bs-accordion-border-radius: 0.5rem;
    --bs-accordion-inner-border-radius: 0.5rem;
    --bs-accordion-border-color: #dee2e6;
    --bs-accordion-border-width: 1px;
}

/* Estilo para cada item (pregunta + respuesta) */
.faq-accordion-custom .accordion-item {
    background-color: #f8f9fa; /* Un fondo gris claro para cada item */
    margin-bottom: 10px; /* Espacio entre cada pregunta */
    border-radius: var(--bs-accordion-border-radius) !important;
    border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
    overflow: hidden; /* Asegura que el borde redondeado se aplique correctamente */
}

/* Evitar el doble borde entre items cuando están juntos */
.faq-accordion-custom .accordion-item:not(:first-of-type) {
    border-top: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}

/* Estilo para el encabezado de la pregunta */
.faq-accordion-custom .accordion-header {
    margin-bottom: 0;
}

/* Estilo para el botón que contiene el texto de la pregunta */
.faq-accordion-custom .accordion-button {
    font-weight: 600;
    color: #212529; /* Color de texto oscuro */
    background-color: #f8f9fa; /* Fondo que coincide con el item */
    box-shadow: none; /* Quitar la sombra al hacer clic */
    padding: 1rem 1.25rem;
}

/* Estilo del botón cuando el acordeón está CERRADO */
.faq-accordion-custom .accordion-button.collapsed {
    background-color: #f8f9fa;
    color: #212529;
}

/* Estilo del botón cuando el acordeón está ABIERTO */
.faq-accordion-custom .accordion-button:not(.collapsed) {
    color: #0c63e4; /* Color de realce de Bootstrap */
    background-color: #e7f1ff; /* Un fondo azulado claro */
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125);
}

/* Transición suave para el color de fondo y el ícono */
.faq-accordion-custom .accordion-button {
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}

/* Personalización del ícono (flecha) de Bootstrap */
.faq-accordion-custom .accordion-button::after {
    /* Usar un ícono de "+" y "-" */
    background-image: none; /* Remover el ícono SVG por defecto */
    font-family: 'Courier New', Courier, monospace;
    font-weight: bold;
    font-size: 1.5rem;
    content: '+';
    transform: translateY(-2px) rotate(0deg); /* Alineación vertical y rotación inicial */
    transition: transform 0.2s ease-in-out;
}

.faq-accordion-custom .accordion-button:not(.collapsed)::after {
    content: '−'; /* Carácter de resta */
    transform: translateY(-2px) rotate(0deg); /* El signo de resta no necesita rotación */
}

/* Estilo para el cuerpo de la respuesta */
.faq-accordion-custom .accordion-body {
    padding: 1.25rem;
    background-color: #ffffff; /* Fondo blanco para la respuesta para diferenciarla */
    border-top: 1px solid rgba(0,0,0,0.08);
}

/* Estilos para el contenido dentro de la respuesta */
.faq-accordion-custom .accordion-body p:last-child {
    margin-bottom: 0;
}

.faq-accordion-custom .accordion-body a {
    font-weight: 500;
    text-decoration: underline;
}


.generic-slider img {
    width: 100%;
}


/* Faqs category  */



.card-box-1 {
    background-position: center center;
    position: relative;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 600px;
    background-size: auto 125%;
    transition: all 0.6s ease;
    overflow: hidden;
}
.card-box-1:hover {
    background-size: auto 110%;
}




.card-box-1 .grey_overlay {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.80) 0%, rgba(0, 0, 0, 0) 100%);
    position: absolute;
    width: 100%;
    top: 0;
    height: 100%;
    transition: all 300ms;
    opacity: 1;

}

.card-box-1:hover .grey_overlay {
    /* Cambia el color del gradiente al pasar el mouse */
    opacity: 0.8;
}


.card-box-1 .tour-excerpt {
    width: 100%;
    padding: 15px;
    position: absolute;
    bottom: 0;
}

.card-box-1  .tour-excerpt a {
    font-weight: 800;
    color: white;
    text-transform: uppercase;
    text-decoration: none;
}

.card-box-1 .tour-excerpt h2,
.card-box-1 .tour-excerpt h3 {
    padding-bottom: 10px;
    border-bottom: 1px solid #ffffff57;
    font-size: 1.5rem;
    font-weight: 600;
    margin: 10px 0;
    color: #333;
    width: 100%;
    display: block;
}

.card-box-1 .tour-excerpt .slogan {
    line-height: 2;
    font-style: italic;
    font-size: 1rem;
    color: #c7c7c7;
}

.card-box-1 .tour-excerpt .sites_to_visit,
.card-box-1.shadow .tour-excerpt .sites_to_visit {
    font-size: 0.78rem !important;
    line-height: 1.4 !important;
    color: #ffffff !important;
    font-weight: 400 !important;
    opacity: 0.95;
    margin: 4px 0 8px 0;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
}

.card-box-1 .tour-excerpt .sites_to_visit i,
.card-box-1.shadow .tour-excerpt .sites_to_visit i {
    color: #ffffff !important;
    font-size: 0.72rem !important;
    margin-right: 4px;
}

.card-box-1 .tour-excerpt .duration {
    font-weight: 700;
    color: white;
    line-height: 2;
    font-size: 1.2rem;
    text-transform: uppercase;
}

.card-box-1 .tour-excerpt .price_fom {
    font-size: 1.1rem;
    font-weight: 700;
    color: white;
    line-height: 2;
}



.card-box-2 {
    background-position: center center;
    position: relative;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 600px;
    background-size: auto 100%;
    transition: all 0.6s ease;
    overflow: hidden;
}
.card-box-2:hover {
    background-size: auto 110%;
}




.card-box-2 .grey_overlay {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.80) 0%, rgba(0, 0, 0, 0) 100%);
    position: absolute;
    width: 100%;
    top: 0;
    height: 100%;
    transition: all 300ms;
    opacity: 1;

}

.card-box-2:hover .grey_overlay {
    /* Cambia el color del gradiente al pasar el mouse */
    opacity: 0.8;
}


.card-box-2 .tour-excerpt {
    width: 100%;
    padding: 15px;
    position: absolute;
    bottom: 0;
}

.card-box-2  .tour-excerpt a {
    font-weight: 800;
    color: white;
    text-transform: uppercase;
    text-decoration: none;
}

.card-box-2 .tour-excerpt h2,
.card-box-2 .tour-excerpt h3 {
    padding-bottom: 10px;
    border-bottom: 1px solid #ffffff57;
    font-size: 1.5rem;
    font-weight: 600;
    margin: 10px 0;
    color: #333;
    width: 100%;
    display: block;
}

.card-box-2 .tour-excerpt .slogan {
    line-height: 2;
    font-style: italic;
    font-size: 1rem;
    color: #c7c7c7;
}

.card-box-2 .tour-excerpt .sites_to_visit,
.card-box-2.shadow-sm .tour-excerpt .sites_to_visit {
    font-size: 0.78rem !important;
    line-height: 1.4 !important;
    color: #ffffff !important;
    font-weight: 400 !important;
    opacity: 0.95;
    margin: 4px 0 8px 0;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
}

.card-box-2 .tour-excerpt .sites_to_visit i,
.card-box-2.shadow-sm .tour-excerpt .sites_to_visit i {
    color: #ffffff !important;
    font-size: 0.72rem !important;
    margin-right: 4px;
}

.card-box-2 .tour-excerpt .duration {
    font-weight: 700;
    color: white;
    line-height: 2;
    font-size: 1.2rem;
    text-transform: uppercase;
}

.card-box-2 .tour-excerpt .price_fom {
    font-size: 1.1rem;
    font-weight: 700;
    color: white;
    line-height: 2;
}



.guide_item h5 a {
    color: black;
    text-decoration: none;
    font-size: 1rem;
}


.blog_excerpt {
    color: #818080;
    font-size: 0.8rem;
    text-align: justify;
}

.btn-block {
    width: 100%;
}
.btn-border {
    border: 2px solid #2f54a1;
    border-radius: 15px;
    color: #2f54a1;
}

.btn-border:hover {
    border: 2px solid #2f54a1;
    border-radius: 15px;
    color: white;
    background-color: #2f54a1;
}


.btn-white {
    border: 2px solid #2f54a1;
    border-radius: 0;
    color: #ffffff;
    background-color: #2f54a1;
}

.btn-white:hover {
    border: 2px solid #2f54a1;
    border-radius: 0;
    color: #2f54a1;

}

.btn-orange {
    border: 2px solid #ffd600;
    border-radius: 0;
    color: black;
    background-color: #ffd600;
}

.btn-orange:hover {
    border: 2px solid #ffd600;
    border-radius: 0;
    color: #ffd600;
}

.btn-orange-2 {
    border: 2px solid #ffd600;
    border-radius: 0;
    color: black;
    background-color: #ffd600;
}

.btn-orange-2:hover {
    border: 2px solid #ffd600;
    border-radius: 0;
    color: white;
    background-color: #ffd600;
}


.btn-blue {
    border: 2px solid #2f54a1;
    border-radius: 0;
    color: #ffffff;
    background-color: #2f54a1;
}

.btn-blue:hover {
    border: 2px solid #2f54a1;
    border-radius: 0;
    color: white;
    background-color: #2f54a1;
}
.label_from {
    font-weight: 700;
    font-size: 1.7rem !important;
    margin-bottom: 5px;
    text-transform: uppercase;
}
span.from {
    font-weight: 400;
    font-size: 1.2rem;
}


h2.slogan {
    font-size: 2rem;
    color: black;
}

.footer_bg {
    background-size: cover;
    background-image: url(images/bg_footer.png);
}
.header_desktop {
    z-index: 10;
    position: relative;
}

.bgblack {
    color: white;
    background-color: #00000061;
    padding: 30px;
}


/* Chat Whatsapp */


#nta-wa-gdpr{
    vertical-align: text-top !important;
    padding: 0 !important;
    margin: 0 !important;
}

.nta-wa-gdpr{
    font-size: 11px;
    padding: 5px;
    margin-left: -5px;
    margin-right: -5px;
    border-radius: 4px;
}

.nta-wa-gdpr a{
    text-decoration: underline;
    color: inherit;
}

.pointer-disable{
    pointer-events: none;
}

.nta-woo-products-button:before, .nta-woo-products-button:after{
    content: '';
    display: block;
    clear: both;
}

.wa__button{
    border-bottom: none !important;
}

.wa__btn_w_img:hover{
    text-decoration: none;
}

.wa__button,
.wa__btn_popup,
.wa__button *,
.wa__btn_popup *,
.wa__btn_popup :before,
.wa__button :before,
.wa__button :after,
.wa__btn_popup :after,
.wa__popup_chat_box,
.wa__popup_chat_box *,
.wa__popup_chat_box :before,
.wa__popup_chat_box :after{
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

/* VVV--button--VVV */
.wa__button{
    position: relative;
    width: 300px;
    min-height: 64px;
    display: block;
    font-family: Arial,Helvetica,sans-serif;
    text-decoration: none;
    color: #fff;
    box-shadow: 0px 4px 8px 1px rgba(32,32,37,0.09);
    -webkit-box-shadow: 0px 4px 8px 1px rgba(32,32,37,0.09);
    -moz-box-shadow: 0px 4px 8px 1px rgba(32,32,37,0.09);
}
.wa__btn_txt{
    display: inline-block;
    font-size: 12px;
    line-height: 1.33em;
}

.wa__btn_w_icon .wa__btn_txt{
    padding: 16px 20px 15px 71px;
}

.wa__button_text_only .wa__btn_txt,
.wa__r_button.wa__btn_w_img.wa__button_text_only .wa__btn_txt,
.wa__sq_button.wa__btn_w_img.wa__button_text_only .wa__btn_txt{
    padding-top: 25px;
    padding-bottom: 24px;
}



.wa__btn_w_icon .wa__btn_txt .wa__btn_title{
    font-weight: 600;
    padding-left: 2px;
    font-size: 14px;
}

.wa__cs_info{
    margin-bottom: 2px
}

.wa__btn_status{
    color: #F5A623;
    font-size: 9px;
    padding: 2px 0 0;
    font-weight: 700;
}

.wa__cs_info .wa__cs_name,
.wa__cs_info .wa__cs_status{
    display: inline-block;
}

.wa__cs_info .wa__cs_name{
    font-weight: 400;
    font-size: 12px;
    line-height: 1.36em;
}

.wa__stt_online .wa__cs_info .wa__cs_name{
    color: #d5f0d9
}

.wa__stt_offline .wa__cs_info .wa__cs_name{
    color: #76787d;
}

.wa__cs_info .wa__cs_status{
    width: 36px;
    height: 14px;
    margin-left: 3px;
    padding: 1px;
    font-size: 9px;
    line-height: 1.34em;
    border-radius: 5px;
    color: rgba(255,255,255,0.98);
    position: relative;
    top: -1px;
    left: 0px;
    text-align: center;
}

.wa__stt_online .wa__cs_info .wa__cs_status{
    background: #62c971;
}

.wa__stt_offline .wa__cs_info .wa__cs_status{
    background: #b9bbbe;
}


.wa__stt_online{
    background: #2DB742;
    cursor: pointer;
    transition: 0.4s ease all;
    -webkit-transition: 0.4s ease all;
    -moz-transition: 0.4s ease all;
    backface-visibility: hidden;
    will-change: transform;
}
.wa__stt_online .wa__btn_txt{
    position: relative;
    z-index: 4;
}
.wa__r_button.wa__stt_online:before{
    border-radius: 50vh;
}
.wa__sq_button.wa__stt_online:before{
    border-radius: 5px;
}
.wa__stt_online:before{
    content: '';
    transition: 0.4s ease all;
    -webkit-transition: 0.4s ease all;
    -moz-transition: 0.4s ease all;
    background: rgba(0,0,0,0.2);
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    opacity: 0;
    will-change: opacity;
}
.wa__button.wa__stt_online:focus,
.wa__button.wa__stt_online:active,
.wa__button.wa__stt_online:hover{
    box-shadow: 0px 4px 8px 1px rgba(32,32,37,0.19);
    transform: translate(0,-3px);
    -webkit-transform: translate(0,-3px);
    -moz-transform: translate(0,-3px);
    -ms-transform: translate(0,-3px);
}
.wa__button.wa__stt_online:focus:before,
.wa__button.wa__stt_online:active:before,
.wa__button.wa__stt_online:hover:before{
    opacity: 1;
}
.wa__stt_online.wa__btn_w_icon .wa__btn_icon img{
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
}

.wa__stt_offline{
    background: #EBEDF0;
    color: #595B60;
    box-shadow: none;
    cursor: initial;
}

.wa__stt_offline.wa__btn_w_icon .wa__btn_txt {
    padding: 8px 20px 6px 71px;
}

.wa__stt_offline.wa__r_button.wa__btn_w_img .wa__btn_txt{
    padding: 8px 20px 8px 100px
}

.wa__stt_offline.wa__sq_button.wa__btn_w_img .wa__btn_txt {
    padding: 8px 20px 8px 70px;
}

.wa__btn_w_icon .wa__btn_icon{
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translate(0,-50%);
    -moz-transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%);
}

.wa__btn_w_icon .wa__btn_icon img{
    width: 41px;
    height: 69px;
}

.wa__btn_w_img{
    position: relative;
    width: 300px;
    margin: 20px 0 20px;
}

.wa__btn_w_img .wa__cs_img{
    position: absolute;
    top: 50%;
    left: 0px;
    text-align: center;
    transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%);
    -moz-transform: translate(0,-50%);
}
.wa__btn_w_img .wa__cs_img_wrap{
    width: 79px;
    height: 79px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border: 3px solid #ffffff;
    position: relative;
    overflow: hidden;
}
.wa__btn_w_img .wa__cs_img img{
    max-width: 100%;
    height: auto;
    transition: 0.2s ease transform;
    -webkit-transition: 0.2s ease transform;
    -moz-transition: 0.2s ease transform;
}
.wa__btn_w_img .wa__cs_img:after{
    content: '';
    background: #ffffff url('../../images/whatsapp_logo_green.svg') center center no-repeat;
    background-size: 21px;
    display: block;
    width: 27px;
    height: 27px;
    position: absolute;
    top: 20px;
    right: -14px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    box-shadow: 0px 4px 6px 0px rgba(39,38,38,0.3);
    -webkit-box-shadow: 0px 4px 6px 0px rgba(39,38,38,0.3);
    -moz-box-shadow: 0px 4px 6px 0px rgba(39,38,38,0.3);
}

.wa__stt_offline.wa__btn_w_img .wa__cs_img:after{
    content: '';
    background: #ffffff url('../../images/whatsapp_logo_gray.svg') center center no-repeat;
    background-size: 21px;
    display: block;
    width: 27px;
    height: 27px;
    position: absolute;
    top: 20px;
    right: -14px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    box-shadow: 0px 4px 6px 0px rgba(39,38,38,0.3);
    -webkit-box-shadow: 0px 4px 6px 0px rgba(39,38,38,0.3);
    -moz-box-shadow: 0px 4px 6px 0px rgba(39,38,38,0.3);
}


.wa__btn_w_img .wa__btn_txt{
    padding:14px 20px 12px 103px;
}

.wa__r_button{
    border-radius: 50vh;
}

.wa__sq_button{
    border-radius: 5px;
}

.wa__sq_button.wa__btn_w_img{
    width: 270px;
    margin-left: 30px;
}

.wa__r_button.wa__btn_w_img .wa__cs_img{
    left: -5px;
}

.wa__sq_button.wa__btn_w_img .wa__cs_img{
    left: -35px;
}

.wa__sq_button.wa__btn_w_img .wa__btn_txt{
    padding: 10px 20px 10px 70px;
    display: table-cell;
    vertical-align: middle;
    height: 66px;
}

.wa__btn_txt .wa__btn_title{
    font-weight: 600;
}

.wa__r_button.wa__btn_w_img .wa__btn_txt{
    padding: 8px 20px 8px 100px;
    display: table-cell;
    vertical-align: middle;
    height: 66px;
}

.wa__r_button.wa__btn_w_img .wa__cs_info .wa__cs_status{
    margin-left: 3px;
}
/* ^^^--button--^^^ */

/* VVV--popup--VVV */

.wa__popup_chat_box{
    font-family: Arial,Helvetica,sans-serif;
    width: 351px;
    border-radius: 5px 5px 8px 8px;
    -webkit-border-radius: 5px 5px 8px 8px;
    -moz-border-radius: 5px 5px 8px 8px;
    position: fixed;
    overflow: hidden;
    box-shadow: 0px 10px 10px 4px rgba(0,0,0,0.04);
    -webkit-box-shadow: 0px 10px 10px 4px rgba(0,0,0,0.04);
    -moz-box-shadow: 0px 10px 10px 4px rgba(0,0,0,0.04);
    bottom: 102px;
    right: 25px;
    z-index: 998;
    opacity: 0;
    visibility: hidden;
    -ms-transform: translate(0,50px);
    transform: translate(0,50px);
    -webkit-transform: translate(0,50px);
    -moz-transform: translate(0,50px);
    transition: 0.4s ease all;
    -webkit-transition: 0.4s ease all;
    -moz-transition: 0.4s ease all;
    will-change: transform,visibility,opacity;
    max-width: calc(100% - 50px);
}
.wa__popup_chat_box:hover,
.wa__popup_chat_box:focus,
.wa__popup_chat_box:active{
    box-shadow: 0px 10px 10px 4px rgba(32,32,37,0.23);
    -webkit-box-shadow: 0px 10px 10px 4px rgba(32,32,37,0.23);
    -moz-box-shadow: 0px 10px 10px 4px rgba(32,32,37,0.23);
}
.wa__popup_chat_box.wa__active{
    -ms-transform: translate(0,0);
    transform: translate(0,0);
    -webkit-transform: translate(0,0);
    -moz-transform: translate(0,0);
    visibility: visible;
    opacity: 1;
}
.wa__popup_chat_box .wa__popup_heading{
    position: relative;
    padding: 15px 43px 17px 74px;
    color: #d9ebc6;
    background: #2db742;
}
.wa__popup_chat_box .wa__popup_heading_sm{
    padding: 12px 15px 17px 74px;
}
.wa__popup_chat_box .wa__popup_heading:before{
    content: '';
    background: url('images/whatsapp_logo.svg') center top no-repeat;
    background-size: 33px;
    display: block;
    width: 55px;
    height: 33px;
    position: absolute;
    top: 20px;
    left: 12px;
}
.wa__popup_chat_box .wa__popup_heading_sm:before{
    top: 19px;
    left: 11px;
}

.wa__popup_chat_box .wa__popup_heading .wa__popup_title{
    padding-top: 2px;
    padding-bottom: 3;
    color: #ffffff;
    font-size: 18px;
    line-height: 24px;
}

.wa__popup_chat_box .wa__popup_heading .wa__popup_intro{
    padding-top: 4px;
    font-size: 12px;
    line-height: 20px;
}
.wa__popup_chat_box .wa__popup_heading_sm .wa__popup_intro{
    padding-top: 0px;
}

.wa__popup_chat_box .wa__popup_heading .wa__popup_intro a{
    display: inline-block;
    color: #ffffff;
    text-decoration: none;
}
.wa__popup_chat_box .wa__popup_heading .wa__popup_intro a:hover,
.wa__popup_chat_box .wa__popup_heading .wa__popup_intro a:focus,
.wa__popup_chat_box .wa__popup_heading .wa__popup_intro a:active{
    text-decoration: underline;
}

.wa__popup_chat_box  .wa__popup_notice{
    font-size: 11px;
    color: #a5abb7;
    font-weight: 500;
    padding: 0 3px;
}
.wa__popup_chat_box .wa__popup_content{
    background: #ffffff;
    padding: 13px 20px 21px 19px;
    text-align: center;
}
.wa__popup_chat_box .wa__popup_content_left{
    text-align: left;
}
.wa__popup_chat_box .wa__popup_avatar{
    position: absolute;
    overflow: hidden;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    left: 12px;
    top: 12px;
}

.wa__popup_chat_box .wa__popup_avatar.nta-default-avt{
    border-radius: unset;
    -webkit-border-radius: unset;
    -moz-border-radius: unset;
}

.wa__popup_chat_box .wa__stt{
    padding: 13px 40px 12px 74px;
    position: relative;
    text-decoration: none;
    display: table;
    width: 100%;
    border-left: 2px solid #2db742;
    background: #f5f7f9;
    border-radius: 2px 4px 2px 4px;
    -webkit-border-radius: 2px 4px 2px 4px;
    -moz-border-radius: 2px 4px 2px 4px;
}
.wa__popup_chat_box .wa__stt:after{
    content: '';
    background: url('images/whatsapp_logo_green.svg') 0 0 no-repeat;
    position: absolute;
    right: 14px;
    top: 26px;
    width: 20px;
    height: 20px;
    background-size: 100% 100%;
    -webkit-background-size: 100% 100%;
    -moz-background-size: 100% 100%;
}
.wa__popup_chat_box .wa__stt.wa__stt_offline:after{
    background-image: url('images/whatsapp_logo_gray_sm.svg');
}
.wa__popup_chat_box .wa__stt.wa__stt_online{
    transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
}
.wa__popup_chat_box .wa__stt.wa__stt_online:hover,
.wa__popup_chat_box .wa__stt.wa__stt_online:active,
.wa__popup_chat_box .wa__stt.wa__stt_online:focus{
    background: #ffffff;
    box-shadow: 0px 7px 15px 1px rgba(55,62,70,0.07);
    -webkit-box-shadow: 0px 7px 15px 1px rgba(55,62,70,0.07);
    -moz-box-shadow: 0px 7px 15px 1px rgba(55,62,70,0.07);
}
.wa__popup_content_list .wa__popup_content_item{
    margin: 14px 0 0;
    transform: translate(0,20px);
    -webkit-transform: translate(0,20px);
    -moz-transform: translate(0,20px);
    will-change: opacity,transform;
    opacity: 0;
}
.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item{
    transition: 0.4s ease all;
    -webkit-transition: 0.4s ease all;
    -moz-transition: 0.4s ease all;
    transition-delay: 2.1s;
    -webkit-transition-delay: 2.1s;
    -moz-transition-delay: 2.1s;
}
.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(1){
    transition-delay: 0.3s;
    -webkit-transition-delay: 0.3s;
    -moz-transition-delay: 0.3s;
}
.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(2){
    transition-delay: 0.5s;
    -webkit-transition-delay: 0.5s;
    -moz-transition-delay: 0.5s;
}
.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(3){
    transition-delay: 0.7s;
    -webkit-transition-delay: 0.7s;
    -moz-transition-delay: 0.7s;
}
.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(4){
    transition-delay: 0.9s;
    -webkit-transition-delay: 0.9s;
    -moz-transition-delay: 0.9s;
}
.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(5){
    transition-delay: 1.1s;
    -webkit-transition-delay: 1.1s;
    -moz-transition-delay: 1.1s;
}
.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(6){
    transition-delay: 1.3s;
    -webkit-transition-delay: 1.3s;
    -moz-transition-delay: 1.3s;
}
.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(7){
    transition-delay: 1.5s;
    -webkit-transition-delay: 1.5s;
    -moz-transition-delay: 1.5s;
}
.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(8){
    transition-delay: 1.7s;
    -webkit-transition-delay: 1.7s;
    -moz-transition-delay: 1.7s;
}
.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(9){
    transition-delay: 1.9s;
    -webkit-transition-delay: 1.9s;
    -moz-transition-delay: 1.9s;
}
.wa__popup_chat_box.wa__lauch .wa__popup_content_list .wa__popup_content_item{
    opacity: 1;
    transform: translate(0,0);
    -webkit-transform: translate(0,0);
    -moz-transform: translate(0,0);
}
.wa__popup_content_list .wa__popup_content_item .wa__member_name{
    font-size: 14px;
    color: #363c47;
    line-height: 1.188em !important;
}
.wa__popup_content_list .wa__popup_content_item .wa__member_duty{
    font-size: 11px;
    color: #989b9f;
    padding: 2px 0 0;
    line-height: 1.125em !important;
}
.wa__popup_content_list .wa__popup_content_item .wa__member_status{
    color: #F5A623;
    font-size: 10px;
    padding: 5px 0 0;
    line-height: 1.125em !important;
}
.wa__popup_content_list .wa__popup_content_item .wa__popup_txt{
    display: table-cell;
    vertical-align: middle;
    min-height: 48px;
    height: 48px;
}
.wa__popup_content_list .wa__popup_content_item .wa__stt_offline{
    border-left-color: #c0c5ca;
}
.wa__popup_avt_list{
    font-size: 0;
    margin: 7px 0 24px;
}
.wa__popup_avt_list .wa__popup_avt_item{
    display: inline-block;
    position: relative;
    width: 46px;
}
.wa__popup_avt_list .wa__popup_avt_img{
    width: 60px;
    height: 60px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    position: relative;
    overflow: hidden;
    border: 2px solid #ffffff;
    left: -7px;
}
.wa__popup_call_btn{
    background: #2db742;
    color: #ffffff;
    text-decoration: none;
    display: inline-block;
    width: 275px;
    max-width: 100%;
    font-size: 16px;
    padding: 14px 10px;
    border-radius: 24px;
    -webkit-border-radius: 24px;
    -moz-border-radius: 24px;
    margin: 25px 0 15px;
    box-shadow: 0px 8px 17px 2px rgba(13,15,18,0.2);
    -webkit-box-shadow: 0px 8px 17px 2px rgba(13,15,18,0.2);
    -moz-box-shadow: 0px 8px 17px 2px rgba(13,15,18,0.2);
}
.wa__popup_call_btn.wa__popup_call_btn_lg:before{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    position: relative;
    background: url('images/whatsapp_logo_green_sm.svg') 0 0 no-repeat;
    background-size: 100% 100%;
    -webkit-background-size: 100% 100%;
    -moz-background-size: 100% 100%;
    vertical-align: top;
    top: 0px;
    margin-right: -19px;
    left: -31px;
    transition: 0.2s ease background-image;
    -webkit-transition: 0.2s ease background-image;
    -moz-transition: 0.2s ease background-image;
}
.wa__popup_call_btn.wa__popup_call_btn_lg:hover:before,
.wa__popup_call_btn.wa__popup_call_btn_lg:focus:before,
.wa__popup_call_btn.wa__popup_call_btn_lg:active:before{
    background-image: url('images/whatsapp_logo.svg')
}

.wa__popup_chat_box_gray{
    border-radius: 2px 2px 8px 8px;
}

.wa__popup_chat_box_gray .wa__popup_heading_gray{
    background: #f8f8f8;
    border-top: 3px solid #2db742;
    color: #868c9a;
    font-weight: 500;
}
.wa__popup_chat_box_gray .wa__popup_heading_gray .wa__popup_title{
    color: #595b60;
}
.wa__popup_chat_box_gray .wa__popup_heading_gray:before{
    content: '';
    background: url('images/whatsapp_logo_green.svg') center top no-repeat;
    background-size: 33px;
    display: block;
    width: 55px;
    height: 33px;
    position: absolute;
    top: 20px;
    left: 12px;
}
.wa__popup_chat_box_gray .wa__popup_heading_gray .wa__popup_intro a{
    color: #595b60;
}

.wa__popup_chat_box_ct{
    width: 384px;
    text-align: center;
}

.wa__popup_chat_box_ct .wa__popup_heading_ct{
    text-align: center;
    padding: 18px 0 18px;
}

.wa__popup_chat_box_ct .wa__popup_heading_ct:before {
    content: '';
    background: url('images/whatsapp_logo.svg') center top no-repeat;
    background-size: 30px;
    display: block;
    width: 30px;
    height: 31px;
    position: absolute;
    top: 15px;
    left: 72px;
}

.wa__popup_chat_box_ct .wa__popup_heading_ct .wa__popup_title{
    padding-left: 22px;
    padding-bottom: 14px;
}

.wa__popup_chat_box_ct .wa__popup_heading_ct .wa__popup_intro{
    margin-top: -5px;
    line-height: 12px;
}

.wa__popup_chat_box_ct .wa__popup_ct_avt_list:after{
    content: '';
    clear: both;
    display: block;
}

.wa__popup_chat_box_ct .wa__popup_ct_content{
    background: #ffffff;
    padding: 0 0 14px;
}

.wa__popup_chat_box_ct .wa__popup_ct_content .wa__popup_notice{
    padding-top: 18px;
    padding-bottom: 15px;
}

.wa__popup_chat_box_ct .wa__popup_ct_content_item{
    width: 33%;
    float: left;
    font-size: 10px;
}

.wa__popup_chat_box_ct .wa__popup_ct_content_item a{
    text-decoration: none;
    color: #989b9f;
}

.wa__popup_chat_box_ct .wa__popup_ct_content_item .wa__popup_ct_txt{
    padding-top: 8px;
}

.wa__popup_chat_box_ct .wa__popup_ct_content_item .wa__member_name{
    color: #363c47;
    font-size: 13px;
}

.wa__popup_chat_box_ct .wa__popup_ct_content_item .wa__member_duty{
    color: #989b9f;
    padding: 3px 0 0;
}

.wa__popup_chat_box_ct .wa__popup_ct_content_item .wa__member_stt_online{
    color: #2db742;
    font-size: 9px;
    line-height: 12px;
    display: inline-block;
    padding: 3px 0 0 16px;
    background: url('images/whatsapp_logo_green.svg') 0 3px no-repeat;
    background-size: 12px auto;
    -webkit-background-size: 12px auto;
    -moz-background-size: 12px auto;
}

.wa__popup_chat_box_ct .wa__popup_ct_content_item .wa__member_stt_offline{
    color: #f5a623;
    font-size: 9px;
    line-height: 12px;
    padding: 2px 0 0;
}


.wa__popup_chat_box_ct .wa__popup_ct_avatar img{
    border-radius: 50%
}

.wa__popup_chat_box_ct .wa__popup_ct_call_btn{
    width: 97px;
    font-size: 11px;
    padding: 9px 10px 11px;
    margin: 15px 0 15px;
}

/* ^^^--popup--^^^ */

/* Hide WhatsApp floating widget on mobile / tablet screens */
@media (max-width: 991.98px) {
    .wa__btn_popup,
    .wa__popup_chat_box {
        display: none !important;
    }
}

/* VVV--popup button--VVV */
.wa__btn_popup {
    position: fixed;
    right: 10px;
    bottom: 65px;
    cursor: pointer;
    font-family: Arial,Helvetica,sans-serif;
    z-index: 999;
}
.wa__btn_popup .wa__btn_popup_icon{
    width: 56px;
    height: 56px;
    background: #2db742;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    box-shadow: 0px 6px 8px 2px rgba(0,0,0,0.14);
    -webkit-box-shadow: 0px 6px 8px 2px rgba(0,0,0,0.14);
    -moz-box-shadow: 0px 6px 8px 2px rgba(0,0,0,0.14);
}
.wa__btn_popup .wa__btn_popup_icon:before{
    content: '';
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: transparent url('images/whatsapp_logo.svg') center center no-repeat;
    background-size: 30px auto;
    -webkit-background-size: 30px auto;
    -moz-background-size: 30px auto;
    transition: 0.4s ease all;
    -webkit-transition: 0.4s ease all;
    -moz-transition: 0.4s ease all;
}
.wa__btn_popup .wa__btn_popup_icon:after{
    content: '';
    opacity: 0;
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: transparent url('images/x_icon.svg') center center no-repeat;
    background-size: 14px auto;
    -webkit-background-size: 14px auto;
    -moz-background-size: 14px auto;
    transition: 0.4s ease all;
    -webkit-transition: 0.4s ease all;
    -moz-transition: 0.4s ease all;
    -ms-transform: scale(0) rotate(-360deg);
    transform: scale(0) rotate(-360deg);
    -webkit-transform: scale(0) rotate(-360deg);
    -moz-transform: scale(0) rotate(-360deg);
}
.wa__btn_popup.wa__active .wa__btn_popup_icon:before{
    opacity: 0;
    -ms-transform: scale(0) rotate(360deg);
    transform: scale(0) rotate(360deg);
    -webkit-transform: scale(0) rotate(360deg);
    -moz-transform: scale(0) rotate(360deg);
}
.wa__btn_popup.wa__active .wa__btn_popup_icon:after{
    opacity: 1;
    -ms-transform: scale(1) rotate(0deg);
    transform: scale(1) rotate(0deg);
    -webkit-transform: scale(1) rotate(0deg);
    -moz-transform: scale(1) rotate(0deg);
}
.wa__btn_popup .wa__btn_popup_txt{
    position: absolute;
    width: 156px;
    right: 100%;
    background-color: #f5f7f9;
    font-size: 12px;
    color: #43474e;
    /*top: 15px;*/
    top: 7px;
    /* top: 50%;
    transform: translate(0,-50%);
    -moz-transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%); */
    padding: 7px 0 7px 12px;
    margin-right: 7px;
    letter-spacing: -0.03em;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    transition: 0.4s ease all;
    -webkit-transition: 0.4s ease all;
    -moz-transition: 0.4s ease all;
}
.wa__btn_popup.wa__active .wa__btn_popup_txt{
    -ms-transform: translate(0,15px);
    transform: translate(0,15px);
    -webkit-transform: translate(0,15px);
    -moz-transform: translate(0,15px);
    opacity: 0;
    visibility: hidden;
}
/* ^^^--popup button--^^^ */




/* Chat Whatsapp */


.box-tour {
    position: relative;
}
.descuento {
    -webkit-border-bottom-right-radius: 5px;
    -moz-border-radius-bottomright: 5px;
    border-bottom-right-radius: 5px;
    position: absolute;
    top: 0;
    z-index: 1;
    background-color: red;
    color: white;
    font-weight: 500;
    padding: 5px 10px;
    font-size: 0.8rem;
}
.categoria {
    -webkit-border-top-left-radius: 5px;
    -moz-border-radius-topleft: 5px;
    border-top-left-radius: 5px;
    position: absolute;
    bottom: 0;
    right: 0;
    background-color: #890606;
    color: white;
    padding: 5px 10px;
    line-height: 1;
}
.title-tour h3 {
    margin-bottom: 10px;
    font-size: 1.4rem;
    font-family: "Oswald", serif;
    margin-top: 10px;
}
.box-tour {
    border-radius: 10px;
    overflow: hidden;
}

.details i {
    width: 25px;
}
.stars img {
    height: 21px !important;
    width: auto;
}
.review_counter {
    color: black;
    font-size: 0.8rem;
    font-weight: 600;
}

.details {
    margin-bottom: 15px;
}
span.data_detail {
    color: black;
    font-size: 0.75rem;
    font-weight: 500;
    width: 100%;
    display: block;
    margin-bottom: 5px;
    padding: 4px;
    border-radius: 5px;
}
.price_now {
    color: black;
    font-size: 1.5rem;
    font-family: "Oswald", sans-serif;
}
.price_before {
    font-style: italic;
    font-size: 0.8rem;
    color: #8b8b8b;
}

.inclusions ul {
    margin-left: 0;
    padding-left: 20px;
}

.what_bring h2 {
    font-weight: 700;
    padding-bottom: 10px;
    margin-bottom: 20px;
    margin-top: 10px;
}

.what_bring h2  i.fas{
    color: #003870;
}
/*  fin whatsapp */


.footer_links  h4 {
    color: black;
    font-size: 1rem;
    text-transform: uppercase;
}

.footer_links ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.footer_links ul li a {
    padding-top: 5px;
    color: #000000ad;
    text-decoration: none;
    font-size: 0.85rem;
    border-bottom: 1px solid #ffffff42;
    display: block;
    padding-bottom: 5px;
    transition: all 300ms;
}
.footer_links ul li a:hover {
    padding-top: 5px;
    color: #3f51b5;
    text-decoration: none;
    font-size: 0.85rem;
    border-bottom: 1px solid #3f51b5;
    display: block;
    padding-bottom: 5px;
}

.footer_links {
    border-top: 1px solid #d4d4d4;
}




.social_icons {
    display: flex;
    flex-wrap: wrap; /* Permite que los elementos se distribuyan en múltiples líneas */
    justify-content: space-between; /* Espacia los iconos uniformemente */
    list-style: none; /* Elimina los puntos de la lista */
    padding: 0;
    margin: 0;
    width: 100%; /* Ajusta según el contenedor */
    max-width: 100%; /* Ajusta el ancho máximo según necesites */
}

.social_icons li {
    flex: 0 0 calc(33.33% - 10px); /* Cada icono ocupa ~1/3 del ancho, con margen */
    margin: 5px; /* Espacio entre iconos */
    text-align: center;
}

.social_icons a {
    text-decoration: none; /* Elimina el subrayado del enlace */
    color: inherit; /* Mantiene el color del icono */
}

.social_icons a span {
    display: none; /* Oculta el texto dentro del enlace */
}

.social_icons i {
    font-size: 24px; /* Tamaño de los iconos, ajusta según necesites */
    transition: color 0.3s; /* Suaviza el cambio de color al pasar el ratón */
}

.social_icons i:hover {
    color: #007bff; /* Color al pasar el ratón, ajusta según tu diseño */
}


.phone {
    font-size: 1.5rem;
    line-height: 1;
}
.label_footer {
    font-style: italic;
    font-size: 0.8rem;
    color: #bebebe;
}

.footer_2 a {
    color: white;
    font-size: 1.6rem;
    text-decoration: none;
}
ul.header_icons {
    display: inline-flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.header_icons a {
    font-size: 1.3rem;
    margin-left: 5px;
    margin-right: 5px;
    text-decoration: none !important;
}

ul.header_icons a.enve {
    color: black;
    text-decoration: none !important;
}

ul.header_icons a.enve:hover {
    color: #3f51b5;
    text-decoration: none !important;
}

ul.header_icons a.whats {
    color: black;
    text-decoration: none !important;
}

ul.header_icons a.whats:hover {
    color: #3f51b5;
    text-decoration: none !important;
}


ul.header_phones {
    text-align: right;
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.header_phones a {
    color: #000000;
    text-decoration: none;
}
ul.header_phones a:hover {
    color: #3f51b5;
}

ul.header_phones li {
    margin-bottom: 0;
}

/* Estilos generales */
ul.list-unstyled {
    list-style: none;
    padding-left: 0;
    margin: 0;
    font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.6;
}

/* Estilo de enlaces */
ul.list-unstyled li a {
    display: block;
    padding: 0 6px;
    text-decoration: none;
    color: #2c3e50;
    border-radius: 6px;
    transition: all 0.2s ease;
    font-size: 12px;
}

/* Hover elegante */
ul.list-unstyled li a:hover {
    color: #2980b9;
    padding-left: 6px;
}

/* Subniveles */
ul.list-unstyled ul {
    margin-left: 14px;
    border-left: 2px solid #e0e0e0;
    padding-left: 10px;
}

/* Diferenciar niveles */
ul.list-unstyled ul li a {
    font-size: 12px;
    color: #555;
}

ul.list-unstyled ul li a:hover {
    color: #1abc9c;
}

/* Compacto pero legible */
ul.list-unstyled li {
    margin: 0;
}

/* Opcional: numeración tipo guía */
ul.list-unstyled li::marker {
    color: #999;
}



/* Estilos para los botones del acordeón */
.accordion-itinerary .accordion-button {
    background-color: #ffffff; /* Fondo blanco */
    border: 1px solid #d1d1d1; /* Bordes grises */
    border-radius: 10px !important; /* Radio de 10px */
    margin-bottom: 15px; /* Separación de 15px entre botones */
    color: #000000; /* Color de texto inicial (negro por defecto) */
    transition: all 0.4s ease; /* Transición suave para cambios */
    cursor: pointer;
}

/* Estilos para hover y cuando el acordeón está abierto */
.accordion-itinerary .accordion-button:hover,
.accordion-itinerary .accordion-button:not(.collapsed) {
    background-color: #3f51b5; /* Fondo azul */
    color: #ffffff; /* Letras blancas */
}

/* Asegurar que el borde inferior no se duplique en el contenedor */
.accordion-itinerary .accordion-item {
    border: none; /* Elimina el borde por defecto del accordion-item */
}

/* Asegurar que el acordeón mantenga el radio incluso cuando está colapsado */
.accordion-itinerary .accordion-button.collapsed {
    border-radius: 10px !important;
}

span.day_label {
    margin-right: 5px;
    font-weight: 700;
}

.included ul li {
    list-style: none; /* Elimina los guiones por defecto */
    position: relative; /* Permite posicionar la bolita */
    padding-left: 20px; /* Espacio para la bolita */
}

.included ul li::before {
    content: ''; /* Contenido vacío para el pseudo-elemento */
    position: absolute;
    left: 0;
    top: 10px;
    transform: translateY(-50%); /* Centra verticalmente */
    width: 5px; /* Tamaño de la bolita */
    height: 5px;
    background-color: green; /* Color verde */
    border-radius: 50%; /* Hace la bolita circular */
}


.no_included ul li {
    list-style: none; /* Elimina los guiones por defecto */
    position: relative; /* Permite posicionar la bolita */
    padding-left: 20px; /* Espacio para la bolita */
}

.no_included ul li::before {
    content: ''; /* Contenido vacío para el pseudo-elemento */
    position: absolute;
    left: 0;
    top: 10px;
    transform: translateY(-50%); /* Centra verticalmente */
    width: 5px; /* Tamaño de la bolita */
    height: 5px;
    background-color: red; /* Color rojo */
    border-radius: 50%; /* Hace la bolita circular */
}


.acf-slick-slider .slider-for img {
    width: 100%;
    border-radius: 12px;
}

.acf-slick-slider .slider-nav .thumb {
    padding: 5px;
    cursor: pointer;
}

.acf-slick-slider .slider-nav .slick-current img {
    border: 2px solid #007bff;
    border-radius: 8px;
}

.no_included ul, .included ul {
    margin-left: 0px;
}


.stars {
    display: flex;
    justify-content: center; /* Centers the icons horizontally */
    align-items: center; /* Ensures vertical alignment in case of varying heights */
    gap: 5px; /* Optional: Adds spacing between stars */
}
.stars2 {
    display: flex;
    justify-content: flex-start; /* Centers the icons horizontally */
    align-items: center; /* Ensures vertical alignment in case of varying heights */
    gap: 5px; /* Optional: Adds spacing between stars */
    color: #ffd600;
}


.stars i.fa-star {
    color: #ffc107; /* Yellow color (Bootstrap's default yellow, you can use any hex like #FFFF00) */
}

.bightext h2 {
    font-size: 3rem;
}


.img_review {
    width: 60px;
    margin: auto;
}

.nombre {
    font-weight: bold;
    font-size: 0.8rem;
}


.date {
    font-size: 0.70rem;
    color: #979797;
}

.review_content {
    padding: 15px;
    font-size: 0.75rem;
    margin-top: 10px;
    margin-bottom: 10px;
}

.review_content a {
    font-size: 0.7rem;
}

.review .imagen {
    margin-bottom: -50px;
}

.cat_reviews  {
    margin-bottom: 0;
}


/* ============================================================
   Modern Tour Card Component (matches redesign mockup)
   ============================================================ */
.card-tour.modern-tour-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(18, 46, 96, 0.05);
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease, border-color 0.35s ease;
}

.card-tour.modern-tour-card:hover {
    transform: translateY(-4px);
    border-color: #cbd5e1;
    box-shadow: 0 20px 40px rgba(18, 46, 96, 0.12);
}

.card-tour.modern-tour-card .card-tour-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #f1f5f9;
}

.card-tour.modern-tour-card .card-tour-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.35s ease;
}

.card-tour.modern-tour-card:hover .card-tour-image img {
    transform: scale(1.05);
}

.card-tour.modern-tour-card .card-tour-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background: #f1f5f9;
    color: #94a3b8;
    font-size: 2.5rem;
}

.card-tour.modern-tour-card .card-tour-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    background: #58b947;
    color: #ffffff;
    border-radius: 999px;
    padding: 5px 13px;
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.card-tour.modern-tour-card .card-tour-badge i {
    font-size: 0.65rem;
}

.card-tour.modern-tour-card .card-tour-body {
    padding: 1.4rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.card-tour.modern-tour-card .card-tour-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.card-tour.modern-tour-card .card-tour-type {
    color: #0284c7;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.card-tour.modern-tour-card .card-tour-type i {
    font-size: 0.85rem;
}

.card-tour.modern-tour-card .card-tour-level {
    color: #475569;
    font-size: 0.78rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.card-tour.modern-tour-card .card-tour-level i {
    color: #64748b;
    font-size: 0.82rem;
}

.card-tour.modern-tour-card .card-tour-level strong {
    color: #1e293b;
    font-weight: 700;
}

.card-tour.modern-tour-card .card-tour-title {
    margin: 0 0 0.55rem;
    font-size: 1.3rem;
    font-weight: 750;
    line-height: 1.25;
    letter-spacing: -0.02em;
}

.card-tour.modern-tour-card .card-tour-title a {
    color: #0f172a;
    text-decoration: none;
    transition: color 0.2s ease;
}

.card-tour.modern-tour-card .card-tour-title a:hover {
    color: #0284c7;
}

.card-tour.modern-tour-card .card-tour-desc {
    color: #64748b;
    font-size: 0.88rem;
    line-height: 1.55;
    margin: 0 0 1.15rem;
    flex-grow: 1;
}

.card-tour.modern-tour-card .card-tour-divider {
    border-top: 1px solid #eef2f6;
    margin: 0 0 1.15rem;
}

.card-tour.modern-tour-card .card-tour-specs-pricing {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.card-tour.modern-tour-card .card-tour-specs {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.card-tour.modern-tour-card .spec-row {
    font-size: 0.8rem;
    color: #334155;
    display: flex;
    align-items: center;
    gap: 6px;
    line-height: 1.3;
}

.card-tour.modern-tour-card .spec-row i {
    color: #0284c7;
    font-size: 0.82rem;
    width: 15px;
    text-align: center;
}

.card-tour.modern-tour-card .spec-row strong {
    color: #0f172a;
    font-weight: 700;
}

.card-tour.modern-tour-card .spec-row .stars {
    color: #f59e0b;
    font-size: 0.72rem;
    letter-spacing: 1px;
    margin-left: 2px;
}

.card-tour.modern-tour-card .spec-row .reviews-count {
    color: #64748b;
    font-size: 0.75rem;
}

.card-tour.modern-tour-card .card-tour-price-box {
    text-align: right;
    border-left: 1px solid #eef2f6;
    padding-left: 1rem;
    min-width: 100px;
}

.card-tour.modern-tour-card .price-from-label {
    display: block;
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 500;
    line-height: 1;
}

.card-tour.modern-tour-card .price-amount {
    font-size: 2.1rem;
    font-weight: 800;
    color: #0284c7;
    line-height: 1;
    margin: 4px 0 2px;
    letter-spacing: -0.03em;
}

.card-tour.modern-tour-card .price-amount sup {
    font-size: 1.15rem;
    font-weight: 750;
    vertical-align: top;
    top: 0.15em;
    margin-right: 1px;
}

.card-tour.modern-tour-card .price-unit {
    display: block;
    font-size: 0.72rem;
    color: #64748b;
    font-weight: 500;
    line-height: 1;
}

.card-tour.modern-tour-card .card-tour-actions {
    display: flex;
    gap: 0.65rem;
    margin-top: auto;
}

.card-tour.modern-tour-card .btn-card-contact {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1.8px solid #0284c7;
    color: #0284c7;
    background: #ffffff;
    border-radius: 999px;
    padding: 0.62rem 0.6rem;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
    white-space: nowrap;
}

.card-tour.modern-tour-card .btn-card-contact:hover {
    background: #f0f9ff;
    border-color: #0369a1;
    color: #0369a1;
    transform: translateY(-1px);
}

.card-tour.modern-tour-card .btn-card-itinerary {
    flex: 1.15;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: linear-gradient(135deg, #58b947 0%, #0284c7 100%);
    color: #ffffff;
    border: 0;
    border-radius: 999px;
    padding: 0.62rem 0.6rem;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(2, 132, 199, 0.28);
    transition: all 0.25s ease;
    white-space: nowrap;
}

.card-tour.modern-tour-card .btn-card-itinerary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(2, 132, 199, 0.4);
    color: #ffffff;
}

@media (max-width: 575px) {
    .card-tour.modern-tour-card .card-tour-body {
        padding: 1.15rem;
    }

    .card-tour.modern-tour-card .card-tour-title {
        font-size: 1.15rem;
    }

    .card-tour.modern-tour-card .card-tour-actions {
        flex-direction: column;
    }

    .card-tour.modern-tour-card .btn-card-contact,
    .card-tour.modern-tour-card .btn-card-itinerary {
        width: 100%;
    }
}


.front_list ul {
    list-style: none;
    margin: 0;
    padding: 0;
}


.front_list .icono img,
.front_list .icono i {
    width: 80px;
    height: 80px;
}

.front_list .icono i {
    display: grid;
    place-items: center;
    color: #3f51b5;
    background: #eef2ff;
    border-radius: 50%;
    font-size: 2rem;
}

.icon_day_detail i {
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: #3f51b5;
    font-size: 1.6rem;
}

.front_list .icono {
    float: left;
    margin-right: 15px;
}

.front_list b {
    color: #3f51b5;
    display: block;
    font-size: 1.2rem;
}

.front_list li {
    margin-bottom: 30px;
}

.blue  {
    color: #3f51b5;
}

/* Tour category cards */
.tour-category-card {
    position: relative;
    overflow: hidden;
}
.tour-category-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.tour-category-card:hover img {
    transform: scale(1.1) translateY(-10px);
}
.tour-category-text {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 15px;
}
.tour-category-text h5,
.tour-category-text p {
    margin: 0;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
}
.tour-category-text h5 {
    font-size: 1.5rem;
    font-weight: bold;
}
.tour-category-text p {
    font-size: 1rem;
}

/* Modern footer */
.yacana-footer{--footer-ink:#f7f9ff;--footer-muted:#c5d4f2;--footer-line:rgba(255,255,255,.15);--footer-accent:#a9c6ff;position:relative;isolation:isolate;overflow:hidden;margin-top:clamp(2.5rem,5vw,4rem);color:var(--footer-ink);background:linear-gradient(145deg,#062d78 0%,#0a4dcc 52%,#073382 100%)}
.yacana-footer::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.16;background-image:radial-gradient(rgba(255,255,255,.22) .6px,transparent .6px);background-size:18px 18px;mask-image:linear-gradient(to bottom,#000,transparent 70%)}
.yacana-footer__glow{position:absolute;z-index:-1;width:28rem;height:28rem;border-radius:50%;opacity:.13;pointer-events:none;background:radial-gradient(circle,var(--footer-accent),transparent 68%);animation:footerFloat 12s ease-in-out infinite alternate}
.yacana-footer__glow--one{top:-17rem;right:-8rem}.yacana-footer__glow--two{bottom:-22rem;left:-10rem;animation-delay:-5s}.yacana-footer__inner{padding-top:clamp(2rem,4vw,3.25rem)}
.yacana-footer__intro{display:block;max-width:520px;animation:footerReveal .8s ease-out both}
.yacana-footer__logo{display:inline-flex;margin-bottom:.75rem}.yacana-footer__logo img{width:180px;height:auto}.yacana-footer__brand p,.yacana-footer__connect p{max-width:31rem;margin:0;color:var(--footer-muted);line-height:1.55}
.yacana-footer__cta{padding-left:clamp(1.5rem,4vw,4rem);border-left:1px solid var(--footer-line)}.yacana-footer__eyebrow{display:block;margin-bottom:.75rem;color:var(--footer-accent);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.yacana-footer__cta h2{max-width:650px;margin:0 0 1.5rem;color:#fff;font-size:2.75rem;font-weight:400;line-height:1.08;letter-spacing:-.035em}
.yacana-footer__button{display:inline-flex;gap:.8rem;align-items:center;padding:.9rem 1.2rem;color:#073382;background:#fff;border:1px solid #fff;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:color .3s,background .3s,transform .3s,box-shadow .3s}.yacana-footer__button:hover{color:var(--footer-ink);background:transparent;transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.2)}.yacana-footer__button i{transition:transform .3s}.yacana-footer__button:hover i{transform:translateX(4px)}
.yacana-footer__divider{display:flex;align-items:center;height:1px;margin:clamp(1.25rem,2.5vw,2rem) 0;background:var(--footer-line)}.yacana-footer__divider span{width:72px;height:2px;background:var(--footer-accent);animation:footerLine 1.1s .25s ease-out both}
.yacana-footer__grid{display:grid;grid-template-columns:.75fr .9fr 1.25fr 1.25fr;gap:clamp(1.25rem,3vw,2.5rem)}.yacana-footer__column{animation:footerReveal .7s ease-out both}.yacana-footer__column:nth-child(2){animation-delay:.08s}.yacana-footer__column:nth-child(3){animation-delay:.16s}.yacana-footer__column:nth-child(4){animation-delay:.24s}.yacana-footer__column h3{margin:0 0 .85rem;color:#fff;font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.yacana-footer__column ul{margin:0;padding:0;list-style:none}.yacana-footer__column>ul:not(.yacana-footer__socials) li+li{margin-top:.45rem}.yacana-footer__column>ul:not(.yacana-footer__socials) a{position:relative;display:inline-block;color:var(--footer-muted);font-size:.9rem;text-decoration:none;transition:color .25s,transform .25s}.yacana-footer__column>ul:not(.yacana-footer__socials) a::before{content:"";position:absolute;top:50%;left:-14px;width:0;height:1px;background:var(--footer-accent);transition:width .25s}.yacana-footer__column>ul:not(.yacana-footer__socials) a:hover{color:#fff;transform:translateX(14px)}.yacana-footer__column>ul:not(.yacana-footer__socials) a:hover::before{width:8px}
.yacana-footer__contact>a{display:flex;gap:.8rem;align-items:center;margin-bottom:.65rem;color:var(--footer-ink);font-size:.9rem;text-decoration:none}.yacana-footer__contact>a small{display:block;margin-bottom:.1rem;color:var(--footer-muted);font-size:.68rem;letter-spacing:.04em}.yacana-footer__contact-icon{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;color:var(--footer-accent);border:1px solid var(--footer-line);border-radius:50%;transition:transform .3s,border-color .3s,background .3s}.yacana-footer__contact>a:hover .yacana-footer__contact-icon{border-color:var(--footer-accent);background:rgba(214,169,95,.1);transform:rotate(-8deg) scale(1.08)}.yacana-footer__address{display:flex;gap:.8rem;margin-top:.85rem;color:var(--footer-muted);font-size:.8rem;line-height:1.5}.yacana-footer__address i{margin-top:.2rem;color:var(--footer-accent)}.yacana-footer__address address{margin:0}
.yacana-footer__socials{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.85rem!important}.yacana-footer__socials a{position:relative;display:grid;width:42px;height:42px;place-items:center;overflow:hidden;color:var(--footer-ink);border:1px solid var(--footer-line);border-radius:50%;text-decoration:none;transition:color .3s,border-color .3s,transform .35s cubic-bezier(.2,.8,.2,1)}.yacana-footer__socials a::before{content:"";position:absolute;inset:0;z-index:-1;background:#fff;border-radius:inherit;transform:scale(0);transition:transform .35s cubic-bezier(.2,.8,.2,1)}.yacana-footer__socials a:hover{color:#0a4dcc;border-color:#fff;transform:translateY(-5px) rotate(5deg)}.yacana-footer__socials a:hover::before{transform:scale(1)}
.yacana-footer__payments{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--footer-line)}.yacana-footer__payments>span{flex-basis:100%;color:var(--footer-muted);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.yacana-footer__payments a{display:grid;height:32px;padding:5px 9px;place-items:center;background:rgba(255,255,255,.94);border-radius:5px;transition:transform .25s,background .25s}.yacana-footer__payments a:hover{background:#fff;transform:translateY(-2px)}.yacana-footer__payments img{width:auto;max-width:74px;height:21px;object-fit:contain}
.yacana-footer__bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:center;margin-top:clamp(1.75rem,3.5vw,2.5rem);padding:1.15rem 0;color:#85938e;border-top:1px solid var(--footer-line);font-size:.7rem}.yacana-footer__bottom p{margin:0}.yacana-footer__bottom nav{display:flex;gap:1.2rem}.yacana-footer__bottom nav ul,.yacana-footer__legal-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem}.yacana-footer__bottom nav ul li,.yacana-footer__legal-menu li{margin:0;padding:0;list-style:none}.yacana-footer__bottom a{color:#9ba7a3;text-decoration:none;transition:color .2s}.yacana-footer__bottom a:hover{color:var(--footer-accent)}.yacana-footer__local{justify-self:end;letter-spacing:.08em;text-transform:uppercase}.yacana-footer__local i{margin-right:.4rem;color:var(--footer-accent)}
@keyframes footerReveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes footerLine{from{width:0}to{width:72px}}@keyframes footerFloat{from{transform:translate3d(0,0,0) scale(.9)}to{transform:translate3d(25px,18px,0) scale(1.08)}}
@media(max-width:991px){.yacana-footer__grid{grid-template-columns:repeat(2,1fr);row-gap:2rem}.yacana-footer__bottom{grid-template-columns:1fr auto}.yacana-footer__local{display:none}}
@media(max-width:767px){.yacana-footer__intro{grid-template-columns:1fr}.yacana-footer__cta{padding:1.25rem 0 0;border-top:1px solid var(--footer-line);border-left:0}.yacana-footer__grid{grid-template-columns:1fr 1fr}.yacana-footer__contact,.yacana-footer__connect{grid-column:1/-1}.yacana-footer__bottom{grid-template-columns:1fr;text-align:center}.yacana-footer__bottom nav{flex-wrap:wrap;justify-content:center}}
@media(max-width:420px){.yacana-footer__grid{grid-template-columns:1fr}.yacana-footer__contact,.yacana-footer__connect{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.yacana-footer *,.yacana-footer *::before,.yacana-footer *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Modern header */
.yacana-header{position:relative;z-index:100}.yacana-header__trust{color:#fff;background:#0a4dcc;font-family:"Montserrat",sans-serif;font-size:.68rem;letter-spacing:.035em}.yacana-header__trust .container{display:flex;justify-content:space-between;align-items:center;min-height:35px}.yacana-header__trust .container>div{display:flex;gap:1.6rem}.yacana-header__trust span,.yacana-header__trust a{display:inline-flex;gap:.45rem;align-items:center;color:#fff;text-decoration:none}.yacana-header__trust i{color:#bcd1ff}.yacana-header__main{background:rgba(255,255,255,.98);box-shadow:0 10px 35px rgba(13,43,103,.09)!important}.yacana-header__main>.container{padding-top:14px}.yacana-header__logo{display:inline-flex}.yacana-header__logo img{width:195px;height:auto;transition:transform .3s}.yacana-header__logo:hover img{transform:scale(1.025)}
.yacana-header__promise{display:flex;gap:.75rem;align-items:center;justify-content:flex-end;color:#1b315c;font-size:.78rem}.yacana-header__promise>i{display:grid;width:38px;height:38px;place-items:center;color:#0a4dcc;background:#edf3ff;border-radius:50%}.yacana-header__promise small,.header_phones small{display:block;color:#74809a;font-size:.62rem;letter-spacing:.04em}.header_phones b{display:block;color:#17284d;font-size:.83rem}.header_phones a,.header_phones a:hover,.header_phones a:focus{text-decoration:none!important;border:none!important}.yacana-header ul.header_icons{gap:.4rem}
.yacana-header ul.header_icons a{display:grid;width:36px;height:36px;margin:0;place-items:center;color:#0a4dcc!important;background:#edf3ff;border-radius:50%;text-decoration:none!important;border:none!important;box-shadow:none!important;transition:color .25s,background .25s,transform .25s}.yacana-header ul.header_icons a:hover,.yacana-header ul.header_icons a:focus,.yacana-header ul.header_icons a:active{color:#fff!important;background:#0a4dcc;transform:translateY(-2px);text-decoration:none!important;border:none!important;box-shadow:none!important}
.yacana-header__cta{display:inline-flex;width:100%;gap:.55rem;align-items:center;justify-content:center;padding:.82rem 1rem;color:#fff;background:#0a4dcc;border:1px solid #0a4dcc;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-decoration:none!important;transition:transform .3s,box-shadow .3s,background .3s}.yacana-header__cta:hover{background:#073b9d;transform:translateY(-2px);box-shadow:0 9px 22px rgba(10,77,204,.25);text-decoration:none!important}.yacana-header__cta i{transition:transform .25s}.yacana-header__cta:hover i{transform:translateX(3px)}
.yacana-header .main-navigation{margin-top:13px;border-top:1px solid #e5ebf7;background:#fff}.yacana-header .main-navigation ul li a{position:relative;padding:14px 20px;color:#18284a;font-size:.78rem;letter-spacing:.025em;text-transform:uppercase;background:transparent;text-decoration:none!important}.yacana-header .main-navigation>ul>li>a::after{content:"";position:absolute;right:20px;bottom:7px;left:20px;height:2px;background:#0a4dcc;transform:scaleX(0);transition:transform .3s}.yacana-header .main-navigation>ul>li>a:hover,.yacana-header .main-navigation>ul>li.menu-item-has-children:hover>a{color:#0a4dcc;background:transparent;text-decoration:none!important}.yacana-header .main-navigation>ul>li>a:hover::after{transform:scaleX(1)}.yacana-header .main-navigation .sub-menu{overflow:hidden;background:#fff;border:1px solid #e7ecf7;border-radius:0 0 12px 12px;box-shadow:0 16px 35px rgba(15,44,99,.14)}.yacana-header .main-navigation .sub-menu a{color:#263758;text-transform:none;text-decoration:none!important}.yacana-header .main-navigation .sub-menu a:hover{color:#fff;background:#0a4dcc;text-decoration:none!important}
.yacana-mobile-header{background:#fff}.yacana-mobile-header__trust{padding:7px 10px;color:#fff;background:#0a4dcc;font-size:.67rem;text-align:center;letter-spacing:.02em}.yacana-mobile-header__trust i{margin-right:.35rem;color:#c8d9ff}.yacana-mobile-header__trust span{margin:0 .35rem;color:#91b4f8}.yacana-mobile-header header{padding:10px 0;border-bottom:1px solid #e8edf8}.yacana-mobile-header__row{align-items:center}.yacana-mobile-header img{width:145px;height:auto}.yacana-mobile-header .iconos_contact{gap:.45rem}.yacana-mobile-header .iconos_contact a{display:grid;width:38px;height:38px;place-items:center;color:#0a4dcc;background:#eef4ff;border:1px solid #dce7fb;border-radius:50%;text-decoration:none!important;border-bottom:none!important}.yacana-mobile-header .iconos_contact a:hover{color:#fff;background:#0a4dcc;text-decoration:none!important}.yacana-mobile-header .menu_icon_box a{color:#0a4dcc;text-decoration:none!important}
@media(min-width:1200px){.yacana-header{position:relative;top:auto}.admin-bar .yacana-header{top:auto}}
@media(max-width:1300px) and (min-width:1200px){.yacana-header .main-navigation ul li a{padding-right:14px;padding-left:14px;font-size:.7rem}.yacana-header__promise{display:none}}
@media(prefers-reduced-motion:reduce){.yacana-header *{transition-duration:.01ms!important}}

/* Premium single tour — visual refresh without template changes */
body.single-tour {
    --st-blue: #0a4dcc;
    --st-blue-dark: #073785;
    --st-ink: #14213d;
    --st-muted: #657089;
    --st-line: #e2e9f4;
    --st-soft: #f5f8fd;
    --st-gold: #f4b41a;
    color: var(--st-ink);
    background: #fff;
    overflow-x: hidden;
}

body.single-tour .page.single-tour {
    overflow: hidden;
    background: linear-gradient(145deg, #f8faff 0%, #edf3ff 100%) !important;
}

body.single-tour .page.single-tour .intro {
    position: relative;
    isolation: isolate;
}

body.single-tour .page.single-tour .intro::before,
body.single-tour .page.single-tour .intro::after {
    position: absolute;
    z-index: -1;
    content: "";
    border-radius: 50%;
    filter: blur(2px);
}

body.single-tour .page.single-tour .intro::before {
    top: -11rem;
    right: -7rem;
    width: 30rem;
    height: 30rem;
    background: radial-gradient(circle, rgba(10, 77, 204, .13), transparent 68%);
}

body.single-tour .page.single-tour .intro::after {
    bottom: 1rem;
    left: -9rem;
    width: 22rem;
    height: 22rem;
    background: radial-gradient(circle, rgba(69, 132, 246, .09), transparent 70%);
}

body.single-tour .tour-title {
    position: static;
    padding: 1rem 0 1.3rem;
}

body.single-tour .tour-title h1 {
    max-width: 900px;
    margin: 0 auto .75rem;
    color: var(--st-ink);
    font-family: "Montserrat", sans-serif;
    font-weight: 650;
    line-height: 1.07;
    letter-spacing: -.055em;
    text-shadow: none;
    text-wrap: balance;
}

body.single-tour .tour-title .sites_to_visit {
    color: var(--st-muted);
    font-size: 1rem;
    font-weight: 450;
    text-shadow: none;
}

body.single-tour .page.single-tour .bar {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center;
    color: #526078;
    font-size: .83rem;
}

body.single-tour .page.single-tour .bar .stars {
    display: inline-flex;
    gap: .18rem;
    color: var(--st-gold);
}

body.single-tour .page.single-tour .bar a {
    color: var(--st-blue);
    font-weight: 650;
    text-underline-offset: 3px;
}

body.single-tour .intro_bar {
    padding: 1.8rem 0 !important;
    background: #fff;
    box-shadow: 0 12px 32px rgba(20, 45, 91, .07);
}

body.single-tour .intro_bar .slogan {
    max-width: 760px;
    margin: 0;
    color: var(--st-ink);
    font-family: "Montserrat", sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.28;
    letter-spacing: -.035em;
}

body.single-tour .label_from {
    text-align: right;
    margin-bottom: .65rem;
    color: var(--st-ink);
    font-size: 1.5rem;
    font-weight: 750;
    letter-spacing: -.025em;
}
body.single-tour .label_from .from,
body.single-tour .label_from .usd {
    color: var(--st-muted);
    font-size: .68rem;
    font-weight: 650;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.single-tour .btn-blue,
body.single-tour .btn-orange,
body.single-tour .btn-orange-2 {
    border: 0;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .075em;
    text-transform: uppercase;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

body.single-tour .btn-blue,
body.single-tour .btn-orange-2 {
    color: #fff;
    background: linear-gradient(135deg, var(--st-blue), #2568df);
    box-shadow: 0 10px 24px rgba(10, 77, 204, .22);
}

body.single-tour .btn-blue:hover,
body.single-tour .btn-orange-2:hover {
    color: #fff;
    background: linear-gradient(135deg, var(--st-blue-dark), var(--st-blue));
    box-shadow: 0 14px 30px rgba(10, 77, 204, .3);
    transform: translateY(-2px);
}

body.single-tour .intro_gallery {
    border-radius: 20px;
}

body.single-tour .intro_gallery > .row {
    --bs-gutter-x: .75rem;
}

body.single-tour .intro_gallery a {
    display: block;
    overflow: hidden;
    border-radius: 14px;
    background: var(--st-soft);
}

body.single-tour .intro_gallery img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: transform .55s cubic-bezier(.2, .8, .2, 1), filter .35s ease;
}

body.single-tour .intro_gallery > .row > .col-md-6:first-child img {
    height: 456px;
}

body.single-tour .intro_gallery a:hover img {
    filter: brightness(.88) saturate(1.05);
    transform: scale(1.035);
}

body.single-tour .nav_box {
    position: sticky;
    top: 151px;
    z-index: 80;
    overflow-x: auto;
    background: rgba(255, 255, 255, .94);
    border-top: 1px solid var(--st-line);
    border-bottom: 1px solid var(--st-line);
    box-shadow: 0 10px 28px rgba(17, 45, 94, .07);
    backdrop-filter: blur(14px);
}

body.single-tour .mainav .ulnav {
    flex-wrap: nowrap;
    justify-content: center;
    min-width: max-content;
    margin: 0;
}

body.single-tour .avatar {
    padding: 1.5rem;
    text-align: center;
    background: #fff;
    border: 1px solid var(--st-line);
    border-radius: 18px;
    box-shadow: 0 16px 40px rgba(18, 46, 96, .08);
}

body.single-tour .avatar img {
    width: 92px;
    height: 92px;
    object-fit: cover;
    border: 4px solid #eef4ff;
    border-radius: 50%;
}

body.single-tour .avatar .name {
    margin-top: .75rem;
    color: var(--st-ink);
    font-weight: 700;
}

body.single-tour .avatar .leyend,
body.single-tour .support_1 {
    color: var(--st-muted) !important;
    font-size: .7rem;
}

body.single-tour .support_2 a {
    color: var(--st-blue);
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
}

body.single-tour .support_3 ul {
    display: flex;
    gap: .5rem;
    justify-content: center;
    margin: .85rem 0;
    list-style: none;
}

body.single-tour .support_3 a {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    color: var(--st-blue);
    background: #eef4ff;
    border-radius: 50%;
}

body.single-tour .overview {
    padding: .4rem clamp(1rem, 3vw, 2rem) !important;
}

body.single-tour h2 {
    color: var(--st-ink);
    font-family: "Montserrat", sans-serif;
    font-size: 1.75rem;
    font-weight: 650;
    line-height: 1.15;
    letter-spacing: -.04em;
}

body.single-tour h3 {
    color: var(--st-ink);
    font-family: "Montserrat", sans-serif;
    font-weight: 650;
}

body.single-tour .introduccion,
body.single-tour .love,
body.single-tour .travel_guide,
body.single-tour .faqs,
body.single-tour .section_tour p,
body.single-tour .section_tour li {
    color: #536078;
    line-height: 1.8;
}

body.single-tour .mapa_box a {
    display: block;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 14px 32px rgba(18, 46, 96, .1);
}

body.single-tour .mapa_box img {
    width: 100%;
    min-height: 190px;
    object-fit: cover;
    transition: transform .45s ease;
}

body.single-tour .mapa_box a:hover img {
    transform: scale(1.04);
}

body.single-tour .trip-details-summary-box,
body.single-tour .trip-details-sidebar-box {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
}

body.single-tour .trip-details-summary-box h2,
body.single-tour .trip-details-sidebar-box h2 {
    font-size: 1rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 0.5rem;
}

body.single-tour .trip-details-content ul,
body.single-tour .trip-details-content ol {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-tour .trip-details-content li {
    padding: 0.32rem 0;
    margin: 0 !important;
    border-bottom: 1px solid #f1f5f9;
    color: #475569;
    font-size: 0.78rem;
    line-height: 1.35;
}

body.single-tour .trip-details-content li:first-child {
    padding-top: 0;
}

body.single-tour .trip-details-content li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

body.single-tour .trip-details-content li strong {
    color: #1e293b;
    font-weight: 600;
    font-size: 0.78rem;
}

body.single-tour .adicional {
    padding: 3rem 0;
    background: var(--st-soft);
    border-top: 1px solid var(--st-line);
    border-bottom: 1px solid var(--st-line);
}

body.single-tour .trip-detail-item {
    height: 100%;
    padding: 1.15rem;
    background: #fff;
    border: 1px solid var(--st-line);
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(17, 46, 98, .045);
}

body.single-tour .trip-detail-item i {
    color: var(--st-blue);
}

body.single-tour .label_data {
    color: var(--st-blue);
    font-size: .7rem;
    letter-spacing: .045em;
    text-transform: uppercase;
}

body.single-tour .text_data {
    margin-top: .45rem;
    color: var(--st-ink);
    font-size: .8rem;
    line-height: 1.5;
}

body.single-tour .section_tour {
    margin-bottom: 2rem !important;
    padding: 2rem !important;
    background: #fff !important;
    border: 1px solid var(--st-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 48px rgba(17, 45, 94, .07) !important;
}

body.single-tour #section2,
body.single-tour #section3,
body.single-tour #section4,
body.single-tour #section5,
body.single-tour #section6,
body.single-tour #section7 {
    scroll-margin-top: 220px;
}

body.single-tour .accordion-itinerary .accordion-item {
    margin-bottom: .85rem;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--st-line);
    border-radius: 13px;
}

body.single-tour .accordion-itinerary .accordion-button {
    margin: 0;
    padding: 1.2rem 1.35rem;
    color: var(--st-ink);
    background: #fff;
    border: 0;
    border-radius: 0 !important;
    box-shadow: none;
    font-weight: 650;
}

body.single-tour .accordion-itinerary .accordion-button:hover,
body.single-tour .accordion-itinerary .accordion-button:not(.collapsed) {
    color: #fff;
    background: linear-gradient(135deg, var(--st-blue-dark), var(--st-blue));
}

body.single-tour .accordion-itinerary .accordion-body {
    padding: 1.5rem;
}

body.single-tour .day_box {
    height: 100%;
    padding: .9rem;
    background: var(--st-soft);
    border: 1px solid var(--st-line);
    border-radius: 11px;
}

body.single-tour .icon_day_detail i {
    color: var(--st-blue);
    background: #e8f0ff;
    border-radius: 10px;
}

body.single-tour .reviews_box .list-group-item {
    margin-bottom: .9rem;
    padding: 1.3rem !important;
    background: #fff;
    border: 1px solid var(--st-line) !important;
    border-radius: 13px;
    box-shadow: 0 8px 24px rgba(17, 45, 94, .045);
}

body.single-tour .reviews_box .card {
    border: 1px solid var(--st-line);
    border-radius: 14px;
    box-shadow: 0 10px 26px rgba(17, 45, 94, .06) !important;
}

body.single-tour #section3 > .row > div {
    padding: 1.35rem;
}

body.single-tour #section3 > .row > div + div {
    border-left: 1px solid var(--st-line);
}

body.single-tour #section3 .fa-check { color: #178957; }
body.single-tour #section3 .fa-xmark { color: #d34855; }

body.single-tour #section7 .reviews_box {
    background: #ffffff;
    border: 1px solid var(--st-line);
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(17, 45, 94, .04);
    overflow: hidden;
}

body.single-tour #section7 .single-tour-reviews-carousel-wrap {
    overflow: hidden;
    position: relative;
    padding: 0 4px;
}

body.single-tour #section7 .yacana-reviews-carousel-wrapper {
    margin: 0 !important;
    overflow: hidden;
}

body.single-tour #section7 .yacana-reviews-carousel .slick-list {
    overflow: hidden !important;
}

body.single-tour #section7 .yacana-reviews-carousel .slick-prev {
    left: 0;
}

body.single-tour #section7 .yacana-reviews-carousel .slick-next {
    right: 0;
}

body.single-tour .cat_reviews {
    padding: clamp(3rem, 6vw, 5rem) 0 !important;
    color: #fff;
    background: linear-gradient(135deg, #062c73, var(--st-blue));
}

body.single-tour .cat_reviews h4 {
    color: #fff;
    font-size: 2rem;
}

body.single-tour .cat_reviews > .container > .text-center > p {
    max-width: 820px;
    margin: 1rem auto 2rem;
    color: rgba(255, 255, 255, .78);
}

body.single-tour .relacionados {
    padding-top: clamp(3rem, 6vw, 5rem);
}

body.single-tour a:focus-visible,
body.single-tour button:focus-visible {
    outline: 3px solid rgba(244, 180, 26, .8);
    outline-offset: 3px;
}

@media (max-width: 1199px) {
    body.single-tour .nav_box { top: 0; }
}

@media (max-width: 767px) {
    body.single-tour .page.single-tour { display: none; }
    body.single-tour .mobile_hea { display: block; }
    body.single-tour .intro_gallery { margin: 1.25rem 0 2rem; border-radius: 14px; }
    body.single-tour .intro_gallery > .row > .col-md-6:first-child img { height: 270px; margin-bottom: .75rem; }
    body.single-tour .intro_gallery > .row > .col-md-6:last-child > .row { display: grid; grid-template-columns: 1fr 1fr; }
    body.single-tour .intro_gallery > .row > .col-md-6:last-child img { height: 125px; margin-bottom: .75rem !important; }
    body.single-tour .mainav .ulnav { justify-content: flex-start; }
    body.single-tour .mainav .ulnav a { padding: .85rem .75rem; }
    body.single-tour .avatar { margin: 0 .75rem 2rem; }
    body.single-tour .overview { padding: 0 .75rem !important; }
    body.single-tour .mapa_box { margin-top: 1.5rem; }
    body.single-tour .section_tour { padding: 1.25rem !important; border-radius: 14px !important; }
    body.single-tour #section3 > .row > div + div { border-top: 1px solid var(--st-line); border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    body.single-tour *,
    body.single-tour *::before,
    body.single-tour *::after {
        transition-duration: .01ms !important;
    }
}



/* Single tour refinements */

body.single-tour .tour-title {
    margin: 0;
    padding: .75rem 0 .5rem;
    text-align: left;
}

body.single-tour .tour-title h1 {

    margin: 0 0 .55rem;
    line-height: 1.12;
    letter-spacing: -.04em;
}

body.single-tour .tour-title .sites_to_visit {
    font-size: 1rem !important;
    line-height: 1.55;
}

body.single-tour .intro_bar {
    padding: .65rem 0 1.45rem !important;
    background: transparent;
    box-shadow: none;
}

body.single-tour .intro_bar .row {
    align-items: center;
}

body.single-tour .intro_bar .slogan {
    font-size: 1.5rem;
    line-height: 1.42;
}
body.single-tour .page.single-tour .bar .rate {
    margin: 0 .15rem;
    color: var(--st-ink);
    font-weight: 700;
}

body.single-tour .nav_box {
    top: 0;
}

body.single-tour .mainav .ulnav {
    gap: .4rem;
}

body.single-tour .mainav .ulnav a {
    position: relative;
    display: inline-flex;
    flex-wrap: nowrap;
    gap: .5rem;
    align-items: center;
    margin: .55rem 0;
    padding: .62rem .78rem;
    color: #5b6880;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 999px;
    font-weight: 650;
    letter-spacing: .035em;
    text-transform: uppercase;
    white-space: nowrap;
    transform: translateY(0);
    transition: color .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

body.single-tour .mainav .ulnav a i {
    display: grid;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    place-items: center;
    color: var(--st-blue);
    background: #e9f1ff;
    border-radius: 50%;
    font-size: .68rem;
    transform: translateY(0) rotate(0);
    transition: color .25s ease, background-color .25s ease, transform .3s ease;
}

body.single-tour .mainav .ulnav a:hover,
body.single-tour .mainav .ulnav a:focus-visible {
    display: inline-flex;
    color: var(--st-blue);
    background-color: #f0f5ff;
    border: 1px solid #cbdcf8;
    box-shadow: 0 7px 18px rgba(10, 77, 204, .12);
    transform: translateY(-2px);
}

body.single-tour .mainav .ulnav a:hover i,
body.single-tour .mainav .ulnav a:focus-visible i {
    color: #fff;
    background-color: var(--st-blue);
    transform: translateY(-1px) rotate(-6deg) scale(1.06);
}

body.single-tour .mainav .ulnav a.active {
    display: inline-flex;
    color: var(--st-blue);
    background-color: #edf4ff;
    border: 1px solid #bdd2f5;
    box-shadow: none;
}

body.single-tour .mainav .ulnav a.active:hover,
body.single-tour .mainav .ulnav a.active:focus-visible {
    box-shadow: 0 7px 18px rgba(10, 77, 204, .12);
}

body.single-tour .mainav .ulnav a.active i {
    color: #fff;
    background-color: var(--st-blue);
}

body.single-tour .adicional {
    padding: 1.15rem 0;
    background: #fff;
    border-color: var(--st-line);
}

body.single-tour .adicional > .container > .row > .col-md-2,
body.single-tour .adicional > .container > .row > .col-md-3 {
    display: none;
}

body.single-tour .adicional > .container > .row > .col-md-7 {
    width: 100%;
}

body.single-tour .adicional .trip-details {
    max-width: none;
    padding: 0;
}

body.single-tour .adicional .trip-details > .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
}

body.single-tour .adicional .trip-detail-item {
    min-height: 74px;
    padding: .75rem 1rem;
    background: transparent;
    border: 0;
    border-right: 1px solid var(--st-line);
    border-radius: 0;
    box-shadow: none;
}

body.single-tour .adicional .trip-details > .row > div:nth-child(3n) .trip-detail-item {
    border-right: 0;
}

body.single-tour .adicional .trip-detail-item:hover {
    background: #f8faff;
    box-shadow: none;
    transform: none;
}

body.single-tour .adicional .trip-detail-item i {
    font-size: .85rem;
}

body.single-tour .adicional .label_data {
    font-size: .63rem;
}

body.single-tour .adicional .text_data {
    margin-top: .25rem;
    font-size: .74rem;
}

body.single-tour .introduction-layout .acf-slick-slider {
    min-width: 0;
    overflow: hidden;
    padding: .5rem;
    background: var(--st-soft);
    border: 1px solid var(--st-line);
    border-radius: 14px;
}

body.single-tour .introduction-layout .slider-for img {
    width: 100%;
    height: 285px;
    object-fit: cover;
    border-radius: 10px;
}

body.single-tour .introduction-layout .slider-nav {
    margin-top: .4rem !important;
}

body.single-tour .introduction-layout .slider-nav .thumb {
    padding: 3px;
}

body.single-tour .introduction-layout .slider-nav img {
    width: 100%;
    height: 58px;
    object-fit: cover;
    opacity: .6;
    border: 2px solid transparent;
    border-radius: 7px;
}

body.single-tour .introduction-layout .slider-nav .slick-current img {
    opacity: 1;
    border-color: var(--st-blue);
}

@media (max-width: 767px) {
    body.single-tour .mainav .ulnav a {
        margin: .4rem 0;
        padding: .55rem .68rem;
    }

    body.single-tour .adicional .trip-detail-item {
        min-height: 68px;
        border-right: 0;
        border-bottom: 1px solid var(--st-line);
    }

    body.single-tour .introduction-layout .slider-for img {
        height: 235px;
    }
}

/* Itinerary contact sidebar */
body.single-tour #section2 > .row {
    --bs-gutter-x: 2rem;
    align-items: flex-start;
}

body.single-tour #section2 .itinerary-content {
    order: 1;
}

body.single-tour #section2 .itinerary-sidebar {
    order: 2;
}

body.single-tour .itinerary-contact {
    position: static;
    margin-top: 0 !important;
    padding: 1.35rem;
    color: var(--st-ink);
    text-align: left;
    background: #fff;
    border: 1px solid var(--st-line);
    border-radius: 16px;
}

body.single-tour .itinerary-contact__eyebrow {
    display: block;
    margin-bottom: .4rem;
    color: var(--st-blue);
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .11em;
    text-transform: uppercase;
}

body.single-tour .itinerary-contact > h3 {
    margin-bottom: .6rem;
    font-size: 1.12rem;
    line-height: 1.3;
}

body.single-tour .itinerary-contact .support_1 {
    margin-bottom: 1rem;
    color: var(--st-muted) !important;
    font-size: .72rem;
    line-height: 1.6;
}

body.single-tour .itinerary-contact__details {
    padding: .35rem 0;
    border-top: 1px solid var(--st-line);
    border-bottom: 1px solid var(--st-line);
}

body.single-tour .itinerary-contact__details > a {
    display: flex;
    gap: .7rem;
    align-items: center;
    padding: .65rem 0;
    color: var(--st-ink);
    font-size: .72rem;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: none;
}

body.single-tour .itinerary-contact__details > a > i {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    color: var(--st-blue);
    background: #edf4ff;
    border-radius: 50%;
}

body.single-tour .itinerary-contact__details small {
    display: block;
    margin-bottom: .1rem;
    color: var(--st-muted);
    font-size: .58rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body.single-tour .itinerary-contact__details > a:hover {
    color: var(--st-blue);
}

body.single-tour .itinerary-contact__about {
    padding: 1rem 0;
    border-bottom: 1px solid var(--st-line);
}

body.single-tour .itinerary-contact__about h4,
body.single-tour .itinerary-contact__form h4 {
    margin: 0 0 .45rem;
    color: var(--st-ink);
    font-family: "Montserrat", sans-serif;
    font-size: .82rem;
    font-weight: 700;
}

body.single-tour .itinerary-contact__about p {
    margin-bottom: .5rem;
    color: var(--st-muted);
    font-size: .68rem;
    line-height: 1.55;
}

body.single-tour .itinerary-contact__about > a {
    color: var(--st-blue);
    font-size: .65rem;
    font-weight: 700;
    text-decoration: none;
}

body.single-tour .itinerary-contact__about > a i {
    margin-left: .25rem;
    transition: transform .2s ease;
}

body.single-tour .itinerary-contact__about > a:hover i {
    transform: translateX(3px);
}

body.single-tour .itinerary-contact .support_3 ul {
    justify-content: flex-start;
    margin: .8rem 0 1rem;
}

body.single-tour .itinerary-contact__form {
    padding-top: .15rem;
}

body.single-tour .itinerary-contact__form .yacana-contact-form {
    margin-top: .6rem;
}

body.single-tour .itinerary-contact__form .yacana-contact-form__form {
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.single-tour .itinerary-contact__form .yacana-contact-form__form::before,
body.single-tour .itinerary-contact__form .yacana-contact-form__footer p {
    display: none;
}

body.single-tour .itinerary-contact__form .yacana-contact-form__grid {
    grid-template-columns: 1fr;
    gap: .25rem;
}

body.single-tour .itinerary-contact__form .yacana-contact-form label {
    margin-bottom: .25rem;
    font-size: .6rem;
}

body.single-tour .itinerary-contact__form .yacana-contact-form input,
body.single-tour .itinerary-contact__form .yacana-contact-form select {
    height: 40px;
    padding: 0 .7rem;
    font-size: .72rem;
}

body.single-tour .itinerary-contact__form .yacana-contact-form textarea {
    min-height: 88px;
    padding: .6rem .7rem;
    font-size: .72rem;
}

body.single-tour .itinerary-contact__form .yacana-contact-form__error {
    min-height: .7rem;
    margin-top: .1rem;
    font-size: .58rem;
}

body.single-tour .itinerary-contact__form .yacana-contact-form__footer {
    margin-top: .65rem;
    padding-top: .65rem;
}

body.single-tour .itinerary-contact__form .yacana-contact-form__submit {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: .65rem .8rem;
    font-size: .62rem;
}

/* Travel guide and FAQ tabs - Minimalist & Modern */
body.single-tour .tour-info-tabs {
    padding: clamp(1.75rem, 4vw, 2.75rem) !important;
}

body.single-tour .tour-info-tabs__top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
    flex-wrap: wrap;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--st-line);
}

body.single-tour .tour-info-tabs__header > span {
    display: block;
    margin-bottom: .35rem;
    color: var(--st-blue);
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
}

body.single-tour .tour-info-tabs__header h2 {
    margin: 0;
    color: var(--st-ink);
    font-size: var(--st-type-section, 1.75rem);
    font-weight: 650;
    line-height: 1.2;
}

/* Minimalist Segmented Pill Navigation */
body.single-tour .tour-info-tabs__nav {
    display: inline-flex;
    align-items: center;
    background: #f1f4f9;
    border: 1px solid #e2e9f4;
    border-radius: 999px;
    padding: 4px;
    gap: 4px;
    list-style: none;
    margin: 0;
}

body.single-tour .tour-info-tabs__nav .nav-item {
    margin: 0;
}

body.single-tour .tour-info-tabs__nav .nav-link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem 1.15rem;
    color: #62718d;
    background: transparent;
    border: 0;
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 650;
    letter-spacing: .02em;
    text-transform: none;
    box-shadow: none;
    transition: all .22s cubic-bezier(.2, .8, .2, 1);
}

body.single-tour .tour-info-tabs__nav .nav-link i {
    font-size: .8rem;
    color: #8fa0b8;
    transition: color .22s ease;
}

body.single-tour .tour-info-tabs__nav .nav-link:hover {
    color: var(--st-ink);
    background: rgba(255, 255, 255, .6);
}

body.single-tour .tour-info-tabs__nav .nav-link:hover i {
    color: var(--st-blue);
}

body.single-tour .tour-info-tabs__nav .nav-link.active {
    color: var(--st-ink);
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(18, 46, 96, .09);
    font-weight: 700;
}

body.single-tour .tour-info-tabs__nav .nav-link.active i {
    color: var(--st-blue);
}

/* Clean, Unboxed Content Area */
body.single-tour .tour-info-tabs__content {
    margin: 0;
    padding: 1.75rem 0 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

body.single-tour .tour-info-tabs__content .tab-pane {
    transition: opacity .25s ease-in-out;
}

body.single-tour .tour-info-tabs__content .travel_guide,
body.single-tour .tour-info-tabs__content .faqs {
    height: auto !important;
    overflow: visible;
    color: #536078;
    font-size: var(--st-type-body, .92rem);
    line-height: 1.85;
}

body.single-tour .tour-info-tabs__content h3,
body.single-tour .tour-info-tabs__content h4,
body.single-tour .tour-info-tabs__content h5 {
    color: var(--st-ink);
    font-weight: 650;
    margin-top: 1.5rem;
    margin-bottom: .75rem;
    line-height: 1.35;
}

body.single-tour .tour-info-tabs__content h3:first-child,
body.single-tour .tour-info-tabs__content h4:first-child,
body.single-tour .tour-info-tabs__content h5:first-child,
body.single-tour .tour-info-tabs__content p:first-child {
    margin-top: 0;
}

body.single-tour .tour-info-tabs__content p {
    margin-bottom: 1.25rem;
}

body.single-tour .tour-info-tabs__content ul,
body.single-tour .tour-info-tabs__content ol {
    padding-left: 1.35rem;
    margin-bottom: 1.35rem;
}

body.single-tour .tour-info-tabs__content li {
    margin-bottom: .5rem;
    line-height: 1.75;
}

body.single-tour .tour-info-tabs__content a {
    color: var(--st-blue);
    text-underline-offset: 3px;
    font-weight: 600;
}

body.single-tour .tour-info-tabs__content a:hover {
    color: var(--st-blue-dark);
}

/* Photo Gallery Tab */
body.single-tour .tour-info-gallery__intro {
    color: #536078;
    margin-bottom: 1.5rem;
    line-height: 1.75;
}

body.single-tour .tour-gallery-item {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 12px;
    background: #eef3fb;
    border: 1px solid var(--st-line);
    aspect-ratio: 4 / 3;
    box-shadow: 0 4px 14px rgba(18, 46, 96, .04);
    transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease, border-color .35s ease;
}

body.single-tour .tour-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .45s cubic-bezier(.2, .8, .2, 1), filter .3s ease;
}

body.single-tour .tour-gallery-item:hover {
    transform: translateY(-3px);
    border-color: rgba(10, 77, 204, .25);
    box-shadow: 0 10px 24px rgba(18, 46, 96, .12);
}

body.single-tour .tour-gallery-item:hover img {
    transform: scale(1.05);
    filter: brightness(.95);
}

body.single-tour .tour-info-tabs__content > .tab-pane > :last-child,
body.single-tour .tour-info-tabs__content > .tab-pane > div > :last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    body.single-tour .tour-info-tabs__top {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
        padding-bottom: 1.25rem;
    }

    body.single-tour .tour-info-tabs__nav {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        border-radius: 14px;
        gap: 4px;
    }

    body.single-tour .tour-info-tabs__nav .nav-item {
        flex: 1 1 auto;
    }

    body.single-tour .tour-info-tabs__nav .nav-link {
        width: 100%;
        justify-content: center;
        padding: .55rem .75rem;
        font-size: .72rem;
        border-radius: 10px;
        white-space: nowrap;
    }

    body.single-tour .tour-info-tabs__content {
        padding-top: 1.25rem;
    }
}

@media (max-width: 991px) {
    body.single-tour .itinerary-contact {
        position: static;
        padding: 1.1rem;
    }
}

@media (max-width: 767px) {
    body.single-tour #section2 .itinerary-sidebar {
        margin-top: 1.5rem;
    }
}

/* Minimal itinerary accordion */
body.single-tour .accordion-itinerary {
    --itinerary-line: #e4e9f1;
    --itinerary-soft: #f7f9fc;
    --itinerary-text: #26344d;
}

body.single-tour .accordion-itinerary .accordion-item {
    position: relative;
    margin-bottom: .65rem;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--itinerary-line);
    border-radius: 10px;
    box-shadow: none;
    transition: border-color .2s ease, background .2s ease;
}

body.single-tour .accordion-itinerary .accordion-item:has(.accordion-button:not(.collapsed)) {
    border-color: #cbd9ed;
}

body.single-tour .accordion-itinerary .accordion-button,
body.single-tour .accordion-itinerary .accordion-button.collapsed {
    min-height: 58px;
    margin: 0;
    padding: .9rem 3.2rem .9rem 1rem;
    color: var(--itinerary-text);
    background: #fff;
    border: 0;
    border-radius: 0 !important;
    box-shadow: none;
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.45;
    transition: color .2s ease, background .2s ease;
}

body.single-tour .accordion-itinerary .accordion-button:hover {
    color: var(--st-blue);
    background: var(--itinerary-soft);
}

body.single-tour .accordion-itinerary .accordion-button:not(.collapsed) {
    color: var(--st-blue);
    background: #f4f8ff;
}


body.single-tour .accordion-itinerary .accordion-button::after {
    position: absolute;
    right: 1rem;
    width: 1.8rem;
    height: 1.8rem;
    margin: 0;
    background-color: #eef3fb;
    background-position: center;
    background-size: .72rem;
    border-radius: 50%;
}

body.single-tour .accordion-itinerary .accordion-button:not(.collapsed)::after {
    background-color: #dfeaff;
}

body.single-tour .accordion-itinerary .day_label {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    margin-right: .55rem;
    padding: .25rem .48rem;
    color: var(--st-blue);
    background: #edf4ff;
    border-radius: 5px;
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .055em;
    text-transform: uppercase;
}

body.single-tour .accordion-itinerary .accordion-body {
    padding: 1.25rem 1.35rem 1.4rem;
    color: #56627a;
    background: #fff;
    border-top: 1px solid #edf1f6;
    font-size: .85rem;
    line-height: 1.75;
}

body.single-tour .accordion-itinerary .accordion-body > :last-child {
    margin-bottom: 0;
}

body.single-tour .accordion-itinerary .day_details {
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px solid #edf1f6;
}

body.single-tour .accordion-itinerary .day_box {
    gap: .55rem;
    padding: .65rem;
    background: transparent;
    border: 0;
    border-radius: 7px;
}

body.single-tour .accordion-itinerary .icon_day_detail i {
    width: 34px;
    height: 34px;
    color: var(--st-blue);
    background: #f0f5fc;
    border-radius: 7px;
    font-size: .92rem;
}

body.single-tour .accordion-itinerary .day_detail_box h6 {
    margin: 0 0 .1rem;
    color: #33415a;
    font-size: .65rem;
    font-weight: 700;
}

body.single-tour .accordion-itinerary .day_content {
    margin: 0;
    color: #778196;
    font-size: .63rem;
    line-height: 1.4;
}

@media (max-width: 575px) {
    body.single-tour .accordion-itinerary .accordion-button,
    body.single-tour .accordion-itinerary .accordion-button.collapsed {
        align-items: flex-start;
        min-height: 54px;
        padding: .78rem 2.8rem .78rem .8rem;
        font-size: .7rem;
    }

    body.single-tour .accordion-itinerary .accordion-button::after {
        right: .75rem;
    }

    body.single-tour .accordion-itinerary .accordion-body {
        padding: 1rem;
    }
}

/* Uniform single-tour typography scale (fixed sizes, no fluid font sizing). */
body.single-tour {
    --st-type-display: 2.5rem;
    --st-type-section: 1.75rem;
    --st-type-heading: 1.25rem;
    --st-type-body: .95rem;
    --st-type-small: .82rem;
    --st-type-label: .75rem;
    font-size: var(--st-type-body);
}

body.single-tour h2,
body.single-tour .cat_reviews h4 { font-size: var(--st-type-section); }
body.single-tour h3,
body.single-tour .itinerary-contact > h3 { font-size: var(--st-type-heading); }
body.single-tour .intro_bar .slogan { font-size: 1.5rem; }

body.single-tour .introduccion,
body.single-tour .love,
body.single-tour .travel_guide,
body.single-tour .faqs,
body.single-tour .section_tour p,
body.single-tour .section_tour li,
body.single-tour .accordion-itinerary .accordion-body {
    font-size: var(--st-type-body);
}


body.single-tour .label_data,
body.single-tour .itinerary-contact__eyebrow,
body.single-tour .itinerary-contact__details small,
body.single-tour .itinerary-contact__about p,
body.single-tour .itinerary-contact__about > a,
body.single-tour .itinerary-contact__form .yacana-contact-form label,
body.single-tour .accordion-itinerary .day_label,
body.single-tour .accordion-itinerary .day_detail_box h6 {
    font-size: var(--st-type-label);
}

body.single-tour .text_data,
body.single-tour .accordion-itinerary .day_content,
body.single-tour .itinerary-contact .support_1,
body.single-tour .itinerary-contact__form .yacana-contact-form input,
body.single-tour .itinerary-contact__form .yacana-contact-form select,
body.single-tour .itinerary-contact__form .yacana-contact-form textarea {
    font-size: var(--st-type-small);
}

@media (max-width: 991px) {
    body.single-tour {
        --st-type-display: 2rem;
        --st-type-section: 1.5rem;
        --st-type-heading: 1.15rem;
    }

    body.single-tour .intro_bar .slogan { font-size: 1.25rem; }
    body.single-tour .mobile_hea .mob_title { font-size: 1.5rem; }
}


/* ============================================================
   Página de Certificaciones (template: Certificaciones)
   Estilo elegante y minimalista coherente con el tema
   ============================================================ */
body.page-template-page-certifications {
    --st-blue: #0a4dcc;
    --st-blue-dark: #073785;
    --st-ink: #14213d;
    --st-muted: #657089;
    --st-line: #e2e9f4;
    --st-soft: #f5f8fd;
    color: var(--st-ink);
}

body.page-template-page-certifications .shadow-sm {
    border: 1px solid var(--st-line);
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
}

body.page-template-page-certifications .certifications-content {
    color: var(--st-muted);
    line-height: 1.9;
}

body.page-template-page-certifications .certifications-content h2 {
    color: var(--st-ink);
    font-size: var(--st-type-section, 1.75rem);
    margin: 1.5rem 0 1rem;
}

body.page-template-page-certifications .certifications_gallery {
    margin-top: 2.5rem;
    padding-top: 2.25rem;
    border-top: 1px solid var(--st-line);
}

body.page-template-page-certifications .cert-item-card {
    transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease;
    border-color: #e2e8f0;
}

body.page-template-page-certifications .cert-item-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(18, 46, 96, .1) !important;
}

body.page-template-page-certifications .cert-item-preview {
    background: #f8faff;
    border-bottom: 1px solid #edf2f7;
    position: relative;
    overflow: hidden;
}

body.page-template-page-certifications .cert-preview-overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .3s ease;
}

body.page-template-page-certifications .cert-item-preview:hover .cert-preview-overlay {
    opacity: 1;
}

body.page-template-page-certifications .trust-pillar-card {
    border-color: #e2e8f0;
    transition: transform .3s ease, box-shadow .3s ease;
}

body.page-template-page-certifications .trust-pillar-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(18, 46, 96, .08) !important;
}

body.page-template-page-certifications .certifications-sidebar-card,
body.page-template-page-certifications .cert-whatsapp-help-box {
    border-color: #e2e8f0;
}

.yacana-footer h3 {
    color: white !important;
}

/* Tour Destinations Bar (above Introduccion) */
.tour-destinations-bar {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
    background: #f0f7ff;
    font-size: 0.92rem;
    color: #334155;
    line-height: 1.4;
}

.tour-destinations-bar i {
    color: #0284c7;
    font-size: 1.05rem;
}

.tour-destinations-bar strong {
    color: #0f172a;
    font-weight: 700;
}
/* ==========================================================================
   INTREPID-STYLE MOBILE SINGLE TOUR STYLES
   ========================================================================== */
@media (max-width: 991.98px) {
    body.single-tour {
        background: #fbfbfb;
    }
    
    body.single-tour .page.single-tour {
        padding-top: 0;
    }

    body.single-tour .mobile_hea {
        display: none !important;
    }
}

.single-tour-mobile {
    background: #fbfbfb;
    color: #1f2937;
    font-size: 0.92rem;
    padding-bottom: 75px; /* space for sticky footer */
}

/* Breadcrumbs */
.single-tour-mobile .mobile-tour-breadcrumbs {
    background: #ffffff;
    border-bottom: 1px solid #e5e7eb;
    padding: 10px 0;
    font-size: 0.82rem;
    color: #6b7280;
}

.single-tour-mobile .mobile-tour-breadcrumbs .back-arrow {
    color: #111827;
    font-size: 1rem;
    text-decoration: none;
    margin-right: 8px;
}

.single-tour-mobile .mobile-tour-breadcrumbs .sep {
    margin: 0 8px;
    color: #d1d5db;
}

.single-tour-mobile .mobile-tour-breadcrumbs .trail a {
    color: #4b5563;
    text-decoration: none;
}

.single-tour-mobile .mobile-tour-breadcrumbs .trail a:hover {
    color: #d61a29;
}

/* Hero Carousel & Counter */
.single-tour-mobile .mobile-tour-hero {
    width: 100%;
    background: #111;
    overflow: hidden;
    position: relative;
}

.single-tour-mobile .mobile-tour-hero .mobile-tour-slide img {
    width: 100%;
    height: 270px;
    object-fit: cover;
    display: block;
}

.single-tour-mobile .mobile-photo-counter-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(17, 24, 39, 0.75);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
    z-index: 10;
    backdrop-filter: blur(6px);
}

/* Tour Header Block */
.single-tour-mobile .mobile-tour-heading {
    font-size: 1.65rem;
    font-weight: 800;
    color: #111827;
    line-height: 1.25;
    margin-bottom: 6px;
}

.single-tour-mobile .mobile-tour-rating-row {
    font-size: 0.95rem;
}

.single-tour-mobile .mobile-tour-rating-row .star-icon {
    color: #f59e0b;
}

.single-tour-mobile .mobile-tour-rating-row .rating-val {
    color: #111827;
}

.single-tour-mobile .mobile-tour-rating-row .reviews-link {
    font-size: 0.88rem;
    color: #4b5563;
}

.single-tour-mobile .mobile-tour-route-box {
    line-height: 1.45;
}

/* 2x3 Badges Specs Grid */
.single-tour-mobile .mobile-spec-badge {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 10px 12px;
    min-height: 64px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.single-tour-mobile .mobile-spec-badge .spec-label {
    font-size: 0.75rem;
    color: #6b7280;
    margin-bottom: 2px;
}

.single-tour-mobile .mobile-spec-badge .spec-value {
    font-size: 0.92rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.2;
}

/* Pricing Card Box */
.single-tour-mobile .pricing-card-box {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.single-tour-mobile .btn-brand-primary,
.single-tour-mobile .btn-intrepid-primary {
    background: #2f54a1;
    border: none;
    color: #ffffff !important;
    font-weight: 700;
    font-size: 1rem;
    border-radius: 8px;
    padding: 12px;
    transition: background 0.2s ease, transform 0.1s ease;
}

.single-tour-mobile .btn-brand-primary:hover,
.single-tour-mobile .btn-brand-primary:focus,
.single-tour-mobile .btn-intrepid-primary:hover,
.single-tour-mobile .btn-intrepid-primary:focus {
    background: #234282;
    color: #ffffff !important;
}

.single-tour-mobile .btn-brand-outline,
.single-tour-mobile .btn-intrepid-outline {
    background: #ffffff;
    border: 1.5px solid #2f54a1;
    color: #2f54a1 !important;
    font-weight: 700;
    font-size: 0.92rem;
    border-radius: 8px;
    padding: 10px;
    transition: background 0.2s ease, color 0.2s ease;
}

.single-tour-mobile .btn-brand-outline:hover,
.single-tour-mobile .btn-intrepid-outline:hover {
    background: #f0f4fc;
    color: #234282 !important;
}

/* Overview Collapsible */
.single-tour-mobile .mobile-collapsible-wrapper {
    position: relative;
}

.single-tour-mobile .mobile-collapsible-content {
    max-height: 130px;
    overflow: hidden;
    position: relative;
    transition: max-height 0.4s ease;
    font-size: 0.92rem;
    color: #4b5563;
    line-height: 1.6;
}

.single-tour-mobile .mobile-collapsible-content.expanded {
    max-height: 2500px;
}

.single-tour-mobile .mobile-collapsible-content:not(.expanded)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50px;
    background: linear-gradient(transparent, #fbfbfb);
    pointer-events: none;
}

.single-tour-mobile .btn-intrepid-readmore {
    background: none;
    border: none;
    padding: 6px 0;
    color: #2f54a1;
    font-weight: 700;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

/* Minimalist Tour Destinations Bar (above Introduccion) */
.tour-destinations-bar {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px 10px;
    padding: 0 0 16px 0;
    margin-bottom: 24px;
    border-bottom: 1px solid #eef2f6;
    font-size: 0.9rem;
    line-height: 1.5;
    background: transparent;
    border-radius: 0;
}

.tour-destinations-bar .dest-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #475569;
    flex-shrink: 0;
}

.tour-destinations-bar .dest-label i {
    color: #0284c7;
    font-size: 0.85rem;
}

.tour-destinations-bar .dest-text {
    color: #334155;
    font-weight: 400;
}

/* Section Headings */
.single-tour-mobile .mobile-section-heading {
    font-size: 1.35rem;
    font-weight: 800;
    color: #111827;
    margin-bottom: 14px;
}

/* Why You'll Love Box */
.single-tour-mobile .why-love-content-box {
    font-size: 0.92rem;
    color: #374151;
    line-height: 1.6;
}

.single-tour-mobile .why-love-content-box ul {
    padding-left: 20px;
    margin-bottom: 0;
}

.single-tour-mobile .why-love-content-box li {
    margin-bottom: 8px;
}

/* Brand Blue Banner CTA (Inline) */
.single-tour-mobile .mobile-brand-banner-cta,
.single-tour-mobile .mobile-red-banner-cta {
    background: linear-gradient(135deg, #2f54a1 0%, #1e3b78 100%);
    box-shadow: 0 4px 14px rgba(47, 84, 161, 0.25);
    cursor: pointer;
    transition: transform 0.15s ease;
}

.single-tour-mobile .mobile-brand-banner-cta:active,
.single-tour-mobile .mobile-red-banner-cta:active {
    transform: scale(0.98);
}

.single-tour-mobile .mobile-brand-banner-cta .banner-cta-icon,
.single-tour-mobile .mobile-red-banner-cta .banner-cta-icon {
    width: 38px;
    height: 38px;
    font-size: 1.1rem;
    color: #2f54a1;
}

/* Itinerary & Map */
.single-tour-mobile .map-badge-overlay {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: rgba(17, 24, 39, 0.75);
    color: #ffffff;
    font-size: 0.75rem;
    padding: 4px 10px;
    border-radius: 20px;
    backdrop-filter: blur(4px);
}

.single-tour-mobile .mobile-itinerary-accordions .accordion-item,
.single-tour-mobile .mobile-essential-accordions .accordion-item {
    border: 1px solid #e5e7eb;
    border-radius: 8px !important;
    background: #ffffff;
}

.single-tour-mobile .mobile-itinerary-accordions .accordion-button,
.single-tour-mobile .mobile-essential-accordions .accordion-button {
    font-size: 0.95rem;
    color: #111827;
    background: #ffffff;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.single-tour-mobile .mobile-itinerary-accordions .accordion-button:not(.collapsed),
.single-tour-mobile .mobile-essential-accordions .accordion-button:not(.collapsed) {
    background: #f0f4fc;
    color: #2f54a1;
}

/* Inclusions Card Details */
.single-tour-mobile .mobile-inclusions-summary-card,
.single-tour-mobile .mobile-included-activities-card,
.single-tour-mobile .mobile-optional-activities-card,
.single-tour-mobile .mobile-what-bring-card,
.single-tour-mobile .mobile-departure-item,
.single-tour-mobile .mobile-review-card,
.single-tour-mobile .mobile-rating-distribution-card {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
}

.single-tour-mobile .mobile-included-activities-card ul,
.single-tour-mobile .mobile-optional-activities-card ul,
.single-tour-mobile .mobile-what-bring-card ul {
    padding-left: 20px;
    margin-bottom: 0;
    font-size: 0.9rem;
    color: #4b5563;
}

.single-tour-mobile .mobile-included-activities-card li,
.single-tour-mobile .mobile-optional-activities-card li,
.single-tour-mobile .mobile-what-bring-card li {
    margin-bottom: 6px;
}

/* Sticky Bottom Footer Floating Bar */
.single-tour-mobile .mobile-sticky-footer-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1050;
    backdrop-filter: blur(12px);
    border-top: 1px solid #e5e7eb;
    padding: 6px 0;
}

.single-tour-mobile .mobile-sticky-footer-bar .sticky-footer-inner {
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.single-tour-mobile .mobile-sticky-footer-bar .btn-brand-primary {
    background: #2f54a1;
    border: none;
}

.single-tour-mobile .mobile-sticky-footer-bar .btn-brand-primary:hover {
    background: #234282;
}

/* ==========================================================================
   Luxury Travel Guide & Article Cards (.yacana-article-card)
   ========================================================================== */
.yacana-blog-section {
    background: #f8fafc;
}

.yacana-blog-grid {
    align-items: stretch;
}

/* Card Outer Container */
.yacana-article-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e8edf5;
    overflow: hidden;
    isolation: isolate;
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 20px rgba(15, 38, 82, 0.04);
}

/* 1. Hover Elevation & Ambient Glow */
.yacana-article-card:hover {
    transform: translateY(-8px);
    border-color: rgba(10, 77, 204, 0.28);
    box-shadow: 0 20px 40px -10px rgba(10, 77, 204, 0.18),
                0 6px 16px -4px rgba(0, 0, 0, 0.04);
}

/* 2. Image Wrapper & Cinematic Scaling */
.article-card__thumb-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #061941;
}

.article-card__img-link {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.article-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 38%;
    transform: scale(1);
    transition: transform 0.85s cubic-bezier(0.2, 0.8, 0.2, 1),
                filter 0.5s ease;
}

.yacana-article-card:hover .article-card__img {
    transform: scale(1.08);
    filter: brightness(0.96);
}

/* 3. Diagonal Shimmer / Light Beam Effect on Hover */
.article-card__shimmer {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        115deg,
        transparent 20%,
        rgba(255, 255, 255, 0.3) 45%,
        rgba(255, 255, 255, 0.55) 50%,
        rgba(255, 255, 255, 0.3) 55%,
        transparent 80%
    );
    transform: translateX(-150%) skewX(-20deg);
    transition: transform 0s;
    z-index: 2;
    opacity: 0;
}

.yacana-article-card:hover .article-card__shimmer {
    transform: translateX(150%) skewX(-20deg);
    transition: transform 0.95s cubic-bezier(0.2, 0.8, 0.2, 1);
    opacity: 1;
}

/* 4. Glassmorphism Category Pill */
.article-card__category {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 14px;
    background: rgba(6, 25, 65, 0.72);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 999px;
    color: #ffffff;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.article-card__category i {
    color: #93c5fd;
    font-size: 0.72rem;
}

.yacana-article-card:hover .article-card__category {
    background: #0a4dcc;
    border-color: #0a4dcc;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(10, 77, 204, 0.35);
}

/* 5. Card Body & Typography (Equalized Heights) */
.article-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 1.5rem 1.6rem;
}

.article-card__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0.75rem;
    color: #74829c;
    font-size: 0.78rem;
    font-weight: 500;
}

.article-card__meta i {
    color: #0a4dcc;
    margin-right: 3px;
}

.article-card__meta .meta-separator {
    color: #cbd5e1;
}

.article-card__title {
    margin: 0 0 0.75rem;
    font-size: 1.18rem;
    font-weight: 750;
    line-height: 1.35;
    letter-spacing: -0.015em;
    height: calc(1.18rem * 1.35 * 2);
    overflow: hidden;
}

.article-card__title a {
    color: #111d33;
    text-decoration: none;
    transition: color 0.25s ease;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.yacana-article-card:hover .article-card__title a {
    color: #0a4dcc;
}

.article-card__excerpt {
    margin: 0 0 1.25rem;
    color: #5a6882;
    font-size: 0.88rem;
    line-height: 1.6;
    height: calc(0.88rem * 1.6 * 3);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex-grow: 1;
}

/* 6. Card Footer & Magnetic Action Arrow */
.article-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 1.15rem;
    border-top: 1px solid #f0f4fa;
    margin-top: auto;
}

.article-card__read-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #0a4dcc;
    font-size: 0.85rem;
    font-weight: 750;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.article-card__read-btn .btn-arrow {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    background: #edf3ff;
    color: #0a4dcc;
    border-radius: 50%;
    font-size: 0.82rem;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.yacana-article-card:hover .article-card__read-btn {
    color: #073382;
}

.yacana-article-card:hover .article-card__read-btn .btn-arrow {
    background: #0a4dcc;
    color: #ffffff;
    transform: translateX(6px);
    box-shadow: 0 4px 12px rgba(10, 77, 204, 0.35);
}

/* 7. Pagination Styling */
.yacana-pagination-nav .pagination {
    gap: 6px;
}

.yacana-pagination-nav .page-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    color: #1b315c;
    background: #ffffff;
    border: 1px solid #dfe6f1;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.88rem;
    transition: all 0.25s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.yacana-pagination-nav .page-link:hover {
    color: #0a4dcc;
    background: #edf3ff;
    border-color: #bcd1ff;
    transform: translateY(-2px);
}

.yacana-pagination-nav .page-item.active .page-link {
    color: #ffffff;
    background: #0a4dcc;
    border-color: #0a4dcc;
    box-shadow: 0 4px 14px rgba(10, 77, 204, 0.35);
}

/* ==========================================================================
   Travel Guide Carousel Slider (#guide_carousel)
   ========================================================================== */
.cat_travel_guide {
    position: relative;
    overflow: hidden;
}

#guide_carousel {
    position: relative;
    padding-bottom: 2rem;
}

#guide_carousel .slick-list {
    overflow: visible;
    padding: 10px 0;
}

#guide_carousel .slick-track {
    display: flex !important;
    align-items: stretch !important;
}

#guide_carousel .slick-slide {
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
}

#guide_carousel .slick-slide > div {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

#guide_carousel .slide-guide {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 8px 12px;
}

#guide_carousel .slide-guide .yacana-article-card {
    height: 100% !important;
    min-height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}

#guide_carousel .slick-prev,
#guide_carousel .slick-next {
    position: absolute;
    top: 42%;
    z-index: 10;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #0a4dcc;
    display: grid !important;
    place-items: center;
    box-shadow: 0 6px 18px rgba(15, 38, 82, 0.12);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    transform: translateY(-50%);
}

#guide_carousel .slick-prev {
    left: -22px;
}

#guide_carousel .slick-next {
    right: -22px;
}

#guide_carousel .slick-prev:hover,
#guide_carousel .slick-next:hover {
    background: #0a4dcc;
    border-color: #0a4dcc;
    color: #ffffff;
    box-shadow: 0 8px 24px rgba(10, 77, 204, 0.35);
    transform: translateY(-50%) scale(1.08);
}

#guide_carousel .slick-dots {
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 1.5rem 0 0;
    position: static;
}

#guide_carousel .slick-dots li {
    margin: 0;
    width: auto;
    height: auto;
}

#guide_carousel .slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0;
    border-radius: 999px;
    background: #cbd5e1;
    border: none;
    text-indent: -9999px;
    cursor: pointer;
    transition: all 0.3s ease;
}

#guide_carousel .slick-dots li button:before {
    display: none;
}

#guide_carousel .slick-dots li.slick-active button {
    width: 28px;
    background: #0a4dcc;
    box-shadow: 0 2px 8px rgba(10, 77, 204, 0.35);
}

@media (max-width: 991px) {
    #guide_carousel .slick-prev { left: 0; }
    #guide_carousel .slick-next { right: 0; }
}

/* ==========================================================================
   Luxury Minimalist Reviews Component & Carousel (.yacana-review-card)
   ========================================================================== */
.cat_reviews {
    background: #ffffff;
    position: relative;
    overflow: hidden;
}

.yacana-reviews-carousel-wrapper {
    position: relative;
    width: 100%;
}

.yacana-reviews-carousel {
    position: relative;
    padding-bottom: 2rem;
}

.yacana-reviews-carousel .slick-list {
    overflow: hidden;
    padding: 12px 0;
}

.yacana-reviews-carousel .slick-track {
    display: flex !important;
    align-items: stretch !important;
}

.yacana-reviews-carousel .slick-slide {
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
}

.yacana-reviews-carousel .slick-slide > div {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.yacana-reviews-carousel .slide-review-item {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 8px 12px;
}

/* Review Card Container */
.yacana-review-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    background: #ffffff;
    border: 1px solid #e7ecf4;
    border-radius: 20px;
    padding: 1.6rem 1.65rem 1.4rem;
    box-shadow: 0 4px 18px rgba(15, 38, 82, 0.04);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.35s ease;
}

.yacana-review-card:hover {
    transform: translateY(-5px);
    border-color: #cbd8ec;
    box-shadow: 0 16px 36px -6px rgba(15, 38, 82, 0.1),
                0 4px 12px -2px rgba(0, 0, 0, 0.03);
}

/* Header */
.review-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 1rem;
}

.review-card__user {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.review-card__avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    flex-shrink: 0;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #0a4dcc, #2563eb);
    color: #ffffff;
    font-weight: 750;
    font-size: 0.88rem;
    letter-spacing: 0.04em;
    box-shadow: 0 3px 10px rgba(10, 77, 204, 0.2);
}

.review-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.review-card__user-info {
    min-width: 0;
}

.review-card__name {
    margin: 0;
    font-size: 0.96rem;
    font-weight: 750;
    color: #111d33;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.review-card__date {
    display: block;
    margin-top: 2px;
    font-size: 0.74rem;
    color: #8c97aa;
    font-weight: 500;
}

/* Platform Badges */
.review-card__source {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.02em;
    flex-shrink: 0;
}

.review-card__source.source-tripadvisor {
    color: #004f32;
    background: #e5f8f0;
    border: 1px solid #b7ecd6;
}

.review-card__source.source-tripadvisor i {
    color: #00aa6c;
    font-size: 0.82rem;
}

.review-card__source.source-google {
    color: #1a73e8;
    background: #e8f0fe;
    border: 1px solid #c2e0ff;
}

.review-card__source.source-google i {
    color: #ea4335;
    font-size: 0.78rem;
}

.review-card__source.source-facebook {
    color: #1877f2;
    background: #edf3fd;
    border: 1px solid #c7dcfa;
}

.review-card__source.source-trustpilot {
    color: #00b67a;
    background: #e6f9f2;
    border: 1px solid #b3edd7;
}

/* Rating */
.review-card__rating {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0.65rem;
}

.review-card__rating .stars-group {
    display: flex;
    gap: 3px;
    color: #f59e0b;
    font-size: 0.88rem;
}

.review-card__rating .star-empty {
    color: #e2e8f0;
}

.review-card__rating .rating-badge {
    background: #fffbeb;
    color: #b45309;
    font-size: 0.74rem;
    font-weight: 750;
    padding: 2px 7px;
    border-radius: 6px;
    border: 1px solid #fef3c7;
}

/* Headline */
.review-card__headline {
    margin: 0 0 0.5rem;
    font-size: 1.02rem;
    font-weight: 750;
    line-height: 1.35;
    color: #162238;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Review Text */
.review-card__text {
    margin: 0 0 1.2rem;
    font-size: 0.88rem;
    line-height: 1.62;
    color: #4b586e;
    height: calc(0.88rem * 1.62 * 4);
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex-grow: 1;
}

/* Footer */
.review-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-top: 1rem;
    border-top: 1px solid #f1f4f9;
    margin-top: auto;
    font-size: 0.78rem;
}

.review-card__tour-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #0a4dcc;
    font-weight: 700;
    text-decoration: none;
    background: #edf3ff;
    padding: 3px 9px;
    border-radius: 6px;
    max-width: 175px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: all 0.25s ease;
}

.review-card__tour-tag:hover {
    background: #dbe8ff;
    color: #073382;
}

.review-card__tour-tag i {
    font-size: 0.7rem;
}

.review-card__verified-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #15803d;
    font-weight: 650;
    font-size: 0.75rem;
}

.review-card__verified-tag i {
    font-size: 0.72rem;
}

.review-card__link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #64748b;
    font-weight: 650;
    text-decoration: none;
    font-size: 0.78rem;
    margin-left: auto;
    transition: color 0.2s ease;
}

.review-card__link:hover {
    color: #0a4dcc;
}

.review-card__link i {
    font-size: 0.7rem;
}

/* Slick Controls for Reviews Carousel */
.yacana-reviews-carousel .slick-prev,
.yacana-reviews-carousel .slick-next {
    position: absolute;
    top: 44%;
    z-index: 10;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #0a4dcc;
    display: grid !important;
    place-items: center;
    box-shadow: 0 6px 18px rgba(15, 38, 82, 0.12);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    transform: translateY(-50%);
}

.yacana-reviews-carousel .slick-prev {
    left: -22px;
}

.yacana-reviews-carousel .slick-next {
    right: -22px;
}

.yacana-reviews-carousel .slick-prev:hover,
.yacana-reviews-carousel .slick-next:hover {
    background: #0a4dcc;
    border-color: #0a4dcc;
    color: #ffffff;
    box-shadow: 0 8px 24px rgba(10, 77, 204, 0.35);
    transform: translateY(-50%) scale(1.08);
}

.yacana-reviews-carousel .slick-dots {
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 1.5rem 0 0;
    position: static;
}

.yacana-reviews-carousel .slick-dots li {
    margin: 0;
    width: auto;
    height: auto;
}

.yacana-reviews-carousel .slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0;
    border-radius: 999px;
    background: #cbd5e1;
    border: none;
    text-indent: -9999px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.yacana-reviews-carousel .slick-dots li button:before {
    display: none;
}

.yacana-reviews-carousel .slick-dots li.slick-active button {
    width: 28px;
    background: #0a4dcc;
    box-shadow: 0 2px 8px rgba(10, 77, 204, 0.35);
}

@media (max-width: 991px) {
    .yacana-reviews-carousel .slick-prev { left: 0; }
    .yacana-reviews-carousel .slick-next { right: 0; }
}

/* ==========================================================================
   Reviews List Page Template (.yacana-review-list-card & Stats Bar)
   ========================================================================== */
.reviews-stats-bar {
    border-bottom: 1px solid #e2e8f0;
}

.reviews-stats-bar .stats-score {
    font-size: 2.5rem;
    line-height: 1;
    letter-spacing: -0.03em;
}

.yacana-review-list-card {
    background: #ffffff;
    border: 1px solid #e8edf5;
    border-radius: 22px;
    padding: 2rem 2.2rem;
    box-shadow: 0 4px 20px rgba(15, 38, 82, 0.04);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.35s ease;
}

.yacana-review-list-card:hover {
    transform: translateY(-4px);
    border-color: #cbd8ec;
    box-shadow: 0 16px 36px -6px rgba(15, 38, 82, 0.09),
                0 4px 12px -2px rgba(0, 0, 0, 0.03);
}

.review-list-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 1.1rem;
}

.review-list-card__user {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.review-list-card__avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    flex-shrink: 0;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #0a4dcc, #2563eb);
    color: #ffffff;
    font-weight: 750;
    font-size: 0.92rem;
    letter-spacing: 0.04em;
    box-shadow: 0 4px 12px rgba(10, 77, 204, 0.22);
}

.review-list-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.review-list-card__name {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 750;
    color: #111d33;
    line-height: 1.25;
}

.review-list-card__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 3px;
    font-size: 0.78rem;
    color: #74829c;
}

.review-list-card__meta .meta-dot {
    color: #cbd5e1;
}

.review-list-card__badge-verified {
    color: #15803d;
    font-weight: 600;
}

.review-list-card__rating {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0.75rem;
}

.review-list-card__rating .stars-group {
    display: flex;
    gap: 3px;
    font-size: 0.95rem;
}

.review-list-card__headline {
    margin: 0 0 0.75rem;
    font-size: 1.15rem;
    font-weight: 750;
    color: #162238;
    line-height: 1.35;
}

.review-list-card__content {
    color: #374151;
    font-size: 0.94rem;
    line-height: 1.7;
    margin-bottom: 1.25rem;
}

.review-list-card__content p:last-child {
    margin-bottom: 0;
}

.review-list-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 1.15rem;
    border-top: 1px solid #f1f4f9;
}

@media (max-width: 767px) {
    .yacana-review-list-card {
        padding: 1.4rem 1.3rem;
        border-radius: 18px;
    }
    .review-list-card__header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}