/* =====================================================
   HEADER PERSONALIZADO
   Prefijo "tour-" para evitar conflictos con style.css
===================================================== */
:root {
    --tour-orange: #df5b0c;
    --tour-orange-light: #f06416;
    --tour-black: #050505;
    --tour-green: #24d366;
    --tour-blue: #148fca;
    --tour-nav-height: 60px;
    --hero-accent: #e85d04;
}

#tour-site-header,
#tour-site-header * {
    box-sizing: border-box;
}

#tour-site-header {
    position: relative;
    z-index: 1000;
    width: 100%;
    font-family: inherit;
}

#tour-site-header a {
    text-decoration: none;
}

body.tour-menu-lock {
    overflow: hidden;
}

.tour-promo-bar {
    min-height: 30px;
    display: flex;
    align-items: center;
    background: #343434;
    color: #ffffff;
    text-align: center;
    padding: 5px 16px;
}

.tour-promo-bar p {
    width: 100%;
    margin: 0;
    font-size: 17px;
    line-height: 1.45;
    font-weight: 400;
}

.tour-promo-bar a {
    color: var(--tour-orange-light);
    font-weight: 700;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

.tour-header-main {
    background: #ffffff;
}

.tour-header-grid {
    display: grid;
    grid-template-columns: minmax(220px, 300px) 1fr;
    min-height: 50px;
}


.tour-logo-area {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 10px 26px 10px 15px;
}

.tour-logo-area img {
    display: block;
    width: 100%;
    max-width: 300px;
    max-height: 120px;
    object-fit: contain;
}

.tour-header-content {
    min-width: 0;
    display: grid;
    grid-template-rows: 44px 60px;
}

.tour-utility-row,
.tour-actions-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-left: 20px;
    padding-right: 15px;
}

.tour-utility-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    color: #808080;
    font-size: 13px;
    line-height: 1.2;
}

.tour-utility-links a {
    color: #858585;
    transition: color 0.2s ease;
}

.tour-utility-links a:hover {
    color: var(--tour-orange);
}

.tour-toll-free {
    color: #888888;
}

.tour-toll-free strong {
    color: #111111;
}

.tour-separator {
    width: 1px;
    height: 16px;
    margin: 0 13px;
    background: #222222;
    opacity: 0.75;
}

.tour-language {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 14px;
    white-space: nowrap;
}

.tour-flag {
    font-size: 20px;
    line-height: 1;
}

.tour-actions-row {
    gap: 20px;
}

.tour-contact-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #171717;
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
}

.tour-contact-item i {
    color: var(--tour-orange);
    font-size: 27px;
    line-height: 1;
}

.tour-contact-item.tour-phone:hover {
    color: var(--tour-orange);
}

.tour-whatsapp-btn,
.tour-enquire-btn {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    padding: 0 18px;
    font-weight: 700;
    white-space: nowrap;
    transition: transform 0.2s ease, filter 0.2s ease;
}

.tour-whatsapp-btn {
    gap: 8px;
    background: var(--tour-green);
    color: #ffffff !important;
    font-size: 16px;
}

.tour-whatsapp-btn i {
    font-size: 28px;
}

.tour-enquire-btn {
    min-width: 150px;
    background: var(--tour-orange);
    color: #ffffff !important;
    font-size: 15px;
}

.tour-whatsapp-btn:hover,
.tour-enquire-btn:hover {
    transform: translateY(-1px);
    filter: brightness(0.95);
}

.tour-cart-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 46px;
    color: var(--tour-orange);
}

.tour-cart-link i {
    font-size: 32px;
    line-height: 1;
}

.tour-cart-count {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #F00;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    border: 2px solid #ffffff;
}

/* Contenedor permanente del menú.
   Conserva exactamente su espacio cuando la barra pasa a position: fixed,
   evitando el salto visual durante el scroll. */
.tour-nav-slot {
    position: relative;
    width: 100%;
    height: var(--tour-nav-height);
    min-height: var(--tour-nav-height);
}

/* Menú negro flotante */
.tour-main-nav {
    position: relative;
    z-index: 9998;
    min-height: var(--tour-nav-height);
    display: flex;
    align-items: stretch;
    justify-content: center;
    background: var(--tour-black);
    overflow: visible;
}

.tour-main-nav.is-sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9998;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.24);
}

.tour-nav-mobile-head,
.tour-mobile-overlay,
.tour-drawer-head,
.tour-mobile-contact {
    display: none;
}

.tour-mobile-drawer {
    width: 100%;
    display: flex;
    justify-content: center;
}

.tour-menu {
    width: 100%;
    min-height: var(--tour-nav-height);
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: clamp(20px, 2.2vw, 48px);
    margin: 0;
    padding: 0 32px;
    list-style: none;
}

.tour-menu-item {
    position: relative;
    display: flex;
    align-items: stretch;
}

.tour-menu-item.tour-mega-parent {
    position: static;
}

.tour-menu-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #ffffff !important;
    font-size: clamp(13px, 0.95vw, 17px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    white-space: nowrap;
    transition: color 0.2s ease;
}

.tour-menu-link i {
    font-size: 11px;
    transition: transform 0.2s ease;
}

.tour-menu-item:hover > .tour-menu-link,
.tour-menu-item:focus-within > .tour-menu-link {
    color: var(--tour-orange-light) !important;
}

.tour-menu-item:hover > .tour-menu-link i,
.tour-menu-item:focus-within > .tour-menu-link i {
    transform: rotate(180deg);
}

/* Submenú convencional */
.tour-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 10000;
    min-width: 245px;
    margin: 0;
    padding: 10px 0;
    list-style: none;
    background: #ffffff;
    border-top: 3px solid var(--tour-orange);
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.20);
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity 0.22s ease, visibility 0.22s ease, transform 0.22s ease;
}

.tour-submenu-right {
    right: 0;
    left: auto;
}

.tour-submenu > li > a {
    display: block;
    padding: 11px 19px;
    color: #252525 !important;
    font-size: 14px;
    font-weight: 500;
    text-transform: none;
    transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
}

.tour-submenu > li > a:hover {
    padding-left: 24px;
    background: #fff4ed;
    color: var(--tour-orange) !important;
}

.tour-menu-item:hover > .tour-submenu,
.tour-menu-item:focus-within > .tour-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Mega menú como la referencia: panel ancho, blanco y en columnas */
.tour-mega-menu {
    left: 50%;
    right: auto;
    width: min(96vw, 1640px);
    min-width: 0;
    padding: 40px 48px 34px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 54px;
    border-top: 3px solid var(--tour-orange);
    /*border-radius: 0 0 12px 12px;*/
    transform: translate(-50%, 12px);
}

.tour-menu-item:hover > .tour-mega-menu,
.tour-menu-item:focus-within > .tour-mega-menu {
    transform: translate(-50%, 0);
}

.tour-mega-column {
    min-width: 0;
}

.tour-mega-title {
    margin: 0 0 24px;
    color: #072f25;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 800;
    text-transform: none;
}

.tour-mega-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tour-mega-links li + li {
    margin-top: 19px;
}

.tour-mega-links a {
    display: inline-flex;
    align-items: center;
    padding: 0 !important;
    color: #4d5d58 !important;
    font-size: 15px !important;
    line-height: 1.35;
    font-weight: 500 !important;
    text-transform: none !important;
    background: transparent !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
}

.tour-mega-links a:hover {
    color: var(--tour-orange) !important;
    transform: translateX(5px);
}

/* Ajustes para laptops */
@media (max-width: 1450px) {
    .tour-header-grid {
        grid-template-columns: 235px 1fr;
    }

    .tour-logo-area {
        padding-right: 18px;
    }

    .tour-actions-row {
        gap: 15px;
    }

    .tour-contact-item {
        font-size: 14px;
    }

    .tour-whatsapp-btn,
    .tour-enquire-btn {
        padding-left: 15px;
        padding-right: 15px;
    }

    .tour-enquire-btn {
        min-width: 135px;
    }

    .tour-menu {
        gap: 22px;
        padding-left: 18px;
        padding-right: 18px;
    }

    .tour-mega-menu {
        width: calc(100vw - 48px);
        padding: 34px 38px 30px;
    }

    .tour-mega-title {
        font-size: 22px;
    }

    .tour-mega-links a {
        font-size: 17px !important;
    }
}

@media (max-width: 1199.98px) {
    .tour-utility-links {
        font-size: 12px;
    }

    .tour-separator {
        margin-left: 9px;
        margin-right: 9px;
    }

    .tour-contact-item:first-child {
        display: none;
    }

    .tour-actions-row {
        gap: 14px;
    }

    .tour-menu {
        gap: 15px;
    }

    .tour-menu-link {
        font-size: 12px;
        letter-spacing: 0.25px;
    }
}

/* =====================================================
   MENÚ MÓVIL: panel lateral que entra de izquierda a derecha
===================================================== */
@media (max-width: 991.98px) {
    :root {
        --tour-nav-height: 74px;
    }

    .tour-promo-bar {
        min-height: auto;
        padding: 8px 12px;
    }

    .tour-promo-bar p {
        font-size: 13px;
    }

    .tour-header-main {
        display: none;
    }

    .tour-main-nav {
        min-height: var(--tour-nav-height);
        display: block;
        background: #ffffff;
        box-shadow: 0 3px 16px rgba(0, 0, 0, 0.12);
    }

    .tour-nav-mobile-head {
        min-height: var(--tour-nav-height);
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 9px 16px;
        background: #ffffff;
    }

    .tour-mobile-logo img {
        display: block;
        width: auto;
        max-width: 200px;
        height: 60px;
        object-fit: contain;
    }

    .tour-nav-toggle,
    .tour-drawer-close {
        width: 48px;
        height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 8px;
        background: var(--tour-orange);
        color: #ffffff;
        cursor: pointer;
    }

    .tour-nav-toggle i,
    .tour-drawer-close i {
        font-size: 29px;
        line-height: 1;
    }

    .tour-mobile-overlay {
        position: fixed;
        inset: 0;
        z-index: 10000;
        display: block;
        background: rgba(0, 0, 0, 0.62);
        opacity: 0;
        visibility: hidden;
        backdrop-filter: blur(2px);
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }

    .tour-mobile-overlay.is-open {
        opacity: 1;
        visibility: visible;
    }

    .tour-mobile-drawer {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 10001;
        width: min(88vw, 390px);
        height: 100vh;
        height: 100dvh;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        background: var(--tour-black);
        box-shadow: 18px 0 45px rgba(0, 0, 0, 0.30);
        transform: translateX(-105%);
        visibility: hidden;
        transition: transform 0.34s cubic-bezier(.22,.61,.36,1), visibility 0.34s ease;
        overflow: hidden;
    }

    .tour-mobile-drawer.is-open {
        transform: translateX(0);
        visibility: visible;
    }

    .tour-drawer-head {
        min-height: 78px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 12px 16px;
        background: #ffffff;
        border-bottom: 1px solid #ececec;
    }

    .tour-drawer-logo img {
        display: block;
        width: auto;
        max-width: 155px;
        height: 52px;
        object-fit: contain;
    }

    .tour-drawer-close {
        width: 43px;
        height: 43px;
    }

    .tour-menu {
        width: 100%;
        min-height: 0;
        flex: 1 1 auto;
        display: flex;
        align-items: initial;
        justify-content: initial;
        flex-direction: column;
        gap: 0;
        margin: 0;
        padding: 7px 0 18px;
        overflow-y: auto;
        overscroll-behavior: contain;
        background: var(--tour-black);
    }

    .tour-menu-item,
    .tour-menu-item.tour-mega-parent {
        position: relative;
        display: block;
        width: 100%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.10);
    }

    .tour-menu-link {
        width: 100%;
        min-height: 55px;
        justify-content: space-between;
        gap: 12px;
        padding: 12px 20px;
        font-size: 13px;
        text-align: left;
    }

    .tour-menu-item:hover > .tour-menu-link i,
    .tour-menu-item:focus-within > .tour-menu-link i {
        transform: none;
    }

    .tour-menu-item.is-open > .tour-menu-link {
        color: var(--tour-orange-light) !important;
        background: rgba(255, 255, 255, 0.04);
    }

    .tour-menu-item.is-open > .tour-menu-link i {
        transform: rotate(180deg);
    }

    .tour-submenu,
    .tour-submenu-right,
    .tour-mega-menu {
        position: static;
        display: none;
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: #151515;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none !important;
        transition: none;
    }

    .tour-menu-item.is-open > .tour-submenu {
        display: block;
    }

    .tour-submenu > li > a {
        padding: 12px 30px;
        color: #eeeeee !important;
        border-top: 1px solid rgba(255, 255, 255, 0.06);
    }

    .tour-submenu > li > a:hover {
        padding-left: 35px;
        background: #222222;
    }

    .tour-mega-menu {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .tour-mega-column {
        padding: 17px 25px 15px;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    .tour-mega-title {
        margin: 0 0 11px;
        color: #ffffff;
        font-size: 16px;
    }

    .tour-mega-links li + li {
        margin-top: 0;
    }

    .tour-mega-links a {
        width: 100%;
        display: block;
        padding: 9px 0 !important;
        color: #d9dfdc !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        border: 0;
    }

    .tour-mega-links a:hover {
        color: var(--tour-orange-light) !important;
        transform: translateX(4px);
    }

    .tour-mobile-contact {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 9px;
        padding: 13px 14px 16px;
        background: #0d0d0d;
        border-top: 1px solid rgba(255, 255, 255, 0.10);
    }

    .tour-mobile-contact a {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        border-radius: 7px;
        color: #ffffff !important;
        font-size: 13px;
        font-weight: 700;
    }

    .tour-mobile-contact .tour-mobile-call {
        background: var(--tour-orange);
    }

    .tour-mobile-contact .tour-mobile-whatsapp {
        background: var(--tour-green);
    }
}

@media (prefers-reduced-motion: reduce) {
    .tour-main-nav.is-sticky,
    .tour-mobile-drawer,
    .tour-mobile-overlay,
    .tour-submenu {
        animation: none;
        transition: none;
    }
}















/* =========================
   INFORMACIÓN EN ESQUINAS
========================= */

.hero-corner-information {
    position: absolute;
    right: 0;
    bottom: 28px;
    left: 0;
    z-index: 8;
    padding-right: clamp(20px, 4vw, 72px);
    padding-left: clamp(20px, 4vw, 72px);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    pointer-events: none;
}

.hero-corner-card {
    min-height: 76px;
    padding: 14px 18px;
    /*border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 12px;
    background:
        linear-gradient(
            135deg,
            rgba(8, 12, 11, 0.72),
            rgba(8, 12, 11, 0.42)
        );
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);*/
    display: flex;
    align-items: center;
    gap: 13px;
    color: #ffffff;
    pointer-events: auto;
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

a.hero-corner-card {
    text-decoration: none;
}

.hero-corner-card:hover {
    /*color: #ffffff;
    transform: translateY(-3px);
    border-color: rgba(255, 255, 255, 0.4);
    background-color: rgba(8, 12, 11, 0.78);*/
}

.hero-corner-icon {
    width: 46px;
    min-width: 46px;
    height: 46px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-corner-icon img {
    display: block;
    width: 31px;
    height: 31px;
    object-fit: contain;
}

.hero-phone-card .hero-corner-icon img {
    width: 34px;
    height: 34px;
}

.hero-corner-content {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
}

.hero-corner-content > span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
}

.hero-corner-content > a {
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.hero-corner-content > a:hover {
    color: var(--hero-accent);
}

/* =========================
   TRIPADVISOR
========================= */

.hero-tripadvisor-name {
    color: #ffffff;
    font-size: 17px;
    font-weight: 700;
    line-height: 0.5;
}

.hero-tripadvisor-rating {
    display: flex;
    align-items: center;
    gap: 9px;
}

.hero-tripadvisor-rating ul {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 3px;
    list-style: none;
}

.hero-tripadvisor-rating ul li {
    line-height: 1;
}

.hero-tripadvisor-rating ul li i {
    color: #34e0a1;
    font-size: 13px;
}

.hero-tripadvisor-rating > span {
    color: rgba(255, 255, 255, 0.82);
    font-size: 12px;
    font-weight: 600;
}

/* =========================
   FLECHAS DEL SLIDER
========================= */

/*
 * Las flechas quedan centradas en la parte inferior,
 * entre el teléfono y Tripadvisor.
 */
.home2-banner-area > .slider-btn-grp {
    position: absolute;
    right: auto;
    bottom: 39px;
    left: 50%;
    z-index: 9;
    transform: translateX(-50%);
}

/* =========================
   TABLET
========================= */

@media (max-width: 991px) {
    .home2-banner-area .home2-banner-content {
        padding-bottom: 150px;
    }

    .hero-corner-information {
        bottom: 20px;
        padding-right: 24px;
        padding-left: 24px;
    }

    .hero-corner-card {
        min-height: 70px;
        padding: 12px 14px;
    }

    .home2-banner-area > .slider-btn-grp {
        bottom: 105px;
    }

    .hero-phone-card{
        display: none;
    }
}

/* =========================
   MÓVIL
========================= */

@media (max-width: 767px) {
    .home2-banner-area .home2-banner-content {
        padding-bottom: 175px;
    }

    .hero-banner-actions {
        gap: 10px;
        margin-top: 24px;
    }

    .hero-action-btn {
        min-height: 50px;
        padding: 0 18px;
        font-size: 13px;
    }

    .hero-corner-information {
        right: 14px;
        bottom: 16px;
        left: 14px;
        padding: 0;
        gap: 10px;
    }

    .hero-corner-card {
        width: calc(50% - 5px);
        max-width: none;
        min-height: 64px;
        padding: 10px;
        gap: 9px;
        border-radius: 10px;
    }

    .hero-corner-icon {
        width: 38px;
        min-width: 38px;
        height: 38px;
    }

    .hero-phone-card{
        display: none;
    }

    .hero-corner-icon img,
    .hero-phone-card .hero-corner-icon img {
        width: 27px;
        height: 27px;
    }

    .hero-tripadvisor-card{
        /*display: none;*/
    }

    .hero-corner-content > span {
        /*display: none;*/
    }

    .hero-corner-content > a,
    .hero-tripadvisor-name {
        font-size: 12px;
    }

    .hero-tripadvisor-rating {
        gap: 5px;
    }

    .hero-tripadvisor-rating ul {
        gap: 1px;
    }

    .hero-tripadvisor-rating ul li i {
        font-size: 7px;
    }

    .hero-tripadvisor-rating > span {
        font-size: 10px;
    }

    .home2-banner-area > .slider-btn-grp {
        bottom: 92px;
    }
}

/* Teléfonos muy pequeños */
@media (max-width: 420px) {
    .hero-banner-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
        max-width: 230px;
    }

    .hero-action-btn {
        width: 100%;
    }

    .hero-phone-card{
        display: none;
    }

    .hero-phone-card .hero-corner-content > a {
        font-size: 11px;
    }

    .hero-tripadvisor-rating > span {
        display: none;
    }

    .hero-tripadvisor-card{
        display: none;
    }
}





/* =========================================================
   TRIPADVISOR + TRAVELERS' CHOICE 2025
========================================================= */

.hero-tripadvisor-card {
    min-width: 340px;
    min-height: 88px;
    padding: 11px 16px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
}

/* Bloque original: icono, nombre y calificación */
.hero-tripadvisor-review {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 13px;
    flex: 1 1 auto;
}

/* Línea vertical */
.hero-tripadvisor-separator {
    width: 1px;
    min-width: 1px;
    height: 62px;
    display: block;
    flex: 0 0 1px;
    background: #FFF;

    /*background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0),
        rgba(255, 255, 255, 0.65) 18%,
        rgba(255, 255, 255, 0.65) 82%,
        rgba(255, 255, 255, 0)
    );*/
}

/* Contenedor del nuevo distintivo */
.hero-tripadvisor-award {
    width: 68px;
    min-width: 68px;
    height: 68px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 68px;
}

/*
 * Se usa un selector específico para evitar que la regla
 * general .hero-corner-icon img limite su tamaño.
 */
.hero-tripadvisor-award img {
    display: block;
    width: 68px !important;
    max-width: 68px !important;
    height: 68px !important;
    object-fit: contain;
    opacity: 0.96;

    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}

.hero-tripadvisor-card:hover .hero-tripadvisor-award img {
    opacity: 1;
    transform: scale(1.04);
}


/* =========================================================
   INJA EXPEDITIONS — VIDEO HERO PROFESIONAL
   Diseño centrado, similar al banner original de la plantilla.
========================================================= */
.inja-video-banner {
    --inja-hero-orange: #ff5a00;
    --inja-hero-green: #61b43b;
    position: relative;
    width: 100%;
    min-height: 640px;
    height: clamp(640px, calc(100svh - 218px), 860px);
    overflow: hidden;
    isolation: isolate;
    background: #07100d;
}

.inja-video-banner .inja-banner-media,
.inja-video-banner .inja-banner-video,
.inja-video-banner .inja-mobile-banner-image,
.inja-video-banner .inja-banner-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.inja-video-banner .inja-banner-media {
    z-index: 0;
    overflow: hidden;
    background: #07100d;
}

.inja-video-banner .inja-banner-video {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
    object-position: center center;
    transform: scale(1.012);
}

.inja-video-banner .inja-mobile-banner-image {
    display: none;
    background-image: url("../img/salkantay.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

/* Contraste uniforme: mantiene visible el video y garantiza texto blanco legible. */
.inja-video-banner .inja-banner-overlay {
    z-index: 1;
    background:
        linear-gradient(
            180deg,
            rgba(4, 8, 7, 0.30) 0%,
            rgba(4, 8, 7, 0.27) 38%,
            rgba(4, 8, 7, 0.42) 68%,
            rgba(4, 8, 7, 0.72) 100%
        ),
        radial-gradient(
            circle at 50% 47%,
            rgba(0, 0, 0, 0.02) 0%,
            rgba(0, 0, 0, 0.12) 48%,
            rgba(0, 0, 0, 0.28) 100%
        );
    pointer-events: none;
}

/* El contenido ocupa toda el área y se centra como en el slider original. */
.inja-video-banner .home3-banner-content-wrap {
    position: absolute;
    inset: 0;
    z-index: 4;
    width: 100%;
    height: 100%;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 38px 0 115px;
}

.inja-video-banner .home3-banner-content-wrap > .container,
.inja-video-banner .home3-banner-content-wrap .row,
.inja-video-banner .home3-banner-content-wrap .col-lg-12 {
    width: 100%;
}

.inja-video-banner .home3-banner-content {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 26px;
    text-align: center;
}

/* La referencia no necesita una etiqueta superior dentro del hero. */
.inja-video-banner .inja-banner-eyebrow {
    display: none;
}

.inja-video-banner .home3-banner-content h1 {
    max-width: 1300px;
    margin: 0 auto 22px !important;
    color: #ffffff !important;
    font-size: clamp(52px, 5.25vw, 88px) !important;
    font-weight: 800 !important;
    line-height: 1.04 !important;
    letter-spacing: -2.2px;
    text-align: center;
    text-shadow: 0 5px 28px rgba(0, 0, 0, 0.42);
}

.inja-video-banner .home3-banner-content h1 span {
    display: inline;
    color: var(--inja-hero-green) !important;
    font: inherit;
}

.inja-video-banner .home3-banner-content .subtitle {
    display: block;
    max-width: 980px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.96) !important;
    font-size: clamp(17px, 1.35vw, 22px) !important;
    font-weight: 500;
    line-height: 1.55 !important;
    text-align: center;
    text-shadow: 0 3px 18px rgba(0, 0, 0, 0.52);
}

.inja-video-banner .banner-content-bottom {
    width: 100%;
    margin-top: 34px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap;
    gap: 24px !important;
}

/* Botón principal naranja, con proporción similar al ejemplo. */
.inja-video-banner .primary-btn4 {
    min-width: 282px;
    min-height: 64px;
    padding: 0 30px !important;
    border: 2px solid var(--inja-hero-orange) !important;
    border-radius: 5px !important;
    background: var(--inja-hero-orange) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
}

.inja-video-banner .primary-btn4::after,
.inja-video-banner .primary-btn4::before {
    display: none !important;
}

.inja-video-banner .primary-btn4 span {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1;
}

.inja-video-banner .primary-btn4 i {
    margin-left: 9px;
    font-size: 17px;
}

.inja-video-banner .primary-btn4:hover {
    background: #e95000 !important;
    border-color: #e95000 !important;
    transform: translateY(-2px);
}

/* Acceso al video completo con apariencia limpia y translúcida. */
.inja-video-banner .video-area {
    min-height: 64px;
    padding: 0 18px 0 4px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 13px;
    color: #ffffff !important;
    text-decoration: none;
}

.inja-video-banner .video-area .icon {
    position: relative;
    width: 62px;
    min-width: 62px;
    height: 62px;
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 50%;
    background: rgba(13, 23, 20, 0.26);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.25s ease, transform 0.25s ease;
}

.inja-video-banner .video-area .video-circle {
    display: none;
}

.inja-video-banner .video-area .icon > i {
    position: static !important;
    transform: none !important;
    margin-left: 3px;
    color: #ffffff !important;
    font-size: 24px !important;
    line-height: 1;
}

.inja-video-banner .video-area h6 {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2;
    text-shadow: 0 3px 18px rgba(0, 0, 0, 0.48);
}

.inja-video-banner .video-area:hover .icon {
    background: var(--inja-hero-orange);
    border-color: var(--inja-hero-orange);
    transform: scale(1.04);
}

/* Tripadvisor se conserva en la esquina inferior izquierda. */
.inja-video-banner .hero-corner-information {
    position: absolute;
    z-index: 6;
    right: auto;
    bottom: 40px;
    left: clamp(24px, 5vw, 92px);
    width: auto;
    padding: 0;
    display: block;
    pointer-events: none;
}

.inja-video-banner .hero-tripadvisor-card {
    width: auto;
    min-width: 0;
    min-height: 76px;
    padding: 5px 0;
    gap: 15px;
    pointer-events: auto;
}

.inja-video-banner .hero-phone-card {
    display: none !important;
}

.inja-video-banner .hero-tripadvisor-award,
.inja-video-banner .hero-tripadvisor-award img {
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    height: 58px !important;
}

.inja-video-banner .hero-tripadvisor-separator {
    height: 56px;
    background: rgba(255, 255, 255, 0.86);
}

.inja-video-banner .hero-corner-icon {
    width: 42px;
    min-width: 42px;
    height: 42px;
}

.inja-video-banner .hero-corner-icon img {
    width: 28px;
    height: 28px;
}

.inja-video-banner .hero-tripadvisor-name {
    color: #ffffff !important;
    font-size: 16px;
    line-height: 1.1;
}

.inja-video-banner .hero-tripadvisor-rating ul li i {
    font-size: 12px;
}



/* Prototype links remain visibly interactive while pointing to #0. */
a[href="#0"] {
    cursor: pointer !important;
}

@media (max-width: 1199.98px) {
    .inja-video-banner {
        height: clamp(620px, calc(100svh - 205px), 790px);
    }

    .inja-video-banner .home3-banner-content h1 {
        max-width: 1080px;
        font-size: clamp(48px, 5.5vw, 72px) !important;
    }
}

@media (max-width: 991.98px) {
    .inja-video-banner {
        min-height: 690px;
        height: calc(100svh - 74px);
        max-height: 820px;
    }

    .inja-video-banner .inja-banner-video {
        display: none;
    }

    .inja-video-banner .inja-mobile-banner-image {
        display: block;
        background-position: 60% center;
    }

    .inja-video-banner .inja-banner-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(4, 8, 7, 0.30) 0%,
                rgba(4, 8, 7, 0.36) 48%,
                rgba(4, 8, 7, 0.82) 100%
            ),
            linear-gradient(
                90deg,
                rgba(4, 8, 7, 0.28) 0%,
                rgba(4, 8, 7, 0.10) 50%,
                rgba(4, 8, 7, 0.26) 100%
            );
    }

    .inja-video-banner .home3-banner-content-wrap {
        padding: 38px 0 120px;
    }

    .inja-video-banner .home3-banner-content h1 {
        max-width: 820px;
        font-size: clamp(44px, 7vw, 64px) !important;
        letter-spacing: -1.5px;
    }

    .inja-video-banner .home3-banner-content .subtitle {
        max-width: 720px;
        font-size: 18px !important;
    }

    
}

@media (max-width: 767.98px) {
    .inja-video-banner {
        min-height: 650px;
        height: calc(100svh - 74px);
        max-height: 760px;
    }

    .inja-video-banner .inja-mobile-banner-image {
        background-position: 64% center;
    }

    .inja-video-banner .home3-banner-content-wrap {
        align-items: center;
        padding: 32px 0 88px;
    }

    .inja-video-banner .home3-banner-content {
        padding: 0 18px;
    }

    .inja-video-banner .home3-banner-content h1 {
        margin-bottom: 17px !important;
        font-size: clamp(36px, 10.5vw, 50px) !important;
        line-height: 1.07 !important;
        letter-spacing: -1px;
    }

    .inja-video-banner .home3-banner-content .subtitle {
        max-width: 570px;
        font-size: 16px !important;
        line-height: 1.5 !important;
    }

    .inja-video-banner .banner-content-bottom {
        margin-top: 27px !important;
        gap: 14px !important;
    }

    .inja-video-banner .primary-btn4 {
        min-width: 235px;
        min-height: 56px;
        padding: 0 22px !important;
    }

    .inja-video-banner .primary-btn4 span,
    .inja-video-banner .video-area h6 {
        font-size: 16px !important;
    }

    .inja-video-banner .video-area {
        min-height: 56px;
        padding-right: 8px;
    }

    .inja-video-banner .video-area .icon {
        width: 54px;
        min-width: 54px;
        height: 54px;
    }

    .inja-video-banner .hero-corner-information {
        bottom: 14px;
        left: 18px;
    }

    .inja-video-banner .hero-tripadvisor-card {
        transform: scale(0.88);
        transform-origin: left bottom;
    }

    
}

@media (max-width: 575.98px) {
    .inja-video-banner {
        min-height: 630px;
        max-height: 720px;
    }

    .inja-video-banner .home3-banner-content-wrap {
        padding-bottom: 74px;
    }

    .inja-video-banner .banner-content-bottom {
        flex-direction: column;
    }

    .inja-video-banner .primary-btn4 {
        width: min(100%, 280px);
    }

    .inja-video-banner .video-area {
        min-width: 210px;
    }

    .inja-video-banner .hero-corner-information {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .inja-video-banner .inja-banner-video {
        display: none;
    }

    .inja-video-banner .inja-mobile-banner-image {
        display: block;
    }

    
}



/* =========================
   BOTONES CENTRALES
========================= */

.hero-banner-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.hero-action-btn {
    min-height: 54px;
    padding: 0 27px;
    border: 1px solid transparent;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.hero-action-btn i {
    font-size: 17px;
    transition: transform 0.25s ease;
}

.hero-action-btn:hover {
    transform: translateY(-2px);
}

.hero-action-btn:hover i {
    transform: translate(2px, -2px);
}

.hero-action-btn-primary {
    color: #ffffff;
    background-color: var(--hero-accent);
    border-color: var(--hero-accent);
    box-shadow: 0 12px 28px rgba(232, 93, 4, 0.3);
}

.hero-action-btn-primary:hover {
    color: #ffffff;
    background-color: #d95200;
    border-color: #d95200;
}

.hero-action-btn-secondary {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.hero-action-btn-secondary:hover {
    color: #111111;
    background-color: #ffffff;
    border-color: #ffffff;
}


/* =========================================================
   FOOTER ANDINO CON MACHU PICCHU
========================================================= */

.footer-section.style-3.mountain-footer {
    --footer-background: #041612;
    --footer-accent: #e85d04;

    position: relative;
    z-index: 3;
    isolation: isolate;
    overflow: visible;

    /*
     * Este margen crea el espacio donde las montañas
     * sobresalen por encima del footer.
     */
    margin-top: clamp(150px, 14vw, 250px);

    /*
     * Se reserva espacio para que el contenido no quede
     * encima de las zonas más claras de la imagen.
     */
    padding: clamp(120px, 14vw, 80px) 0 0 !important;

    background:
        radial-gradient(
            circle at 50% 5%,
            rgba(24, 74, 56, 0.98) 0%,
            rgba(7, 34, 26, 0.99) 43%,
            rgba(3, 16, 13, 1) 100%
        ) !important;

    color: rgba(255, 255, 255, 0.78);
}

/* =========================================================
   IMAGEN PANORÁMICA SOBRESALIENTE
========================================================= */

.footer-section.style-3.mountain-footer::before {
    content: "";

    position: absolute;
    z-index: 0;

    top: clamp(-180px, -16vw, -160px);
    right: 0;
    left: 0;

    width: 100%;
    height: clamp(430px, 45.84vw, 760px);

    /*
     * Como este CSS está dentro de assets/css/style.css,
     * la ruta correcta hacia assets/img es ../img/
     */
    background-image: url("../img/footer.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;

    /*
     * Oscurece únicamente los píxeles visibles de la imagen.
     * La transparencia superior se conserva.
     */
    filter:
        brightness(0.72)
        saturate(0.88)
        contrast(1.06);

    pointer-events: none;
}

/* =========================================================
   DEGRADADO DE INTEGRACIÓN
========================================================= */

.footer-section.style-3.mountain-footer::after {
    content: "";

    position: absolute;
    z-index: 1;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(4, 22, 18, 0) 0%,
            rgba(4, 22, 18, 0.48) 18%,
            rgba(4, 22, 18, 0.84) 45%,
            rgba(3, 16, 13, 0.97) 78%,
            #03100d 100%
        );

    pointer-events: none;
}

/*
 * El contenido debe estar por encima de la imagen
 * y del degradado.
 */
.footer-section.style-3.mountain-footer > .container {
    position: relative;
    z-index: 2;
}

/* =========================================================
   DISTRIBUCIÓN INTERNA
========================================================= */

.footer-section.style-3.mountain-footer .footer-top {
    padding: 0 0 65px !important;
    margin: 0 !important;

    border-bottom:
        1px solid rgba(255, 255, 255, 0.15) !important;
}

.footer-section.style-3.mountain-footer .footer-bottom {
    padding: 26px 0 !important;
    border: 0 !important;
}

/* =========================================================
   TEXTOS
========================================================= */

.footer-section.style-3.mountain-footer h3,
.footer-section.style-3.mountain-footer h4,
.footer-section.style-3.mountain-footer h5,
.footer-section.style-3.mountain-footer h6 {
    color: #ffffff !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.footer-section.style-3.mountain-footer p,
.footer-section.style-3.mountain-footer span {
    color: rgba(255, 255, 255, 0.76);
}

.footer-section.style-3.mountain-footer a {
    color: rgba(255, 255, 255, 0.82);
    transition:
        color 0.25s ease,
        transform 0.25s ease;
}

.footer-section.style-3.mountain-footer a:hover {
    color: #ffffff;
}

/* =========================================================
   ENLACES DEL FOOTER
========================================================= */

.footer-section.style-3.mountain-footer .widget-list {
    margin: 0;
    padding: 0;
}

.footer-section.style-3.mountain-footer .widget-list li a {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 4px 0;
}

.footer-section.style-3.mountain-footer .widget-list li a::before {
    content: "";

    width: 0;
    height: 1px;
    margin-right: 0;

    background-color: var(--footer-accent);

    transition:
        width 0.25s ease,
        margin-right 0.25s ease;
}

.footer-section.style-3.mountain-footer .widget-list li a:hover::before {
    width: 16px;
    margin-right: 8px;
}

/* =========================================================
   ICONOS DE CONTACTO
========================================================= */

.footer-section.style-3.mountain-footer .single-contact svg {
    fill: #ffffff;
}

.footer-section.style-3.mountain-footer .single-contact .widget-title {
    display: flex;
    align-items: center;
    gap: 9px;
}

/* =========================================================
   BOTÓN PRINCIPAL
========================================================= */

.footer-section.style-3.mountain-footer .primary-btn1 {
    color: #ffffff !important;
    background-color: var(--footer-accent);
    border-color: var(--footer-accent);

    box-shadow: 0 12px 28px rgba(232, 93, 4, 0.25);
}

.footer-section.style-3.mountain-footer .primary-btn1:hover {
    color: #151515 !important;
    background-color: #ffffff;
    border-color: #ffffff;
}

/* =========================================================
   MEDIOS DE PAGO
========================================================= */

.footer-section.style-3.mountain-footer
.payment-partner
.icons
ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.footer-section.style-3.mountain-footer
.payment-partner
.icons
ul li {
    min-width: 46px;
    min-height: 30px;
    padding: 5px 7px;

    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 5px;

    background-color: rgba(255, 255, 255, 0.92);

    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-section.style-3.mountain-footer
.payment-partner
.icons
ul li img {
    display: block;
    width: auto;
    max-width: 48px;
    max-height: 20px;
}

/* =========================================================
   REDES SOCIALES
========================================================= */

.footer-section.style-3.mountain-footer .social-list {
    display: flex;
    align-items: center;
    gap: 9px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.footer-section.style-3.mountain-footer .social-list li a {
    width: 38px;
    height: 38px;

    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 50%;

    background-color: rgba(255, 255, 255, 0.08);

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;
}

.footer-section.style-3.mountain-footer .social-list li a:hover {
    color: #ffffff;

    background-color: var(--footer-accent);
    border-color: var(--footer-accent);

    transform: translateY(-3px);
}

.footer-section.style-3.mountain-footer .social-list svg {
    fill: currentColor;
}

/* =========================================================
   LOGOTIPO
========================================================= */

.footer-section.style-3.mountain-footer .footer-logo img {
    display: block;
    width: auto;
    max-width: 180px;
    max-height: 90px;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
    .footer-section.style-3.mountain-footer {
        margin-top: 160px;
        padding-top: 210px !important;
    }

    .footer-section.style-3.mountain-footer::before {
        top: -190px;
        height: 520px;
    }

    .footer-section.style-3.mountain-footer .footer-top {
        padding-bottom: 50px !important;
    }
}

/* =========================================================
   MÓVIL
========================================================= */

@media (max-width: 767px) {
    .footer-section.style-3.mountain-footer {
        margin-top: 135px;
        padding-top: 115px !important;
    }

    .footer-section.style-3.mountain-footer::before {
        top: -110px;
        height: 420px;

        /*
         * En móvil se amplía la imagen y se centra
         * principalmente la zona de Machu Picchu.
         */
        background-size: auto 420px;
        background-position: 68% top;

        filter:
            brightness(0.66)
            saturate(0.85)
            contrast(1.05);
    }

    .footer-section.style-2.mountain-footer::after {
        background:
            linear-gradient(
                180deg,
                rgba(4, 22, 18, 0.0) 0%,
                rgba(4, 22, 18, 0.76) 28%,
                rgba(3, 16, 13, 0.96) 62%,
                #03100d 100%
            );


        /*background:
        linear-gradient(
            180deg,
            rgba(4, 22, 18, 0) 0%,
            rgba(4, 22, 18, 0.48) 18%,
            rgba(4, 22, 18, 0.84) 45%,
            rgba(3, 16, 13, 0.97) 78%,
            #03100d 100%
        );*/
    }

    .footer-section.style-3.mountain-footer .footer-top {
        padding-bottom: 40px !important;
    }

    .footer-section.style-3.mountain-footer .footer-widget {
        text-align: left;
    }

    .footer-section.style-3.mountain-footer .footer-logo img {
        max-width: 155px;
    }

    .footer-section.style-3.mountain-footer .footer-bottom p {
        text-align: center;
    }
}











/* =========================================================
           CTA INJA EXPEDITIONS
        ========================================================= */
        
        .inja-booking-cta {
            --inja-orange: #e85d04;
            --inja-orange-dark: #cc4d00;
        
            position: relative;
            z-index: 2;
        
            min-height: 570px;
            margin-top: 100px;
        
            color: #ffffff;
        
            background-image:
                url("../img/bg.png");
        
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover;
        
            overflow: visible;
            isolation: isolate;
        }
        
        /*
         * Oscurecimiento progresivo:
         * más suave arriba y más intenso abajo.
         */
        .inja-booking-cta::before {
            content: "";
        
            position: absolute;
            z-index: 0;
            inset: 0;
        
            background:
                linear-gradient(
                    180deg,
                    rgba(16, 10, 4, 0.28) 0%,
                    rgba(16, 10, 4, 0.52) 35%,
                    rgba(16, 10, 4, 0.78) 68%,
                    rgba(12, 7, 2, 0.94) 100%
                );
        
            pointer-events: none;
        }
        
        /*
         * Refuerzo de contraste detrás del texto,
         * sin agregar elementos decorativos.
         */
        .inja-booking-cta::after {
            content: "";
        
            position: absolute;
            z-index: 0;
            inset: 0;
        
            background:
                linear-gradient(
                    90deg,
                    rgba(10, 6, 2, 0.82) 0%,
                    rgba(10, 6, 2, 0.52) 40%,
                    rgba(10, 6, 2, 0.08) 72%,
                    transparent 100%
                );
        
            pointer-events: none;
        }
        
        .inja-booking-cta > .container {
            position: relative;
            z-index: 2;
        }
        
        .inja-booking-cta__layout {
            position: relative;
        
            min-height: 570px;
        
            display: flex;
            align-items: center;
        }
        
        /* =========================================================
           CONTENIDO
        ========================================================= */
        
        .inja-booking-cta__content {
            position: relative;
            z-index: 4;
        
            width: 55%;
            max-width: 680px;
        
            padding: 80px 0;
        }
        
        .inja-booking-cta__eyebrow {
            margin-bottom: 18px;
        
            color: rgba(255, 255, 255, 0.8);
        
            font-size: 13px;
            font-weight: 700;
            line-height: 1.3;
            letter-spacing: 3px;
            text-transform: uppercase;
        }
        
        .inja-booking-cta__content h2 {
            max-width: 660px;
            margin: 0 0 22px;
        
            color: #ffffff;
        
            font-size: clamp(40px, 4vw, 60px);
            font-weight: 700;
            line-height: 1.12;
            letter-spacing: -1.4px;
        
            text-shadow: 0 4px 20px rgba(0, 0, 0, 0.32);
        }
        
        .inja-booking-cta__content h2 span {
            display: block;
            color: #ffffff;
        }
        
        .inja-booking-cta__content p {
            max-width: 610px;
            margin: 0;
        
            color: rgba(255, 255, 255, 0.76);
        
            font-size: 17px;
            font-weight: 400;
            line-height: 1.7;
        
            text-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
        }
        
        /* =========================================================
           BOTONES
        ========================================================= */
        
        .inja-booking-cta__actions {
            margin-top: 30px;
        
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 13px;
        }
        
        .inja-booking-cta__button {
            min-height: 56px;
            padding: 0 24px;
        
            border: 1px solid transparent;
            border-radius: 8px;
        
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        
            font-family: inherit;
            font-size: 14px;
            font-weight: 700;
            line-height: 1;
            letter-spacing: 1.3px;
            text-transform: uppercase;
            text-decoration: none;
        
            cursor: pointer;
        
            transition:
                transform 0.25s ease,
                background-color 0.25s ease,
                border-color 0.25s ease,
                box-shadow 0.25s ease;
        }
        
        .inja-booking-cta__button i {
            font-size: 17px;
        }
        
        .inja-booking-cta__button:hover {
            transform: translateY(-3px);
        }
        
        .inja-booking-cta__button--primary {
            color: #ffffff;
        
            background-color: var(--inja-orange);
            border-color: var(--inja-orange);
        
            box-shadow: 0 12px 28px rgba(232, 93, 4, 0.28);
        }
        
        .inja-booking-cta__button--primary:hover {
            color: #ffffff;
        
            background-color: var(--inja-orange-dark);
            border-color: var(--inja-orange-dark);
        }
        
        .inja-booking-cta__button--whatsapp {
            color: #ffffff;
        
            background-color: rgba(0, 0, 0, 0.12);
            border-color: rgba(255, 255, 255, 0.72);
        
            backdrop-filter: blur(7px);
            -webkit-backdrop-filter: blur(7px);
        }
        
        .inja-booking-cta__button--whatsapp:hover {
            color: #ffffff;
        
            background-color: #25d366;
            border-color: #25d366;
        
            box-shadow: 0 12px 28px rgba(37, 211, 102, 0.25);
        }
        
        /* =========================================================
           IMAGEN DE PERSONAS
        ========================================================= */
        
        .inja-booking-cta__visual {
            position: absolute;
            z-index: 3;
        
            top: -105px;
            right: -10px;
            bottom: 0;
        
            width: 49%;
        
            display: flex;
            align-items: flex-end;
            justify-content: center;
        
            pointer-events: none;
        }
        
        .inja-booking-cta__visual img {
            position: relative;
            z-index: 2;
        
            display: block;
        
            width: auto;
            max-width: 100%;
            height: auto;
            max-height: 680px;
        
            object-fit: contain;
            object-position: center bottom;
        
            filter:
                drop-shadow(0 25px 30px rgba(0, 0, 0, 0.35))
                saturate(0.95);
        }
        
        .inja-booking-cta__glow {
            position: absolute;
            z-index: 1;
        
            right: 7%;
            bottom: 20px;
            left: 7%;
        
            height: 75px;
            border-radius: 50%;
        
            background:
                radial-gradient(
                    ellipse at center,
                    rgba(220, 135, 38, 0.38) 0%,
                    rgba(167, 91, 21, 0.14) 48%,
                    transparent 74%
                );
        
            filter: blur(5px);
        }
        
        /* =========================================================
           TABLET
        ========================================================= */
        
        @media (max-width: 991.98px) {
            .inja-booking-cta {
                min-height: 520px;
                margin-top: 70px;
                overflow: hidden;
            }
        
            .inja-booking-cta__layout {
                min-height: 520px;
            }
        
            .inja-booking-cta__content {
                width: 62%;
                padding: 65px 0;
            }
        
            .inja-booking-cta__content h2 {
                font-size: clamp(36px, 5vw, 48px);
            }
        
            .inja-booking-cta__content p {
                max-width: 520px;
                font-size: 15px;
            }
        
            .inja-booking-cta__visual {
                top: 5px;
                right: -90px;
                width: 57%;
            }
        
            .inja-booking-cta__visual img {
                max-height: 525px;
            }
        }
        
        /* =========================================================
           MÓVIL
        ========================================================= */
        
        @media (max-width: 767.98px) {
            .inja-booking-cta {
                min-height: auto;
                margin-top: 50px;
        
                text-align: center;
        
                background-position: center;
                overflow: hidden;
            }
        
            .inja-booking-cta::after {
                background:
                    linear-gradient(
                        180deg,
                        rgba(10, 6, 2, 0.68) 0%,
                        rgba(10, 6, 2, 0.4) 58%,
                        rgba(10, 6, 2, 0.88) 100%
                    );
            }
        
            .inja-booking-cta__layout {
                min-height: 0;
                flex-direction: column;
            }
        
            .inja-booking-cta__content {
                width: 100%;
                max-width: none;
        
                padding: 58px 10px 22px;
            }
        
            .inja-booking-cta__eyebrow {
                margin-bottom: 14px;
        
                font-size: 11px;
                letter-spacing: 2.4px;
            }
        
            .inja-booking-cta__content h2 {
                margin-bottom: 17px;
        
                font-size: clamp(31px, 9vw, 43px);
                letter-spacing: -0.7px;
            }
        
            .inja-booking-cta__content p {
                max-width: 530px;
                margin: 0 auto;
        
                font-size: 14px;
                line-height: 1.65;
            }
        
            .inja-booking-cta__actions {
                justify-content: center;
                margin-top: 24px;
            }
        
            .inja-booking-cta__visual {
                position: relative;
        
                top: auto;
                right: auto;
                bottom: auto;
        
                width: 100%;
                height: 370px;
                margin-top: 0;
            }
        
            .inja-booking-cta__visual img {
                max-width: 92%;
                max-height: 390px;
            }
        }
        
        /* =========================================================
           TELÉFONOS PEQUEÑOS
        ========================================================= */
        
        @media (max-width: 480px) {
            .inja-booking-cta__content {
                padding-top: 50px;
            }
        
            .inja-booking-cta__actions {
                align-items: stretch;
                flex-direction: column;
            }
        
            .inja-booking-cta__button {
                width: 100%;
                min-height: 53px;
            }
        
            .inja-booking-cta__visual {
                height: 305px;
            }
        
            .inja-booking-cta__visual img {
                max-width: 108%;
                max-height: 325px;
            }
        }




        .teams-card-slider img {
            filter: grayscale(100%);
            opacity: 0.7; /* opcional, para un look más elegante */
            transition: 0.3s;
            padding: 20%;
        }
        
        /* Opcional: cuando el mouse pasa, vuelve a color */
        .teams-card-slider img:hover {
            filter: grayscale(0%);
            opacity: 1;
        }
        
        .section-title2 h5 {
            color: #6c757d; /* gris elegante */
        }
        
        .teams-section hr {
            border: none;
            height: 1px;
            background-color: #ccc; /* gris suave */
            margin-top: 20px;
        }