.elementor-kit-5{--e-global-color-primary:#062A43;--e-global-color-secondary:#D6A53A;--e-global-color-text:#526474;--e-global-color-accent:#11B7C7;--e-global-color-cd82432:#031927;--e-global-color-0635ccb:#0A3A59;--e-global-color-ac270dd:#087D99;--e-global-color-5390f1e:#F1D17A;--e-global-color-f0ecac5:#F5F9FB;--e-global-color-7b59dcb:#FFFFFF;--e-global-color-6706b44:#D9E3E8;--e-global-color-3fa61b8:#7A8995;--e-global-color-321453a:#25D366;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-size:68px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.05px;--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-secondary-font-size:44px;--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Outfit";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65px;--e-global-typography-accent-font-family:"Outfit";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.2px;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1480px;}.e-con{--container-max-width:1480px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================
   CARIBE AIRPORT TRANSFERS — HERO COMPLETO
   ========================================================= */

:root {
    --cat-navy-dark: #031927;
    --cat-navy: #062A43;
    --cat-navy-medium: #0A3A59;

    --cat-gold: #D6A53A;
    --cat-gold-light: #F1D17A;
    --cat-gold-dark: #B9811F;

    --cat-turquoise: #11B7C7;
    --cat-ocean: #087D99;

    --cat-white: #FFFFFF;
    --cat-soft-white: #F5F9FB;

    --cat-text-light: rgba(255, 255, 255, 0.82);
}


/* =========================================================
   1. CONTENEDOR PRINCIPAL DEL HERO
   ========================================================= */

.cat-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    width: 100%;
    min-height: 880px;

    padding: 150px 32px 170px;

    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;

    box-sizing: border-box;
}

.cat-hero,
.cat-hero * {
    box-sizing: border-box;
}


/* =========================================================
   2. OVERLAY DEGRADADO
   ========================================================= */

.cat-hero::before {
    content: "";

    position: absolute;
    inset: 0;
    z-index: 1;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            rgba(3, 25, 39, 0.98) 0%,
            rgba(3, 25, 39, 0.94) 23%,
            rgba(3, 25, 39, 0.79) 42%,
            rgba(3, 25, 39, 0.46) 61%,
            rgba(3, 25, 39, 0.17) 79%,
            rgba(3, 25, 39, 0.08) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3, 25, 39, 0.34) 0%,
            rgba(3, 25, 39, 0.05) 45%,
            rgba(3, 25, 39, 0.59) 100%
        );
}


/* =========================================================
   3. ONDA INFERIOR
   Turquesa visible + línea dorada + base navy
   ========================================================= */

.cat-hero::after {
    content: "";

    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    z-index: 2;

    width: 100%;
    height: 145px;

    pointer-events: none;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 165' preserveAspectRatio='none'%3E%3Cpath fill='%2311B7C7' d='M0 62C210 124 450 18 721 54C1006 92 1208 135 1440 45V165H0Z'/%3E%3Cpath fill='%23031927' d='M0 111C245 154 493 76 764 101C1027 126 1224 147 1440 91V165H0Z'/%3E%3Cpath fill='none' stroke='%23D6A53A' stroke-width='4' stroke-linecap='round' d='M0 62C210 124 450 18 721 54C1006 92 1208 135 1440 45'/%3E%3C/svg%3E");

    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: 100% 100%;
}


/* =========================================================
   4. CONTENEDOR INTERNO
   ========================================================= */

.cat-hero-inner {
    position: relative;
    z-index: 3;

    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;

    width: 100%;
    max-width: 1480px;
    min-height: 560px;

    margin-right: auto;
    margin-left: auto;

    gap: clamp(36px, 4vw, 72px);
}


/* =========================================================
   5. COLUMNA IZQUIERDA
   ========================================================= */

.cat-hero-content {
    display: flex;
    flex: 1 1 58%;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;

    width: 58%;
    max-width: 780px;
    min-width: 0;

    gap: 27px;
}


/* =========================================================
   6. CONTENIDO PRINCIPAL
   ========================================================= */

.cat-hero-copy,
.cat-hero-copy .elementor-widget-container,
.cat-copy {
    width: 100%;
}

.cat-copy {
    margin: 0;
    padding: 0;
}


/* Eyebrow */

.cat-eyebrow {
    display: flex;
    align-items: center;

    margin: 0 0 22px;

    gap: 13px;

    color: var(--cat-gold-light);

    font-family: "Outfit", sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 1.45px;
    text-transform: uppercase;
}

.cat-eyebrow-line {
    display: block;
    flex: 0 0 40px;

    width: 40px;
    height: 2px;

    border-radius: 100px;

    background: linear-gradient(
        90deg,
        var(--cat-gold),
        var(--cat-gold-light)
    );
}


/* =========================================================
   7. TÍTULO H1
   ========================================================= */

.cat-title {
    display: block;

    width: 100%;
    max-width: 780px;

    margin: 0;
    padding: 0;

    color: var(--cat-white);

    font-family: "Playfair Display", serif;
    font-size: clamp(58px, 4.65vw, 86px);
    font-style: normal;
    font-weight: 600;
    line-height: 0.99;
    letter-spacing: -1.7px;

    text-wrap: balance;
}

.cat-title > span {
    display: block;
}

.cat-title strong {
    color: var(--cat-gold-light);
    font-weight: inherit;
}


/* =========================================================
   8. DIVISOR ORNAMENTAL DEL H1
   ========================================================= */

.cat-title-divider {
    display: grid;
    grid-template-columns:
        minmax(80px, 1fr)
        10px
        minmax(80px, 1fr);

    align-items: center;

    width: min(100%, 540px);
    max-width: 540px;

    margin: 24px 0 18px;
    padding: 0;

    gap: 11px;
}

.cat-title-divider > span {
    display: block;

    width: 100%;
    height: 1px;

    margin: 0;
    padding: 0;

    border: 0;
    border-radius: 100px;

    background: linear-gradient(
        90deg,
        rgba(214, 165, 58, 0.18) 0%,
        var(--cat-gold) 45%,
        var(--cat-gold-light) 100%
    );
}

.cat-title-divider > span:last-child {
    background: linear-gradient(
        90deg,
        var(--cat-gold-light) 0%,
        var(--cat-gold) 55%,
        rgba(214, 165, 58, 0.18) 100%
    );
}

.cat-title-divider > i {
    display: block;

    width: 10px;
    min-width: 10px;
    height: 10px;

    margin: 0;
    padding: 0;

    border: 1px solid var(--cat-gold-light);
    border-radius: 1px;

    background: var(--cat-gold);

    font-size: 0;
    line-height: 0;

    transform: rotate(45deg);

    box-shadow:
        0 0 0 3px rgba(214, 165, 58, 0.08),
        0 0 12px rgba(214, 165, 58, 0.22);
}

.cat-title-divider > i::before,
.cat-title-divider > i::after {
    display: none;
    content: none;
}


/* =========================================================
   9. DESCRIPCIÓN
   ========================================================= */

.cat-description {
    max-width: 625px;

    margin: 0;
    padding: 0;

    color: var(--cat-text-light);

    font-family: "Outfit", sans-serif;
    font-size: clamp(17px, 1.12vw, 19px);
    font-style: normal;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: 0;
}


/* =========================================================
   10. CONTENEDOR DE BOTONES
   ========================================================= */

.cat-hero-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 16px !important;
}

.cat-hero-actions .elementor-widget-button {
    width: auto !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   11. ESTRUCTURA INTERNA DE LOS BOTONES
   ========================================================= */

.cat-button .elementor-button {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;

    width: auto !important;
    min-width: 0 !important;
    min-height: 60px !important;

    margin: 0 !important;
    padding: 0 27px !important;

    border-radius: 11px !important;

    text-decoration: none !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease !important;
}

.cat-button .elementor-button-content-wrapper {
    display: inline-flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 10px !important;

    line-height: 1 !important;
}


/* Texto de botones */

.cat-button .elementor-button-text {
    display: inline-block !important;
    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;

    font-family: "Outfit", sans-serif !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.3px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}


/* Iconos de botones */

.cat-button .elementor-button-icon {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    justify-content: center !important;
    align-items: center !important;

    width: 18px !important;
    height: 18px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;

    font-size: 16px !important;
    line-height: 1 !important;
}

.cat-button .elementor-button-icon i {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;

    color: inherit !important;

    font-size: inherit !important;
    line-height: 1 !important;
}

.cat-button .elementor-button-icon svg {
    display: block !important;

    width: 16px !important;
    height: 16px !important;

    margin: 0 !important;

    fill: currentColor !important;
}


/* =========================================================
   12. BOTÓN PRIMARIO
   ========================================================= */

.cat-button-primary .elementor-button {
    color: var(--cat-navy-dark) !important;

    border: 1px solid var(--cat-gold-light) !important;

    background: linear-gradient(
        135deg,
        var(--cat-gold-light) 0%,
        var(--cat-gold) 58%,
        var(--cat-gold-dark) 100%
    ) !important;

    box-shadow:
        0 15px 32px rgba(214, 165, 58, 0.23),
        inset 0 1px 0 rgba(255, 255, 255, 0.48) !important;
}

.cat-button-primary .elementor-button-text,
.cat-button-primary .elementor-button-icon,
.cat-button-primary .elementor-button-icon i {
    color: var(--cat-navy-dark) !important;
}

.cat-button-primary .elementor-button:hover,
.cat-button-primary .elementor-button:focus {
    color: var(--cat-navy-dark) !important;

    border-color: #FFE8A2 !important;

    background: linear-gradient(
        135deg,
        #FFE59A 0%,
        #E0B34B 58%,
        #C58E27 100%
    ) !important;

    transform: translateY(-3px) !important;

    box-shadow:
        0 20px 38px rgba(214, 165, 58, 0.31),
        inset 0 1px 0 rgba(255, 255, 255, 0.58) !important;
}

.cat-button-primary .elementor-button:hover .elementor-button-text,
.cat-button-primary .elementor-button:hover .elementor-button-icon,
.cat-button-primary .elementor-button:focus .elementor-button-text,
.cat-button-primary .elementor-button:focus .elementor-button-icon {
    color: var(--cat-navy-dark) !important;
}


/* =========================================================
   13. BOTÓN SECUNDARIO
   ========================================================= */

.cat-button-secondary .elementor-button {
    color: var(--cat-white) !important;

    border: 1px solid rgba(241, 209, 122, 0.78) !important;

    background: rgba(3, 25, 39, 0.58) !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.07),
        0 12px 28px rgba(0, 0, 0, 0.16) !important;

    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.cat-button-secondary .elementor-button-text,
.cat-button-secondary .elementor-button-icon,
.cat-button-secondary .elementor-button-icon i {
    color: var(--cat-white) !important;
}

.cat-button-secondary .elementor-button:hover,
.cat-button-secondary .elementor-button:focus {
    color: var(--cat-gold-light) !important;

    border-color: var(--cat-gold-light) !important;

    background: rgba(6, 42, 67, 0.92) !important;

    transform: translateY(-3px) !important;

    box-shadow:
        0 18px 35px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.09) !important;
}

.cat-button-secondary .elementor-button:hover .elementor-button-text,
.cat-button-secondary .elementor-button:hover .elementor-button-icon,
.cat-button-secondary .elementor-button:focus .elementor-button-text,
.cat-button-secondary .elementor-button:focus .elementor-button-icon {
    color: var(--cat-gold-light) !important;
}


/* =========================================================
   14. BENEFICIOS
   ========================================================= */

.cat-hero-benefits,
.cat-hero-benefits .elementor-widget-container {
    width: 100%;
}

.cat-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    width: 100%;
    max-width: 760px;

    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 18px;

    background: linear-gradient(
        135deg,
        rgba(6, 42, 67, 0.76),
        rgba(3, 25, 39, 0.64)
    );

    box-shadow:
        0 20px 45px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);

    backdrop-filter: blur(13px);
    -webkit-backdrop-filter: blur(13px);
}

.cat-benefit {
    position: relative;

    display: flex;
    justify-content: flex-start;
    align-items: center;

    min-height: 88px;

    padding: 17px 16px;

    gap: 11px;

    transition:
        background-color 0.25s ease,
        transform 0.25s ease;
}

.cat-benefit:not(:last-child)::after {
    content: "";

    position: absolute;
    top: 20%;
    right: 0;
    bottom: 20%;

    width: 1px;

    background: rgba(255, 255, 255, 0.13);
}

.cat-benefit:hover {
    background: rgba(17, 183, 199, 0.09);
}

.cat-benefit-icon {
    display: inline-flex;
    flex: 0 0 41px;
    justify-content: center;
    align-items: center;

    width: 41px;
    height: 41px;

    color: var(--cat-gold-light);

    border: 1px solid rgba(241, 209, 122, 0.55);
    border-radius: 50%;

    background: rgba(3, 25, 39, 0.42);

    font-size: 17px;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 8px 18px rgba(0, 0, 0, 0.13);
}

.cat-benefit-content {
    display: flex;
    flex-direction: column;

    min-width: 0;
}

.cat-benefit-content strong,
.cat-benefit-content small {
    display: block;

    font-family: "Outfit", sans-serif;
    line-height: 1.2;
}

.cat-benefit-content strong {
    color: var(--cat-white);

    font-size: 14px;
    font-weight: 600;
}

.cat-benefit-content small {
    margin-top: 3px;

    color: rgba(255, 255, 255, 0.7);

    font-size: 13px;
    font-weight: 400;
}


/* =========================================================
   15. COLUMNA DEL SISTEMA DE RESERVAS
   ========================================================= */

.cat-hero-booking {
    position: relative;
    z-index: 4;

    display: flex;
    flex: 0 1 520px;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;

    width: 42%;
    max-width: 520px;
    min-width: 390px;

    margin-left: auto;

    scroll-margin-top: 120px;
}

.cat-booking-widget,
.cat-booking-widget > .elementor-widget-container {
    position: relative;

    width: 100%;
    max-width: 100%;
}

.cat-booking-widget {
    filter: drop-shadow(
        0 30px 55px rgba(0, 0, 0, 0.25)
    );
}


/* =========================================================
   16. TABLET GRANDE
   ========================================================= */

@media (max-width: 1280px) {

    .cat-hero {
        min-height: 840px;

        padding:
            140px
            28px
            165px;
    }

    .cat-hero-inner {
        gap: 38px;
    }

    .cat-hero-content {
        width: 56%;
    }

    .cat-hero-booking {
        flex-basis: 470px;

        width: 44%;
        max-width: 470px;
        min-width: 365px;
    }

    .cat-title {
        font-size: clamp(54px, 5vw, 72px);
    }

    .cat-benefit {
        padding-right: 12px;
        padding-left: 12px;
    }

    .cat-benefit-icon {
        flex-basis: 37px;

        width: 37px;
        height: 37px;
    }
}


/* =========================================================
   17. TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .cat-hero {
        min-height: auto;

        padding:
            135px
            28px
            160px;

        background-position: 65% center;
    }

    .cat-hero::before {
        background:
            linear-gradient(
                180deg,
                rgba(3, 25, 39, 0.89) 0%,
                rgba(3, 25, 39, 0.78) 42%,
                rgba(3, 25, 39, 0.92) 100%
            ),
            linear-gradient(
                90deg,
                rgba(3, 25, 39, 0.91) 0%,
                rgba(3, 25, 39, 0.58) 100%
            );
    }

    .cat-hero::after {
        height: 125px;
    }

    .cat-hero-inner {
        flex-direction: column;
        align-items: center;

        min-height: 0;

        gap: 55px;
    }

    .cat-hero-content {
        width: 100%;
        max-width: 820px;
    }

    .cat-hero-booking {
        width: 100%;
        max-width: 680px;
        min-width: 0;

        margin-right: auto;
        margin-left: auto;
    }

    .cat-title {
        max-width: 760px;

        font-size: clamp(54px, 7.5vw, 72px);
    }

    .cat-description {
        max-width: 680px;
    }

    .cat-benefits {
        max-width: 760px;
    }
}


/* =========================================================
   18. MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .cat-hero {
        padding:
            108px
            18px
            120px;

        background-position: 70% center;
    }

    .cat-hero::before {
        background: linear-gradient(
            180deg,
            rgba(3, 25, 39, 0.91) 0%,
            rgba(3, 25, 39, 0.85) 45%,
            rgba(3, 25, 39, 0.97) 100%
        );
    }

    .cat-hero::after {
        height: 88px;

        background-position: bottom center;
        background-size: 150% 100%;
    }

    .cat-hero-inner {
        gap: 42px;
    }

    .cat-hero-content {
        gap: 22px;
    }

    .cat-eyebrow {
        align-items: flex-start;

        margin-bottom: 17px;

        font-size: 11px;
        line-height: 1.45;
        letter-spacing: 1.15px;
    }

    .cat-eyebrow-line {
        flex-basis: 25px;

        width: 25px;

        margin-top: 7px;
    }

    .cat-title {
        font-size: clamp(40px, 12vw, 53px);
        line-height: 1.01;
        letter-spacing: -0.8px;
    }

    .cat-title-divider {
        grid-template-columns:
            minmax(55px, 1fr)
            9px
            minmax(55px, 1fr);

        width: 100%;
        max-width: 100%;

        margin-top: 20px;
        margin-bottom: 16px;

        gap: 9px;
    }

    .cat-title-divider > i {
        width: 9px;
        min-width: 9px;
        height: 9px;
    }

    .cat-description {
        font-size: 16px;
        line-height: 1.58;
    }

    .cat-hero-actions {
        flex-direction: column !important;
        align-items: stretch !important;

        gap: 12px !important;
    }

    .cat-hero-actions .elementor-widget-button {
        width: 100% !important;
    }

    .cat-button .elementor-button {
        width: 100% !important;
        min-height: 57px !important;

        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    .cat-button .elementor-button-content-wrapper {
        width: 100% !important;
    }

    .cat-button .elementor-button-text {
        font-size: 13px !important;
    }

    .cat-benefits {
        grid-template-columns: repeat(
            2,
            minmax(0, 1fr)
        );

        border-radius: 16px;
    }

    .cat-benefit {
        min-height: 84px;

        padding:
            14px
            12px;
    }

    .cat-benefit:nth-child(odd)::after {
        content: "";

        position: absolute;
        top: 18%;
        right: 0;
        bottom: 18%;

        display: block;

        width: 1px;

        background: rgba(255, 255, 255, 0.13);
    }

    .cat-benefit:nth-child(even)::after {
        display: none;
    }

    .cat-benefit:nth-child(-n + 2) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.13);
    }

    .cat-benefit-icon {
        flex-basis: 35px;

        width: 35px;
        height: 35px;

        font-size: 14px;
    }

    .cat-benefit-content strong {
        font-size: 13px;
    }

    .cat-benefit-content small {
        font-size: 12px;
    }

    .cat-hero-booking {
        width: 100%;
        max-width: 100%;
    }
}


/* =========================================================
   19. MÓVIL PEQUEÑO
   ========================================================= */

@media (max-width: 420px) {

    .cat-hero {
        padding-right: 15px;
        padding-left: 15px;
    }

    .cat-title {
        font-size: clamp(37px, 11.5vw, 46px);
    }

    .cat-benefit {
        padding-right: 9px;
        padding-left: 9px;

        gap: 8px;
    }

    .cat-benefit-icon {
        flex-basis: 32px;

        width: 32px;
        height: 32px;
    }
}


/* =========================================================
   20. ACCESIBILIDAD
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .cat-button .elementor-button,
    .cat-benefit {
        transition: none !important;
    }
}
/* =========================================================
   CARIBE AIRPORT TRANSFERS — HEADER GLOBAL
   ========================================================= */


/* =========================================================
   1. HEADER GENERAL
   ========================================================= */

.cat-header {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 9999;

    width: 100%;

    margin: 0;
    padding: 18px 30px;

    border-bottom: 1px solid rgba(255, 255, 255, 0.09);

    background: transparent;

    transition:
        padding 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        backdrop-filter 0.3s ease;
}

.cat-header,
.cat-header * {
    box-sizing: border-box;
}


/* =========================================================
   2. HEADER AL HACER SCROLL
   ========================================================= */

.cat-header.elementor-sticky--active,
.cat-header.elementor-sticky--effects {
    position: fixed !important;
    top: 0 !important;

    padding-top: 9px;
    padding-bottom: 9px;

    border-bottom-color: rgba(241, 209, 122, 0.15);

    background:
        linear-gradient(
            135deg,
            rgba(3, 25, 39, 0.95),
            rgba(6, 42, 67, 0.92)
        );

    box-shadow:
        0 14px 38px rgba(0, 0, 0, 0.2),
        inset 0 -1px 0 rgba(255, 255, 255, 0.04);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}


/* =========================================================
   3. CONTENEDOR INTERNO
   ========================================================= */

.cat-header-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;

    width: 100%;
    max-width: 1480px;
    min-height: 76px;

    margin-right: auto !important;
    margin-left: auto !important;
    padding: 0 !important;

    gap: clamp(24px, 3vw, 48px);

    transition: min-height 0.3s ease;
}

.cat-header.elementor-sticky--active .cat-header-inner,
.cat-header.elementor-sticky--effects .cat-header-inner {
    min-height: 66px;
}


/* =========================================================
   4. CONTENEDOR DEL LOGO
   ========================================================= */

.cat-header-brand {
    display: flex !important;
    flex: 0 0 auto !important;
    justify-content: flex-start !important;
    align-items: center !important;

    width: auto !important;
    min-width: 0;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   5. LOGO
   ========================================================= */

.cat-header-logo {
    width: auto !important;
    max-width: 100%;

    margin: 0 !important;
}

.cat-header-logo .elementor-widget-container {
    display: flex;
    align-items: center;

    width: auto;
}

.cat-header-logo img {
    display: block;

    width: auto;
    max-width: 285px;
    height: auto;
    max-height: 82px;

    object-fit: contain;

    transition:
        max-width 0.3s ease,
        max-height 0.3s ease,
        transform 0.3s ease;
}

.cat-header-logo a {
    display: inline-flex;
    align-items: center;
}

.cat-header-logo a:hover img {
    transform: translateY(-1px);
}

.cat-header.elementor-sticky--active .cat-header-logo img,
.cat-header.elementor-sticky--effects .cat-header-logo img {
    max-width: 245px;
    max-height: 66px;
}


/* =========================================================
   6. CONTENEDOR DE NAVEGACIÓN
   ========================================================= */

.cat-header-nav {
    display: flex !important;
    flex: 1 1 auto !important;
    justify-content: center !important;
    align-items: center !important;

    width: auto !important;
    min-width: 0;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   7. MENÚ PRINCIPAL
   ========================================================= */

.cat-nav-menu {
    width: auto !important;
    max-width: 100%;

    margin: 0 !important;
}

.cat-nav-menu .elementor-widget-container {
    width: auto;
}

.cat-nav-menu .elementor-nav-menu--main {
    display: flex;
    justify-content: center;
}

.cat-nav-menu .elementor-nav-menu--main .elementor-nav-menu {
    display: flex;
    justify-content: center;
    align-items: center;

    gap: clamp(10px, 1.35vw, 25px);
}


/* Enlaces */

.cat-nav-menu .elementor-nav-menu--main .elementor-item {
    position: relative;

    display: inline-flex;
    justify-content: center;
    align-items: center;

    min-height: 45px;

    padding: 10px 7px !important;

    color: rgba(255, 255, 255, 0.9) !important;

    font-family: "Outfit", sans-serif !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.1px !important;
    text-transform: none !important;

    transition:
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* Línea dorada inferior */

.cat-nav-menu .elementor-nav-menu--main .elementor-item::after {
    content: "";

    position: absolute;
    right: 50%;
    bottom: 2px;
    left: 50%;

    width: 0;
    height: 2px;

    border-radius: 100px;

    background: linear-gradient(
        90deg,
        var(--cat-gold, #D6A53A),
        var(--cat-gold-light, #F1D17A)
    );

    opacity: 1 !important;

    transition:
        right 0.25s ease,
        left 0.25s ease,
        width 0.25s ease !important;
}

.cat-nav-menu .elementor-nav-menu--main .elementor-item:hover,
.cat-nav-menu .elementor-nav-menu--main .elementor-item:focus,
.cat-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active {
    color: var(--cat-gold-light, #F1D17A) !important;

    transform: translateY(-1px);
}

.cat-nav-menu .elementor-nav-menu--main .elementor-item:hover::after,
.cat-nav-menu .elementor-nav-menu--main .elementor-item:focus::after,
.cat-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active::after {
    right: 7px;
    left: 7px;

    width: auto;
}


/* Flechas de submenús */

.cat-nav-menu .sub-arrow {
    margin-left: 6px !important;

    color: currentColor;

    font-size: 10px;
}


/* =========================================================
   8. CONTENEDOR DEL BOTÓN
   ========================================================= */

.cat-header-actions {
    display: flex !important;
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
    align-items: center !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   9. BOTÓN DE WHATSAPP
   ========================================================= */

.cat-header-whatsapp {
    width: auto !important;

    margin: 0 !important;
}

.cat-header-whatsapp .elementor-button {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;

    min-height: 52px;

    padding: 0 22px !important;

    color: #FFFFFF !important;

    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 11px !important;

    background:
        linear-gradient(
            135deg,
            rgba(37, 211, 102, 0.96),
            rgba(17, 160, 77, 0.96)
        ) !important;

    box-shadow:
        0 14px 30px rgba(37, 211, 102, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;

    text-decoration: none !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        filter 0.25s ease !important;
}

.cat-header-whatsapp .elementor-button-content-wrapper {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;

    gap: 9px !important;
}

.cat-header-whatsapp .elementor-button-text {
    color: #FFFFFF !important;

    font-family: "Outfit", sans-serif !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0.15px !important;
    white-space: nowrap !important;
}

.cat-header-whatsapp .elementor-button-icon {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;

    width: 19px;
    height: 19px;

    margin: 0 !important;

    color: #FFFFFF !important;

    font-size: 18px !important;
    line-height: 1 !important;
}

.cat-header-whatsapp .elementor-button-icon svg {
    width: 18px;
    height: 18px;

    fill: currentColor;
}

.cat-header-whatsapp .elementor-button:hover,
.cat-header-whatsapp .elementor-button:focus {
    color: #FFFFFF !important;

    filter: brightness(1.06);

    transform: translateY(-3px);

    box-shadow:
        0 19px 38px rgba(37, 211, 102, 0.27),
        inset 0 1px 0 rgba(255, 255, 255, 0.34) !important;
}


/* =========================================================
   10. SUBMENÚ DESKTOP
   ========================================================= */

.cat-nav-menu .elementor-nav-menu--dropdown {
    overflow: hidden;

    min-width: 220px;

    padding: 8px;

    border: 1px solid rgba(241, 209, 122, 0.14);
    border-radius: 13px;

    background:
        linear-gradient(
            145deg,
            rgba(3, 25, 39, 0.98),
            rgba(6, 42, 67, 0.97)
        ) !important;

    box-shadow:
        0 22px 45px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.cat-nav-menu .elementor-nav-menu--dropdown .elementor-item {
    min-height: 43px;

    padding: 11px 14px !important;

    color: rgba(255, 255, 255, 0.85) !important;

    border-radius: 8px;

    font-family: "Outfit", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;

    transition:
        color 0.2s ease,
        background 0.2s ease,
        padding-left 0.2s ease !important;
}

.cat-nav-menu .elementor-nav-menu--dropdown .elementor-item:hover,
.cat-nav-menu .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
    padding-left: 18px !important;

    color: var(--cat-gold-light, #F1D17A) !important;

    background: rgba(17, 183, 199, 0.1) !important;
}


/* =========================================================
   11. TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .cat-header {
        padding-right: 24px;
        padding-left: 24px;
    }

    .cat-header-inner {
        gap: 18px;
    }

    .cat-header-logo img {
        max-width: 225px;
        max-height: 70px;
    }

    .cat-nav-menu .elementor-nav-menu--main .elementor-nav-menu {
        gap: 6px;
    }

    .cat-nav-menu .elementor-nav-menu--main .elementor-item {
        padding-right: 5px !important;
        padding-left: 5px !important;

        font-size: 14px !important;
    }

    .cat-header-whatsapp .elementor-button {
        min-height: 48px;

        padding-right: 17px !important;
        padding-left: 17px !important;
    }

    .cat-header-whatsapp .elementor-button-text {
        font-size: 13px !important;
    }
}


/* =========================================================
   12. MENÚ HAMBURGUESA — TABLET Y MÓVIL
   ========================================================= */

@media (max-width: 1024px) {

    .cat-header {
        padding:
            12px
            22px;
    }

    .cat-header-inner {
        min-height: 68px;

        gap: 13px;
    }

    .cat-header.elementor-sticky--active .cat-header-inner,
    .cat-header.elementor-sticky--effects .cat-header-inner {
        min-height: 62px;
    }

    .cat-header-brand {
        margin-right: auto !important;
    }

    .cat-header-logo img,
    .cat-header.elementor-sticky--active .cat-header-logo img,
    .cat-header.elementor-sticky--effects .cat-header-logo img {
        max-width: 210px;
        max-height: 64px;
    }

    .cat-header-nav {
        flex: 0 0 auto !important;

        order: 2;
    }

    .cat-header-actions {
        order: 3;
    }


    /* Botón hamburguesa */

    .cat-nav-menu .elementor-menu-toggle {
        display: inline-flex !important;
        justify-content: center !important;
        align-items: center !important;

        width: 48px;
        height: 48px;

        margin: 0 !important;
        padding: 0 !important;

        color: var(--cat-gold-light, #F1D17A) !important;

        border: 1px solid rgba(241, 209, 122, 0.42);
        border-radius: 11px;

        background: rgba(3, 25, 39, 0.55) !important;

        font-size: 24px !important;

        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.06),
            0 10px 24px rgba(0, 0, 0, 0.14);

        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    .cat-nav-menu .elementor-menu-toggle:hover,
    .cat-nav-menu .elementor-menu-toggle.elementor-active {
        color: var(--cat-navy-dark, #031927) !important;

        border-color: var(--cat-gold-light, #F1D17A);

        background:
            linear-gradient(
                135deg,
                var(--cat-gold-light, #F1D17A),
                var(--cat-gold, #D6A53A)
            ) !important;
    }


    /* Dropdown del menú móvil */

    .cat-nav-menu .elementor-nav-menu--dropdown {
        position: fixed !important;
        top: 92px !important;
        right: 20px !important;
        left: 20px !important;

        width: auto !important;
        max-height: calc(100vh - 115px);

        overflow-y: auto;

        margin: 0 !important;
        padding: 13px !important;

        border-radius: 16px;

        background:
            linear-gradient(
                145deg,
                rgba(3, 25, 39, 0.99),
                rgba(6, 42, 67, 0.98)
            ) !important;

        box-shadow:
            0 25px 60px rgba(0, 0, 0, 0.35),
            inset 0 1px 0 rgba(255, 255, 255, 0.05);
    }

    .cat-header.elementor-sticky--active
    .cat-nav-menu
    .elementor-nav-menu--dropdown,
    .cat-header.elementor-sticky--effects
    .cat-nav-menu
    .elementor-nav-menu--dropdown {
        top: 80px !important;
    }

    .cat-nav-menu .elementor-nav-menu--dropdown .elementor-item {
        min-height: 49px;

        padding: 13px 15px !important;

        border-bottom: 1px solid rgba(255, 255, 255, 0.07);
        border-radius: 8px;

        font-size: 15px !important;
    }

    .cat-nav-menu
    .elementor-nav-menu--dropdown
    li:last-child
    > .elementor-item {
        border-bottom: 0;
    }
}


/* =========================================================
   13. MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .cat-header {
        padding:
            10px
            16px;
    }

    .cat-header-inner {
        min-height: 62px;

        gap: 9px;
    }

    .cat-header-logo img,
    .cat-header.elementor-sticky--active .cat-header-logo img,
    .cat-header.elementor-sticky--effects .cat-header-logo img {
        max-width: 170px;
        max-height: 57px;
    }

    .cat-nav-menu .elementor-menu-toggle {
        width: 44px;
        height: 44px;

        border-radius: 10px;

        font-size: 21px !important;
    }


    /* WhatsApp compacto con icono y sin texto */

    .cat-header-whatsapp .elementor-button {
        width: 44px;
        min-width: 44px;
        height: 44px;
        min-height: 44px;

        padding: 0 !important;

        border-radius: 50% !important;
    }

    .cat-header-whatsapp .elementor-button-content-wrapper {
        width: 100%;

        gap: 0 !important;
    }

    .cat-header-whatsapp .elementor-button-text {
        position: absolute !important;

        width: 1px !important;
        height: 1px !important;

        overflow: hidden !important;

        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
    }

    .cat-header-whatsapp .elementor-button-icon {
        width: 20px;
        height: 20px;

        font-size: 20px !important;
    }

    .cat-nav-menu .elementor-nav-menu--dropdown {
        top: 79px !important;
        right: 14px !important;
        left: 14px !important;

        max-height: calc(100vh - 96px);
    }

    .cat-header.elementor-sticky--active
    .cat-nav-menu
    .elementor-nav-menu--dropdown,
    .cat-header.elementor-sticky--effects
    .cat-nav-menu
    .elementor-nav-menu--dropdown {
        top: 72px !important;
    }
}


/* =========================================================
   14. MÓVIL PEQUEÑO
   ========================================================= */

@media (max-width: 420px) {

    .cat-header {
        padding-right: 12px;
        padding-left: 12px;
    }

    .cat-header-inner {
        gap: 7px;
    }

    .cat-header-logo img,
    .cat-header.elementor-sticky--active .cat-header-logo img,
    .cat-header.elementor-sticky--effects .cat-header-logo img {
        max-width: 145px;
        max-height: 52px;
    }

    .cat-nav-menu .elementor-menu-toggle,
    .cat-header-whatsapp .elementor-button {
        width: 42px;
        min-width: 42px;
        height: 42px;
        min-height: 42px;
    }
}


/* =========================================================
   15. ACCESIBILIDAD
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .cat-header,
    .cat-header-inner,
    .cat-header-logo img,
    .cat-nav-menu .elementor-item,
    .cat-header-whatsapp .elementor-button {
        transition: none !important;
    }
}
/* =========================================================
   CARIBE AIRPORT TRANSFERS
   HEADER 1480 PX + GLASS — OVERRIDE FINAL
   PEGAR AL FINAL DEL CSS ACTUAL
   ========================================================= */


/* =========================================================
   1. CONTENEDOR EXTERIOR TRANSPARENTE
   ========================================================= */

.cat-header {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 9999 !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 18px 24px 0 !important;

    border: 0 !important;

    background: transparent !important;

    box-shadow: none !important;
}


/* =========================================================
   2. CONTENEDOR INTERIOR GLASS DE 1480 PX
   ========================================================= */

.cat-header-inner {
    --width: 100%;
    --max-width: 1480px;

    position: relative !important;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;

    width: min(1480px, calc(100vw - 48px)) !important;
    max-width: 1480px !important;
    min-height: 86px !important;

    margin: 0 auto !important;
    padding: 10px 22px !important;

    gap: clamp(24px, 3vw, 48px) !important;

    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 20px !important;

    background:
        linear-gradient(
            135deg,
            rgba(3, 25, 39, 0.76) 0%,
            rgba(6, 42, 67, 0.62) 55%,
            rgba(8, 72, 93, 0.42) 100%
        ) !important;

    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.11),
        inset 0 -1px 0 rgba(241, 209, 122, 0.06) !important;

    backdrop-filter: blur(18px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(135%) !important;

    transition:
        min-height 0.3s ease,
        padding 0.3s ease,
        border-radius 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease !important;
}


/* Brillo interior muy sutil */

.cat-header-inner::before {
    content: "";

    position: absolute;
    top: 0;
    right: 22px;
    left: 22px;

    height: 1px;

    pointer-events: none;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.2),
        rgba(241, 209, 122, 0.2),
        transparent
    );
}


/* =========================================================
   3. ESTADO STICKY
   ========================================================= */

.cat-header.elementor-sticky--active,
.cat-header.elementor-sticky--effects {
    position: fixed !important;
    top: 0 !important;

    padding: 10px 24px 0 !important;

    border: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.cat-header.elementor-sticky--active .cat-header-inner,
.cat-header.elementor-sticky--effects .cat-header-inner {
    min-height: 70px !important;

    padding-top: 7px !important;
    padding-bottom: 7px !important;

    border-color: rgba(241, 209, 122, 0.18) !important;
    border-radius: 17px !important;

    background:
        linear-gradient(
            135deg,
            rgba(3, 25, 39, 0.94) 0%,
            rgba(6, 42, 67, 0.91) 58%,
            rgba(8, 72, 93, 0.82) 100%
        ) !important;

    box-shadow:
        0 18px 48px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;

    backdrop-filter: blur(22px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(22px) saturate(145%) !important;
}


/* =========================================================
   4. LOGO
   ========================================================= */

.cat-header-logo img {
    width: auto !important;
    max-width: 300px !important;
    height: auto !important;
    max-height: 72px !important;

    object-fit: contain !important;
}

.cat-header.elementor-sticky--active .cat-header-logo img,
.cat-header.elementor-sticky--effects .cat-header-logo img {
    max-width: 255px !important;
    max-height: 58px !important;
}


/* =========================================================
   5. NAVEGACIÓN
   ========================================================= */

.cat-header-nav {
    display: flex !important;
    flex: 1 1 auto !important;
    justify-content: center !important;
    align-items: center !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

.cat-nav-menu .elementor-nav-menu--main .elementor-item {
    color: rgba(255, 255, 255, 0.93) !important;

    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.15);
}


/* =========================================================
   6. CONTENEDOR DEL BOTÓN
   ========================================================= */

.cat-header-actions {
    display: flex !important;
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
    align-items: center !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   7. BOTÓN WHATSAPP REFINADO
   ========================================================= */

.cat-header-whatsapp .elementor-button {
    min-height: 52px !important;

    padding: 0 22px !important;

    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 12px !important;

    background:
        linear-gradient(
            135deg,
            #28D96B 0%,
            #18B85A 55%,
            #109647 100%
        ) !important;

    box-shadow:
        0 12px 28px rgba(37, 211, 102, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
}


/* =========================================================
   8. PANTALLAS GRANDES
   ========================================================= */

@media (min-width: 1600px) {

    .cat-header {
        padding-right: 30px !important;
        padding-left: 30px !important;
    }

    .cat-header-inner {
        width: min(1480px, calc(100vw - 60px)) !important;
    }
}


/* =========================================================
   9. TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .cat-header {
        padding:
            12px
            14px
            0 !important;
    }

    .cat-header-inner {
        width: calc(100vw - 28px) !important;
        min-height: 70px !important;

        padding:
            8px
            12px !important;

        gap: 12px !important;

        border-radius: 16px !important;
    }

    .cat-header.elementor-sticky--active,
    .cat-header.elementor-sticky--effects {
        padding:
            8px
            14px
            0 !important;
    }

    .cat-header.elementor-sticky--active .cat-header-inner,
    .cat-header.elementor-sticky--effects .cat-header-inner {
        min-height: 64px !important;

        border-radius: 15px !important;
    }

    .cat-header-logo img,
    .cat-header.elementor-sticky--active .cat-header-logo img,
    .cat-header.elementor-sticky--effects .cat-header-logo img {
        max-width: 210px !important;
        max-height: 58px !important;
    }
}


/* =========================================================
   10. MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .cat-header {
        padding:
            9px
            10px
            0 !important;
    }

    .cat-header-inner {
        width: calc(100vw - 20px) !important;
        min-height: 62px !important;

        padding:
            7px
            9px !important;

        gap: 8px !important;

        border-radius: 14px !important;
    }

    .cat-header.elementor-sticky--active,
    .cat-header.elementor-sticky--effects {
        padding:
            7px
            10px
            0 !important;
    }

    .cat-header.elementor-sticky--active .cat-header-inner,
    .cat-header.elementor-sticky--effects .cat-header-inner {
        min-height: 58px !important;

        border-radius: 13px !important;
    }

    .cat-header-logo img,
    .cat-header.elementor-sticky--active .cat-header-logo img,
    .cat-header.elementor-sticky--effects .cat-header-logo img {
        max-width: 165px !important;
        max-height: 52px !important;
    }
}


/* =========================================================
   11. MÓVIL PEQUEÑO
   ========================================================= */

@media (max-width: 420px) {

    .cat-header-logo img,
    .cat-header.elementor-sticky--active .cat-header-logo img,
    .cat-header.elementor-sticky--effects .cat-header-logo img {
        max-width: 145px !important;
        max-height: 47px !important;
    }
}/* =========================================================
   CAT HERO BOOKING — GLASS VERSION
   ========================================================= */

.cat-hero-booking{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(10,28,44,.72) 0%,rgba(7,24,37,.62) 100%);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:
    0 24px 70px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.cat-hero-booking::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at top right, rgba(0,184,217,.13), transparent 30%),
    radial-gradient(circle at bottom left, rgba(244,196,74,.10), transparent 28%);
}

/* ---------- HEAD ---------- */

.cat-hero-booking .cat-hero-booking__head{
  position:relative;
  z-index:2;
  padding:24px 26px 18px;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.cat-hero-booking .cat-hero-booking__head-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.cat-hero-booking .cat-hero-booking__eyebrow{
  color:#6fd8ec;
  font-family:"Inter",sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.cat-hero-booking .cat-hero-booking__secure{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border:1px solid rgba(111,216,236,.22);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#dff9ff;
  font-family:"Inter",sans-serif;
  font-size:10px;
  font-weight:700;
}

.cat-hero-booking .cat-hero-booking__secure span{
  display:grid;
  place-items:center;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#00b8d9;
  color:#fff;
  font-size:10px;
  font-weight:800;
}

.cat-hero-booking .cat-hero-booking__head h3{
  margin:0 0 8px;
  color:#ffffff;
  font-family:"Outfit",sans-serif;
  font-size:32px;
  font-weight:700;
  line-height:1.08;
  letter-spacing:-.03em;
}

.cat-hero-booking .cat-hero-booking__head p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-family:"Inter",sans-serif;
  font-size:14px;
  line-height:1.65;
}

/* ---------- WIDGET WRAPPER ---------- */

.cat-hero-booking .elementor-widget-chauffeur-booking-form,
.cat-hero-booking .elementor-widget-shortcode{
  position:relative;
  z-index:2;
}

.cat-hero-booking .chbs-main,
.cat-hero-booking .chbs-booking-form{
  margin:0 !important;
  max-width:none !important;
  width:100% !important;
  background:transparent !important;
  font-family:"Inter",sans-serif !important;
}

/* quita fondos blancos duros si aparecen */
.cat-hero-booking .chbs-booking-form > div,
.cat-hero-booking .chbs-main > div{
  background:transparent !important;
}

/* ---------- FIELDS ---------- */

.cat-hero-booking .chbs-form-field{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.10) !important;
  transition:all .2s ease;
}

.cat-hero-booking .chbs-form-field:hover{
  background:rgba(255,255,255,.08) !important;
}

.cat-hero-booking .chbs-form-field:focus-within{
  background:rgba(255,255,255,.10) !important;
  box-shadow:
    inset 0 0 0 1px rgba(0,184,217,.45),
    0 10px 30px rgba(0,184,217,.10) !important;
}

.cat-hero-booking .chbs-form-field label{
  color:rgba(255,255,255,.62) !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.cat-hero-booking input,
.cat-hero-booking select,
.cat-hero-booking textarea{
  color:#ffffff !important;
  font-family:"Inter",sans-serif !important;
  font-size:15px !important;
  font-weight:600 !important;
  background:transparent !important;
}

.cat-hero-booking input::placeholder{
  color:rgba(255,255,255,.58) !important;
  opacity:1;
}

.cat-hero-booking [class*="chbs-icon"],
.cat-hero-booking .chbs-form-field > i{
  color:#70d7eb !important;
}

/* ---------- SECTION BARS ---------- */

.cat-hero-booking .chbs-panel,
.cat-hero-booking .chbs-panel-label,
.cat-hero-booking .chbs-form-summary-header,
.cat-hero-booking .chbs-box-header{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.10) !important;
  color:#ffffff !important;
}

/* ---------- BUTTON ---------- */

.cat-hero-booking .chbs-button,
.cat-hero-booking .chbs-button-style-1{
  min-height:56px !important;
  padding:0 28px !important;
  border:0 !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#00b8d9 0%,#078da8 100%) !important;
  color:#ffffff !important;
  font-family:"Inter",sans-serif !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 16px 36px rgba(0,184,217,.26) !important;
  transition:all .25s ease !important;
}

.cat-hero-booking .chbs-button:hover,
.cat-hero-booking .chbs-button-style-1:hover{
  transform:translateY(-2px);
  filter:brightness(1.06);
  box-shadow:0 20px 44px rgba(0,184,217,.36) !important;
}

/* ---------- FOOT ---------- */

.cat-hero-booking .cat-hero-booking__foot{
  position:relative;
  z-index:2;
  padding:18px 26px 22px;
  border-top:1px solid rgba(255,255,255,.10);
}

.cat-hero-booking .cat-hero-booking__benefits{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  margin-bottom:12px;
}

.cat-hero-booking .cat-hero-booking__benefit{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(255,255,255,.05);
}

.cat-hero-booking .cat-hero-booking__benefit span{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(0,184,217,.18);
  color:#6fe1f2;
  font-size:10px;
  font-weight:800;
}

.cat-hero-booking .cat-hero-booking__benefit strong{
  color:#ffffff;
  font-family:"Inter",sans-serif;
  font-size:12px;
  font-weight:700;
}

.cat-hero-booking .cat-hero-booking__help{
  color:rgba(255,255,255,.68);
  font-family:"Inter",sans-serif;
  font-size:12px;
  line-height:1.6;
}

.cat-hero-booking .cat-hero-booking__help a{
  color:#79e4f6;
  font-weight:800;
  text-decoration:none;
}

.cat-hero-booking .cat-hero-booking__help a:hover{
  color:#ffffff;
}

/* ---------- GOOGLE AUTOCOMPLETE ---------- */

.pac-container{
  z-index:999999 !important;
  margin-top:8px;
  border:1px solid rgba(6,47,70,.08) !important;
  border-radius:14px !important;
  box-shadow:0 18px 40px rgba(0,0,0,.18) !important;
  overflow:hidden;
  font-family:"Inter",sans-serif !important;
}

.pac-item{
  padding:10px 14px;
  border-top:1px solid #eef3f6 !important;
}

/* ---------- MOBILE ---------- */

@media(max-width:1024px){
  .cat-hero-booking .cat-hero-booking__head h3{
    font-size:28px;
  }
}

@media(max-width:767px){
  .cat-hero-booking{
    border-radius:22px;
  }

  .cat-hero-booking .cat-hero-booking__head{
    padding:20px 18px 16px;
  }

  .cat-hero-booking .cat-hero-booking__head-top{
    flex-direction:column;
    align-items:flex-start;
  }

  .cat-hero-booking .cat-hero-booking__head h3{
    font-size:24px;
  }

  .cat-hero-booking .cat-hero-booking__head p{
    font-size:13px;
  }

  .cat-hero-booking .cat-hero-booking__foot{
    padding:16px 18px 18px;
  }

  .cat-hero-booking .cat-hero-booking__benefits{
    flex-direction:column;
  }

  .cat-hero-booking .cat-hero-booking__benefit{
    width:100%;
  }
}
/* =========================================================
   CAT HERO BOOKING — FINAL UI OVERRIDES
   ========================================================= */


/* Oculta el antiguo bloque inferior si todavía existe */

.cat-hero-booking .cat-hero-booking__foot-widget{
  display:none !important;
}


/* Elimina separaciones innecesarias */

.cat-hero-booking .cat-hero-booking__head-widget,
.cat-hero-booking .elementor-widget-chauffeur-booking-form{
  margin:0 !important;
}

.cat-hero-booking .cat-hero-booking__form,
.cat-hero-booking .cat-hero-booking__form .chbs-main,
.cat-hero-booking .cat-hero-booking__form .chbs-booking-form{
  margin-top:0 !important;
  padding-top:0 !important;
}


/* Fondo y divisores de los campos */

.cat-hero-booking .chbs-form-field{
  border-color:rgba(255,255,255,.11) !important;
  background:rgba(255,255,255,.045) !important;
}

.cat-hero-booking .chbs-form-field:hover{
  background:rgba(255,255,255,.075) !important;
}

.cat-hero-booking .chbs-form-field:focus-within{
  background:rgba(255,255,255,.09) !important;
  box-shadow:
    inset 0 -2px 0 #35d5ee,
    0 10px 28px rgba(0,184,217,.10) !important;
}


/* Labels */

.cat-hero-booking .chbs-form-field label,
.cat-hero-booking .chbs-form-label-group,
.cat-hero-booking .chbs-form-field-label{
  color:rgba(255,255,255,.72) !important;
  font-family:"Inter",sans-serif !important;
  font-size:10px !important;
  font-weight:750 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase;
}


/* Valores, selects y textos introducidos */

.cat-hero-booking .chbs-form-field input,
.cat-hero-booking .chbs-form-field select,
.cat-hero-booking .chbs-form-field textarea,
.cat-hero-booking .chbs-form-field-value,
.cat-hero-booking .chbs-form-field > div{
  color:#ffffff !important;
  font-family:"Inter",sans-serif !important;
  font-size:14px !important;
  font-weight:650 !important;
}


/* Placeholders */

.cat-hero-booking .chbs-form-field input::placeholder,
.cat-hero-booking .chbs-form-field textarea::placeholder{
  color:rgba(255,255,255,.70) !important;
  opacity:1 !important;
}


/* Textos deshabilitados o preseleccionados */

.cat-hero-booking input:disabled,
.cat-hero-booking select:disabled,
.cat-hero-booking .chbs-state-disabled,
.cat-hero-booking .chbs-form-field-disabled{
  color:rgba(255,255,255,.88) !important;
  opacity:1 !important;
}


/* Íconos, flechas y ayudas */

.cat-hero-booking [class*="chbs-icon"],
.cat-hero-booking .chbs-form-field > i,
.cat-hero-booking .chbs-meta-icon,
.cat-hero-booking .chbs-form-field-icon{
  color:#45d5ec !important;
}

.cat-hero-booking .chbs-form-field .chbs-icon-question{
  color:rgba(255,255,255,.45) !important;
}


/* =========================================================
   BOTÓN PRINCIPAL
   ========================================================= */

.cat-hero-booking .chbs-button,
.cat-hero-booking .chbs-button-style-1{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  float:none !important;
  width:calc(100% - 40px) !important;
  max-width:none !important;
  min-height:55px !important;

  margin:22px 20px 25px !important;
  padding:0 25px !important;

  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:15px !important;

  background:
    linear-gradient(135deg,#08bddc 0%,#068fa9 100%) !important;

  color:#ffffff !important;
  box-shadow:
    0 15px 34px rgba(0,184,217,.27),
    inset 0 1px 0 rgba(255,255,255,.18) !important;

  font-family:"Inter",sans-serif !important;
  font-size:0 !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;

  transition:
    transform .2s ease,
    box-shadow .2s ease,
    filter .2s ease !important;
}


/* Nuevo texto visible */

.cat-hero-booking .chbs-button::before,
.cat-hero-booking .chbs-button-style-1::before{
  content:"VIEW VEHICLES & RATES";
  font-family:"Inter",sans-serif;
  font-size:12px;
  font-weight:850;
  letter-spacing:.045em;
  line-height:1;
}


/* Flecha */

.cat-hero-booking .chbs-button::after,
.cat-hero-booking .chbs-button-style-1::after{
  content:"→";
  margin-left:10px;
  font-size:17px;
  font-weight:500;
  line-height:1;
}


/* Oculta texto o íconos internos anteriores */

.cat-hero-booking .chbs-button > span,
.cat-hero-booking .chbs-button-style-1 > span,
.cat-hero-booking .chbs-button > i,
.cat-hero-booking .chbs-button-style-1 > i{
  display:none !important;
}


.cat-hero-booking .chbs-button:hover,
.cat-hero-booking .chbs-button-style-1:hover{
  transform:translateY(-2px);
  filter:brightness(1.06);
  box-shadow:
    0 20px 42px rgba(0,184,217,.36),
    inset 0 1px 0 rgba(255,255,255,.20) !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:767px){

  .cat-hero-booking .chbs-button,
  .cat-hero-booking .chbs-button-style-1{
    width:calc(100% - 28px) !important;
    margin:18px 14px 21px !important;
  }

  .cat-hero-booking .chbs-button::before,
  .cat-hero-booking .chbs-button-style-1::before{
    font-size:11px;
  }
}
/* =========================================================
   FIX — DROPDOWNS / TIME LIST / SELECTED VALUES
   ========================================================= */

/* 1) Valores visibles dentro de los campos */
.cat-hero-booking .chbs-form-field input,
.cat-hero-booking .chbs-form-field select,
.cat-hero-booking .chbs-form-field textarea,
.cat-hero-booking .chbs-form-field-value,
.cat-hero-booking .chbs-form-field-text,
.cat-hero-booking .chbs-form-field div,
.cat-hero-booking .chbs-form-field span,
.cat-hero-booking .ui-selectmenu-text,
.cat-hero-booking .select2-selection__rendered{
  color:#FFFFFF !important;
  opacity:1 !important;
  -webkit-text-fill-color:#FFFFFF !important;
}

/* 2) Placeholder / texto inicial */
.cat-hero-booking .chbs-form-field input::placeholder,
.cat-hero-booking .chbs-form-field textarea::placeholder{
  color:rgba(255,255,255,.70) !important;
  opacity:1 !important;
}

/* 3) El campo Transfer Type (One Way) */
.cat-hero-booking .chbs-form-field select option,
.cat-hero-booking .chbs-form-field .ui-selectmenu-text,
.cat-hero-booking .chbs-form-field .select2-selection__rendered{
  color:#FFFFFF !important;
  opacity:1 !important;
}

/* 4) Dropdown de horas / listas desplegables */
body .ui-timepicker-wrapper,
body .ui-selectmenu-menu,
body .select2-dropdown,
body .chbs-dropdown,
body .chbs-drop-down{
  background:rgba(8, 22, 37, .98) !important;
  border:1px solid rgba(69,213,236,.22) !important;
  box-shadow:0 18px 40px rgba(0,0,0,.38) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  border-radius:14px !important;
  overflow:hidden !important;
  z-index:99999 !important;
}

/* 5) Lista interna del dropdown */
body .ui-timepicker-list,
body .ui-menu,
body .select2-results__options{
  background:transparent !important;
  color:#FFFFFF !important;
}

/* 6) Items normales */
body .ui-timepicker-list li,
body .ui-menu .ui-menu-item,
body .ui-menu .ui-menu-item-wrapper,
body .select2-results__option{
  background:transparent !important;
  color:rgba(255,255,255,.88) !important;
  border:none !important;
}

/* 7) Hover / foco */
body .ui-timepicker-list li:hover,
body .ui-timepicker-list li.ui-timepicker-selected,
body .ui-menu .ui-menu-item-wrapper:hover,
body .ui-menu .ui-menu-item-wrapper.ui-state-active,
body .ui-menu .ui-menu-item-wrapper.ui-state-focus,
body .select2-results__option--highlighted{
  background:rgba(69,213,236,.16) !important;
  color:#45D5EC !important;
}

/* 8) Option seleccionada */
body .ui-timepicker-list li.ui-timepicker-selected,
body .ui-menu .ui-state-active,
body .select2-results__option[aria-selected="true"]{
  background:rgba(69,213,236,.18) !important;
  color:#45D5EC !important;
  font-weight:700 !important;
}

/* 9) Flechas / iconitos de selects */
.cat-hero-booking .chbs-form-field i,
.cat-hero-booking .chbs-form-field [class*="icon"],
.cat-hero-booking .chbs-form-field .chbs-meta-icon{
  color:#45D5EC !important;
}

/* 10) Si algún campo sigue oscuro, fuerza el color */
.cat-hero-booking .chbs-form-field,
.cat-hero-booking .chbs-form-field *{
  text-shadow:none !important;
}
/* =========================================================
   CAT — MOBILE HEADER + BENEFIT ICONS FINAL FIX
   PEGAR AL FINAL ABSOLUTO DEL CUSTOM CSS
   ========================================================= */


/* =========================================================
   1. HEADER TABLET Y MÓVIL
   Oculta el menú de escritorio y conserva solamente
   logo + hamburguesa + WhatsApp
   ========================================================= */

@media (max-width:1024px){

  .cat-header-inner{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    grid-template-rows:auto !important;
    justify-content:stretch !important;
    align-items:center !important;

    width:calc(100vw - 28px) !important;
    min-height:70px !important;

    margin:0 auto !important;
    padding:8px 12px !important;

    gap:10px !important;
  }


  /* Logo */

  .cat-header-brand{
    grid-column:1 !important;
    grid-row:1 !important;

    display:flex !important;
    justify-content:flex-start !important;
    align-items:center !important;

    width:auto !important;
    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;
  }

  .cat-header-logo{
    width:auto !important;
    max-width:100% !important;
  }


  /* Navegación */

  .cat-header-nav{
    grid-column:2 !important;
    grid-row:1 !important;

    display:flex !important;
    flex:0 0 auto !important;
    justify-content:center !important;
    align-items:center !important;

    width:auto !important;

    margin:0 !important;
    padding:0 !important;
  }

  .cat-nav-menu{
    width:auto !important;
    margin:0 !important;
  }

  .cat-nav-menu > .elementor-widget-container{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;

    width:auto !important;
  }


  /* CRÍTICO:
     Ocultar completamente el menú horizontal de escritorio */

  .cat-nav-menu .elementor-nav-menu--main{
    display:none !important;
    visibility:hidden !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
  }


  /* Mostrar solamente el botón hamburguesa */

  .cat-nav-menu .elementor-menu-toggle{
    display:inline-flex !important;
    justify-content:center !important;
    align-items:center !important;

    flex:0 0 48px !important;

    width:48px !important;
    min-width:48px !important;
    height:48px !important;
    min-height:48px !important;

    margin:0 !important;
    padding:0 !important;
  }


  /* Botón WhatsApp */

  .cat-header-actions{
    grid-column:3 !important;
    grid-row:1 !important;

    display:flex !important;
    flex:0 0 auto !important;
    justify-content:flex-end !important;
    align-items:center !important;

    width:auto !important;

    margin:0 !important;
    padding:0 !important;
  }
}


/* =========================================================
   2. HEADER MÓVIL
   ========================================================= */

@media (max-width:767px){

  .cat-header{
    padding:9px 10px 0 !important;
  }

  .cat-header-inner{
    grid-template-columns:minmax(0,1fr) 44px 44px !important;

    width:calc(100vw - 20px) !important;
    min-height:62px !important;

    padding:7px 9px !important;

    gap:8px !important;

    border-radius:14px !important;
  }


  /* Logo */

  .cat-header-logo img,
  .cat-header.elementor-sticky--active .cat-header-logo img,
  .cat-header.elementor-sticky--effects .cat-header-logo img{
    display:block !important;

    width:auto !important;
    max-width:165px !important;
    height:auto !important;
    max-height:52px !important;

    object-fit:contain !important;
  }


  /* Hamburguesa */

  .cat-nav-menu .elementor-menu-toggle{
    flex-basis:44px !important;

    width:44px !important;
    min-width:44px !important;
    height:44px !important;
    min-height:44px !important;

    border-radius:10px !important;
  }


  /* WhatsApp circular */

  .cat-header-whatsapp,
  .cat-header-whatsapp .elementor-widget-container{
    width:44px !important;
    height:44px !important;

    margin:0 !important;
  }

  .cat-header-whatsapp .elementor-button{
    position:relative !important;

    display:flex !important;
    justify-content:center !important;
    align-items:center !important;

    width:44px !important;
    min-width:44px !important;
    height:44px !important;
    min-height:44px !important;

    margin:0 !important;
    padding:0 !important;

    border-radius:50% !important;
  }


  /* Oculta los elementos internos originales para evitar
     un botón verde vacío cuando el icono de Elementor no carga */

  .cat-header-whatsapp .elementor-button-content-wrapper{
    position:absolute !important;

    width:1px !important;
    height:1px !important;

    overflow:hidden !important;

    clip:rect(0,0,0,0) !important;
  }


  /* Icono estable sin depender de Font Awesome */

  .cat-header-whatsapp .elementor-button::before{
    content:"";

    display:block;

    width:23px;
    height:23px;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a4 4 0 0 1-4 4H8l-5 3V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4v8Z'/%3E%3Cpath d='M8 8c.7 3 2 4.3 5 5'/%3E%3Cpath d='m8 8 1.2-1 1.3 1.8-1 .8'/%3E%3Cpath d='m13 13 1-1 1.8 1.3-1 1.2'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
  }


  /* Dropdown móvil */

  .cat-nav-menu .elementor-nav-menu--dropdown{
    position:fixed !important;

    top:79px !important;
    right:14px !important;
    left:14px !important;

    width:auto !important;
    max-height:calc(100vh - 96px) !important;

    margin:0 !important;
  }

  .cat-header.elementor-sticky--active
  .cat-nav-menu
  .elementor-nav-menu--dropdown,
  .cat-header.elementor-sticky--effects
  .cat-nav-menu
  .elementor-nav-menu--dropdown{
    top:72px !important;
  }
}


/* Móvil pequeño */

@media (max-width:420px){

  .cat-header-inner{
    grid-template-columns:minmax(0,1fr) 42px 42px !important;
    gap:7px !important;
  }

  .cat-header-logo img,
  .cat-header.elementor-sticky--active .cat-header-logo img,
  .cat-header.elementor-sticky--effects .cat-header-logo img{
    max-width:145px !important;
    max-height:47px !important;
  }

  .cat-nav-menu .elementor-menu-toggle,
  .cat-header-whatsapp,
  .cat-header-whatsapp .elementor-widget-container,
  .cat-header-whatsapp .elementor-button{
    width:42px !important;
    min-width:42px !important;
    height:42px !important;
    min-height:42px !important;
  }
}


/* =========================================================
   3. ICONOS DE LA FRANJA DE BENEFICIOS
   No dependen de Font Awesome
   ========================================================= */

.cat-benefit-icon{
  position:relative !important;

  display:inline-flex !important;
  justify-content:center !important;
  align-items:center !important;

  overflow:hidden;
}


/* Oculta iconos rotos o vacíos de Elementor */

.cat-benefit-icon > i,
.cat-benefit-icon > svg,
.cat-benefit-icon .elementor-icon{
  display:none !important;
}


/* Base del nuevo icono */

.cat-benefit-icon::before{
  content:"";

  display:block;

  width:21px;
  height:21px;

  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}


/* 1. Servicio 24/7 — reloj */

.cat-benefit:nth-child(1) .cat-benefit-icon::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F1D17A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5v5l3 2'/%3E%3C/svg%3E");
}


/* 2. Flight Monitoring — avión */

.cat-benefit:nth-child(2) .cat-benefit-icon::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F1D17A' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16v-2l-8-5V4a1 1 0 0 0-2 0v5l-8 5v2l8-2.5V19l-2 1.5V22l3-1 3 1v-1.5L13 19v-5.5L21 16Z'/%3E%3C/svg%3E");
}


/* 3. Private Vehicles — vehículo */

.cat-benefit:nth-child(3) .cat-benefit-icon::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F1D17A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 15.5h14l-1-4.5a2 2 0 0 0-2-1.5H8A2 2 0 0 0 6 11l-1 4.5Z'/%3E%3Cpath d='M4 15.5V19h2v-1h12v1h2v-3.5'/%3E%3Ccircle cx='7' cy='15.5' r='1'/%3E%3Ccircle cx='17' cy='15.5' r='1'/%3E%3C/svg%3E");
}


/* 4. Fixed Rates — etiqueta */

.cat-benefit:nth-child(4) .cat-benefit-icon::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F1D17A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 13 11 22l-9-9V4h9l9.5 9Z'/%3E%3Ccircle cx='7' cy='9' r='1.5'/%3E%3C/svg%3E");
}
/* =========================================================
   CAT HERO BOOKING — DROPDOWN CLIPPING FIX
   Permite mostrar todas las horas, pasajeros y maletas
   ========================================================= */


/* 1. Evita que la tarjeta y sus padres corten los dropdowns */

.cat-hero,
.cat-hero-booking,
.cat-hero-booking .elementor-widget,
.cat-hero-booking .elementor-widget-container,
.cat-hero-booking .cat-hero-booking__form,
.cat-hero-booking .chbs-main,
.cat-hero-booking .chbs-booking-form,
.cat-hero-booking .chbs-form-field{
  overflow:visible !important;
}


/* Mantiene redondeado el efecto interno de la tarjeta glass */

.cat-hero-booking::before{
  border-radius:inherit !important;
}


/* El campo abierto debe aparecer encima de los demás campos
   y también encima del botón */

.cat-hero-booking .chbs-form-field:focus-within{
  position:relative !important;
  z-index:99990 !important;
}


/* 2. TIME PICKER
   Máximo 300 px y desplazamiento vertical */

body .ui-timepicker-wrapper{
  display:block;
  max-height:300px !important;

  overflow-x:hidden !important;
  overflow-y:auto !important;

  z-index:999999 !important;

  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}


/* La lista completa debe conservarse dentro del scroll */

body .ui-timepicker-list{
  display:block !important;

  width:100% !important;
  max-height:none !important;

  margin:0 !important;
  padding:0 !important;

  overflow:visible !important;
}


/* 3. PERSONS, SUITCASES Y OTROS SELECTS */

body .ui-selectmenu-menu{
  overflow:visible !important;
  z-index:999999 !important;
}


/* Lista interior del .elementor-kit-5 */

body .ui-selectmenu-menu .ui-menu{
  max-height:300px !important;

  overflow-x:hidden !important;
  overflow-y:auto !important;

  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}


/* Select2, por si algún campo utiliza esa biblioteca */

body .select2-dropdown{
  overflow:visible !important;
  z-index:999999 !important;
}

body .select2-results__options{
  max-height:300px !important;

  overflow-x:hidden !important;
  overflow-y:auto !important;

  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}


/* Dropdowns propios del plugin */

body .chbs-dropdown,
body .chbs-drop-down{
  overflow:visible !important;
  z-index:999999 !important;
}

body .chbs-dropdown ul,
body .chbs-drop-down ul{
  max-height:300px !important;

  overflow-x:hidden !important;
  overflow-y:auto !important;

  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}


/* 4. SCROLLBAR DISCRETA */

body .ui-timepicker-wrapper::-webkit-scrollbar,
body .ui-selectmenu-menu .ui-menu::-webkit-scrollbar,
body .select2-results__options::-webkit-scrollbar,
body .chbs-dropdown ul::-webkit-scrollbar,
body .chbs-drop-down ul::-webkit-scrollbar{
  width:7px;
}

body .ui-timepicker-wrapper::-webkit-scrollbar-track,
body .ui-selectmenu-menu .ui-menu::-webkit-scrollbar-track,
body .select2-results__options::-webkit-scrollbar-track,
body .chbs-dropdown ul::-webkit-scrollbar-track,
body .chbs-drop-down ul::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04);
}

body .ui-timepicker-wrapper::-webkit-scrollbar-thumb,
body .ui-selectmenu-menu .ui-menu::-webkit-scrollbar-thumb,
body .select2-results__options::-webkit-scrollbar-thumb,
body .chbs-dropdown ul::-webkit-scrollbar-thumb,
body .chbs-drop-down ul::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(69,213,236,.45);
}


/* Firefox */

body .ui-timepicker-wrapper,
body .ui-selectmenu-menu .ui-menu,
body .select2-results__options,
body .chbs-dropdown ul,
body .chbs-drop-down ul{
  scrollbar-width:thin;
  scrollbar-color:rgba(69,213,236,.45) rgba(255,255,255,.04);
}/* End custom CSS */