/*============================================================================================*/
/* Your custom styles below */
/*============================================================================================*/
        /* .crx-nav-container {
            position: relative;
        }

        .crx-menu-toggle {
            display: none;
            flex-direction: column;
            justify-content: center;
            gap: 5px;
            width: 46px;
            height: 46px;
            border: none;
            background: #ff7a00;
            border-radius: 12px;
            cursor: pointer;
            padding: 10px;
        }

        .crx-menu-toggle span {
            display: block;
            width: 100%;
            height: 3px;
            background: #fff;
            border-radius: 999px;
            transition: all 0.3s ease;
        }

        .crx-menu-toggle.crx-active span:nth-child(1) {
            transform: translateY(8px) rotate(45deg);
        }

        .crx-menu-toggle.crx-active span:nth-child(2) {
            opacity: 0;
        }

        .crx-menu-toggle.crx-active span:nth-child(3) {
            transform: translateY(-8px) rotate(-45deg);
        }

        @media (max-width: 991px) {
            .crx-menu-toggle {
                display: flex;
            }

            .crx-navbar {
                position: absolute;
                top: 100%;
                left: 0;
                width: 100%;
                background: #fff;
                border-top: 1px solid rgba(0, 0, 0, 0.08);
                box-shadow: 0 14px 30px rgba(0, 0, 0, 0.10);
                padding: 18px;
                display: none;
                flex-direction: column;
                gap: 18px;
                z-index: 999;
            }

            .crx-navbar.crx-open {
                display: flex;
            }

            .crx-nav-list {
                display: flex;
                flex-direction: column;
                gap: 14px;
                list-style: none;
                padding: 0;
                margin: 0;
            }

            .crx-nav-actions {
                width: 100%;
            }

            .crx-book-btn {
                display: inline-flex;
                width: 100%;
                justify-content: center;
            }
        } */

                /*==============================
INSURANCE SECTION
===============================*/

        .insurance-section {

            background: #f5f9fd;

        }

        .insurance-card {

            position: relative;

            overflow: hidden;

            padding: 70px;

            border-radius: 35px;

            background: #fff;

            box-shadow: 0 30px 80px rgba(0, 0, 0, .08);

        }

        /* Marca de agua */

        .insurance-watermark {

            position: absolute;

            right: -120px;

            bottom: -80px;

            width: 520px;

            height: 520px;

            background: url("logo-footer.png") center center no-repeat;

            background-size: contain;

            opacity: .045;

            pointer-events: none;

            animation: floatLogo 10s ease-in-out infinite;

        }

        /* Glow */

        .insurance-card:before {

            content: "";

            position: absolute;

            top: 0;

            left: -50%;

            width: 45%;

            height: 3px;

            background: linear-gradient(90deg,
                    transparent,
                    #ffb300,
                    #ffffff,
                    #00d4ff,
                    transparent);

            animation: borderTop 6s linear infinite;

        }

        .insurance-card:after {

            content: "";

            position: absolute;

            bottom: 0;

            right: -50%;

            width: 45%;

            height: 3px;

            background: linear-gradient(90deg,
                    transparent,
                    #00d4ff,
                    #ffffff,
                    #ffb300,
                    transparent);

            animation: borderBottom 6s linear infinite;

        }

        /* Badge */

        .insurance-badge {

            display: inline-flex;

            align-items: center;

            gap: 10px;

            padding: 12px 22px;

            border-radius: 40px;

            background: #eaf8ee;

            color: #17824d;

            font-weight: 700;

            margin-bottom: 25px;

            font-size: 15px;

        }

        .insurance-badge i {

            font-size: 18px;

        }

        /* Title */

        .insurance-card h2 {

            font-size: 50px;

            font-weight: 800;

            line-height: 1.1;

            margin-bottom: 25px;

        }

        .insurance-card h2 span {

            display: block;

            color: #0d6efd;

        }

        /* Text */

        .insurance-card .lead {

            font-size: 20px;

            line-height: 1.8;

            color: #666;

            margin-bottom: 40px;

            max-width: 760px;

        }

        /* Features */

        .insurance-features {

            display: flex;

            flex-wrap: wrap;

            gap: 18px;

        }

        .feature {

            background: #fff;

            padding: 16px 24px;

            border-radius: 18px;

            font-weight: 700;

            box-shadow: 0 15px 35px rgba(0, 0, 0, .07);

            transition: .35s;

        }

        .feature:hover {

            transform: translateY(-8px);

        }

        .feature i {

            color: #00a86b;

            margin-right: 10px;

        }

        /* Policy Box */

        .policy-box {

            position: relative;

            padding: 35px;

            border-radius: 30px;

            background: linear-gradient(135deg, #0d6efd, #005ce6);

            overflow: hidden;

            text-align: center;

            box-shadow: 0 25px 60px rgba(13, 110, 253, .35);

        }

        .policy-box:before {

            content: "";

            position: absolute;

            inset: 0;

            background: url("logo-footer.png") center center no-repeat;

            background-size: 220px;

            opacity: .06;

        }

        .policy-box>* {

            position: relative;

            z-index: 2;

        }

        .policy-logo {

            width: 90px;

            margin-bottom: 20px;

            filter: drop-shadow(0 10px 20px rgba(0, 0, 0, .25));

        }

        .policy-box h4 {

            color: #fff;

            font-size: 32px;

            font-weight: 700;

            margin-bottom: 30px;

        }

        .policy-box ul {

            padding: 0;

            margin: 0 0 30px;

            list-style: none;

            text-align: left;

        }

        .policy-box li {

            display: flex;

            justify-content: space-between;

            padding: 12px 0;

            border-bottom: 1px solid rgba(255, 255, 255, .15);

            color: #fff;

        }

        .policy-box strong {

            font-weight: 700;

        }

        .policy-box span {

            font-weight: 500;

        }

        /* Button */

        .btn-insurance {

            display: inline-flex;

            align-items: center;

            gap: 12px;

            padding: 18px 35px;

            border-radius: 60px;

            background: #fff;

            font-weight: 700;

            text-decoration: none;

            color: #005ce6;

            transition: .35s;

            box-shadow: 0 15px 35px rgba(0, 0, 0, .2);

        }

        .btn-insurance:hover {

            background: #ffc107;

            color: #000;

            transform: translateY(-6px);

        }

        /* Animaciones */

        @keyframes borderTop {

            100% {

                left: 120%;

            }

        }

        @keyframes borderBottom {

            100% {

                right: 120%;

            }

        }

        @keyframes floatLogo {

            50% {

                transform: translateY(-18px) rotate(3deg);

            }

        }

        /* Responsive */

        @media(max-width:992px) {

            .insurance-card {

                padding: 40px;

            }

            .insurance-card h2 {

                font-size: 38px;

            }

            .policy-box {

                margin-top: 30px;

            }

        }

        @media(max-width:768px) {

            .insurance-card {

                padding: 30px;

            }

            .insurance-card h2 {

                font-size: 30px;

            }

            .insurance-card .lead {

                font-size: 17px;

            }

            .insurance-features {

                flex-direction: column;

            }

            .policy-logo {

                width: 70px;

            }

            .policy-box h4 {

                font-size: 26px;

            }

        }

        /*praa card */
        /* =====================================================
SLIDER DE IMÁGENES PARA LAS CARDS
===================================================== */

        .dp-card-slider {
            position: relative;
            display: block;
            width: 100%;
            height: 260px;
            overflow: hidden;
            background: #e9e9e9;
            isolation: isolate;
        }

        .dp-slider-images {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
        }

        .dp-slide {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            opacity: 0;
            transform: scale(1.04);
            transition:
                opacity 0.8s ease,
                transform 5s ease;
            will-change: opacity, transform;
        }

        .dp-slide.active {
            opacity: 1;
            transform: scale(1);
            z-index: 1;
        }

        /* Sombra suave para mejorar la lectura de los badges */
        .dp-slider-overlay {
            position: absolute;
            inset: 0;
            z-index: 2;
            pointer-events: none;
            background:
                linear-gradient(to bottom,
                    rgba(0, 0, 0, 0.08) 0%,
                    transparent 45%,
                    rgba(0, 0, 0, 0.18) 100%);
        }

        /* Mantiene los badges encima de las fotografías */
        .dp-card-slider .dp-badges {
            position: absolute;
            inset: 0;
            z-index: 3;
            pointer-events: none;
        }

        /* Indicadores inferiores */
        .dp-slider-dots {
            position: absolute;
            left: 50%;
            bottom: 13px;
            z-index: 4;
            display: flex;
            align-items: center;
            gap: 7px;
            transform: translateX(-50%);
            pointer-events: none;
        }

        .dp-slider-dot {
            display: block;
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.55);
            border: 1px solid rgba(255, 255, 255, 0.8);
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
            transition:
                width 0.3s ease,
                background-color 0.3s ease;
        }

        .dp-slider-dot.active {
            width: 20px;
            border-radius: 10px;
            background: #ffffff;
        }

        /* Evita animaciones mientras el usuario pasa el mouse */
        .dp-card-slider:hover .dp-slide.active {
            transform: scale(1.035);
        }

        @media (max-width: 767px) {
            .dp-card-slider {
                height: 235px;
            }
        }

        /* Accesibilidad */
        @media (prefers-reduced-motion: reduce) {
            .dp-slide {
                transition: opacity 0.2s ease;
                transform: none;
            }

            .dp-card-slider:hover .dp-slide.active {
                transform: none;
            }
        }

        /* =====================================================
INFORMACIÓN DEL TOUR DEBAJO DEL TÍTULO
===================================================== */

        .dp-card-info {
            position: static;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            width: 100%;
            margin: 10px 0 14px;
            opacity: 1;
            visibility: visible;
            transform: none;
        }

        .dp-card-details {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 10px 18px;
        }

        .dp-card-detail {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: #181818;
            font-size: 13px;
            font-weight: 700;
            line-height: 1;
            white-space: nowrap;
        }

        .dp-card-detail-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 15px;
        }

        .dp-card-price {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 5px;
            flex-shrink: 0;
            padding: 10px 14px;
            border-radius: 999px;
            background: #3e3e3e;
            color: #ffffff;
            font-size: 20px;
            font-weight: 800;
            line-height: 1;
            box-shadow: 0 5px 14px rgba(0, 0, 0, 0.16);
        }

        .dp-card-price small {
            color: inherit;
            font-size: 12px;
            font-weight: 700;
        }

        /* Impide que cualquier hover anterior los esconda */
        .dp-pass-card:hover .dp-card-info,
        .dp-pass-card:hover .dp-card-detail,
        .dp-pass-card:hover .dp-card-price {
            opacity: 1;
            visibility: visible;
            transform: none;
        }
