/* ng-blocks.css — CSS de bloques del tema, extraido de los <style> inline de los blades.
 *
 * Por que: una landing servia ~82 KB de CSS inline (22% del HTML) que se reenviaba
 * en cada peticion y no se podia cachear. Aqui va una sola vez, con ?v=filemtime,
 * cacheable un ano por el navegador y por el edge.
 *
 * Reglas al tocar esto:
 *  - Se carga el ULTIMO de la cadena en app.blade.php, igual que estaban los <style>
 *    inline (que iban en el body): asi se conserva el orden de cascada original.
 *  - Solo entra CSS estatico. Lo que interpola Blade ({{ }}, $vars) sigue inline.
 *  - Cada bloque conserva el comentario del blade del que salio.
 *  - Tras subirlo, comprobar que el ?v= del HTML cambio (ver memoria de cache-bust).
 */

/* ---- GoTrip/Boat/Views/frontend/blocks/list-boat/style_1.blade.php ---- */
.ng-boatgrid .ng-more-bottom { display: none; }
            @media (max-width: 767px) {
                .ng-boatgrid .ng-more-top { display: none !important; }
                .ng-boatgrid .ng-more-bottom { display: flex; justify-content: center; margin-top: 8px; }
            }

/* ---- GoTrip/Boat/Views/frontend/blocks/list-boat/style_2.blade.php ---- */
de .ng-tourCard del include. Acota tarjeta
             (aspect-ratio) y ancho de columna desde el primer pintado. Swiper sobrescribe los
             anchos con estilos inline al inicializar. --}}
        <style>
            .boat-list-item .swiper-wrapper{display:flex;}
            .boat-list-item .swiper-slide{flex:0 0 auto;width:100%;}
            @media (min-width:992px){ .boat-list-item .swiper-slide{width:calc((100% - 60px)/3);} }
            @media (min-width:1200px){ .boat-list-item .swiper-slide{width:calc((100% - 90px)/4);} }
            .boat-list-item .ng-tourCard{position:relative;display:block;overflow:hidden;border-radius:18px;aspect-ratio:3 / 4;width:100%;}
            .boat-list-item .ng-tourCard__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
            @media (max-width:575px){ .boat-list-item .ng-tourCard{aspect-ratio:5 / 4;min-height:240px;} }

            /* Botón "Más": en desktop va en el header (ng-more-top); en móvil debajo del
               slider (ng-more-bottom). Toggle nativo por CSS, sin JS. */
            .boat-list-item .ng-more-bottom { display: none; }
            @media (max-width: 767px) {
                .boat-list-item .ng-more-top { display: none !important; }
                .boat-list-item .ng-more-bottom { display: block; margin-top: 6px; }
            }

/* ---- GoTrip/Boat/Views/frontend/blocks/list-boat/style_3.blade.php ---- */
de .ng-tourCard del include. Acota tarjeta
             (aspect-ratio) y ancho de columna desde el primer pintado. Swiper sobrescribe los
             anchos con estilos inline al inicializar. --}}
        <style>
      @media (max-width: 767px) {    .style_3 .hotelsCard.-type-1 {
        flex-direction: column;
                }
            }
            .boat-list-item .swiper-wrapper{display:flex;}
            .boat-list-item .swiper-slide{flex:0 0 auto;width:100%;}
            @media (min-width:992px){ .boat-list-item .swiper-slide{width:calc((100% - 60px)/3);} }
            @media (min-width:1200px){ .boat-list-item .swiper-slide{width:calc((100% - 90px)/4);} }
            .boat-list-item .ng-tourCard{position:relative;display:block;overflow:hidden;border-radius:18px;aspect-ratio:3 / 4;width:100%;}
            .boat-list-item .ng-tourCard__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
            @media (max-width:575px){ .boat-list-item .ng-tourCard{aspect-ratio:5 / 4;min-height:240px;} }

            /* Botón "Más": en desktop va en el header (ng-more-top); en móvil debajo del
               slider (ng-more-bottom). Toggle nativo por CSS, sin JS. */
            .boat-list-item .ng-more-bottom { display: none; }
            @media (max-width: 767px) {
                .boat-list-item .ng-more-top { display: none !important; }
                .boat-list-item .ng-more-bottom { display: block; margin-top: 6px; }
            }

/* ---- GoTrip/Boat/Views/frontend/layouts/details/boat-related.blade.php ---- */
@media (max-width: 767px) {
                .ng-related-row { gap: 14px; padding-top: 20px !important; }
                .ng-related-row > [class*="col-"] {
                    flex: 0 0 78%;
                    max-width: 78%;
                }
            }

/* ---- GoTrip/Boat/Views/frontend/layouts/details/date-strip.blade.php ---- */
.ng-dateStrip {
    margin-top: 24px;
    padding: 18px 18px 14px;
    /* Sin borde/sombra/fondo propios: los aplica la regla unificadora
       .ng-pdp .ng-dateStrip (radius 18) para que todas las cards de la PDP
       sean consistentes. */
}
/* En móvil ocultamos el calendario de mes; la fecha se elige desde el formulario. */
@media (max-width: 767px) {
    .ng-dateStrip { display: none !important; }
}
.ng-dateStrip__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.ng-dateStrip__heading { min-width: 0; }
.ng-dateStrip__title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #0d1b2a;
    letter-spacing: -.1px;
    line-height: 1.25;
}
.ng-dateStrip__sub {
    display: block;
    font-size: 12.5px;
    color: #6b7280;
    margin-top: 2px;
}
.ng-dateStrip__nav {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.ng-dateStrip__navBtn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f3f5f9;
    color: #0d1b2a;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .18s ease, transform .18s ease;
}
.ng-dateStrip__navBtn:hover { background: #0d1b2a; color: #fff; }
.ng-dateStrip__navBtn:disabled { opacity: .35; cursor: not-allowed; background: #f3f5f9; color: #0d1b2a; }
.ng-dateStrip__range {
    font-size: 13.5px;
    font-weight: 600;
    color: #0d1b2a;
    min-width: 130px;
    text-align: center;
    text-transform: capitalize;
}

/* Cabecera de días de la semana */
.ng-dateStrip__weekdays {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 6px;
}
.ng-dateStrip__weekday {
    font-size: 10.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #8a93a3;
    text-align: center;
}

/* Cuadrícula del mes */
.ng-dateStrip__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
}
.ng-dateStrip__pad { visibility: hidden; }
.ng-dateStrip__day {
    appearance: none;
    background: #fff;
    border: 1px solid rgba(13,27,42,.10);
    border-radius: 11px;
    padding: 7px 2px 6px;
    min-height: 54px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    cursor: pointer;
    transition:
        border-color .18s ease,
        background .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
    text-align: center;
}
.ng-dateStrip__day:hover:not(:disabled):not(.is-blocked) {
    border-color: #0d6efd;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px -10px rgba(13,110,253,.30);
}
.ng-dateStrip__day.is-today { border-color: rgba(13,110,253,.40); }
.ng-dateStrip__day.is-selected {
    background: #0d1b2a;
    border-color: #0d1b2a;
    color: #fff;
    box-shadow: 0 12px 24px -12px rgba(13,27,42,.40);
}
.ng-dateStrip__day.is-selected .ng-dateStrip__price { color: #fff; }
.ng-dateStrip__day.is-blocked {
    opacity: .5;
    cursor: not-allowed;
    background: #f7f8fa;
}
.ng-dateStrip__day.is-blocked .ng-dateStrip__price {
    color: #c33;
    font-size: 10px;
    text-decoration: line-through;
}
.ng-dateStrip__day.is-past {
    opacity: .4;
    cursor: not-allowed;
    background: #fafbfc;
}
.ng-dateStrip__day.is-loading .ng-dateStrip__price { color: #c7ccd4; }
.ng-dateStrip__num {
    font-size: 15px;
    font-weight: 700;
    color: #0d1b2a;
    line-height: 1.05;
    letter-spacing: -.3px;
}
.ng-dateStrip__day.is-selected .ng-dateStrip__num { color: #fff; }
.ng-dateStrip__day.is-past .ng-dateStrip__num { color: #9aa3b0; }
.ng-dateStrip__price {
    font-size: 9.5px;
    font-weight: 600;
    color: #0d6efd;
    line-height: 1.05;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.ng-dateStrip__hint {
    margin: 10px 0 0;
    font-size: 12px;
    color: #6b7280;
}

@media (max-width: 575px) {
    .ng-dateStrip { padding: 14px; border-radius: 14px; }
    .ng-dateStrip__head { margin-bottom: 10px; }
    .ng-dateStrip__title { font-size: 15px; }
    .ng-dateStrip__sub { display: none; }
    .ng-dateStrip__range { min-width: 0; font-size: 13px; }
    .ng-dateStrip__navBtn { width: 30px; height: 30px; }
    .ng-dateStrip__weekdays, .ng-dateStrip__grid { gap: 4px; }
    .ng-dateStrip__day { min-height: 48px; padding: 6px 1px 5px; border-radius: 9px; }
    .ng-dateStrip__num { font-size: 14px; }
    .ng-dateStrip__price { font-size: 8.5px; }
    .ng-dateStrip__weekday { font-size: 9.5px; }
}

/* ---- GoTrip/Boat/Views/frontend/layouts/details/detail.blade.php ---- */
/* === PDP Info Airbnb-style === */
    .ng-pdpInfo {
        --bs-gutter-x: 0;
    }
    .ng-pdpInfo__section {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
        border-bottom: 1px solid #ebebeb;
    }
    .ng-pdpInfo__section:first-child { padding-top: 0 !important; }
    .ng-pdpInfo__section:last-child { border-bottom: none; }
    .ng-pdpInfo__title {
        font-size: 22px !important;
        font-weight: 600 !important;
        color: #222 !important;
        letter-spacing: -.3px !important;
        margin: 0 0 14px !important;
    }
    .ng-pdpInfo__content {
        color: #222 !important;
        font-size: 16px !important;
        line-height: 1.55 !important;
    }
    .ng-pdpInfo__content p { margin-bottom: 14px; }

    /* Specs y attributes con estilo Airbnb */
    .ng-pdpInfo .g-attributes h5 {
        font-size: 18px !important;
        font-weight: 600 !important;
        color: #222 !important;
        margin-bottom: 16px !important;
    }
    .ng-pdpInfo .g-attributes .item {
        display: flex !important;
        align-items: center;
        gap: 10px;
        padding: 10px 0 !important;
        font-size: 15px !important;
        color: #222 !important;
        border-bottom: 1px solid #f0f0f0;
    }
    .ng-pdpInfo .g-attributes .item:last-child { border-bottom: none; }
    .ng-pdpInfo .g-attributes .item i {
        font-size: 20px;
        color: #222;
    }

    @media (max-width: 767px) {
        .ng-pdpInfo__section {
            padding-top: 22px !important;
            padding-bottom: 22px !important;
        }
        .ng-pdpInfo__title { font-size: 19px !important; }
        .ng-pdpInfo__content { font-size: 15px !important; }
    }

/* ---- GoTrip/Boat/Views/frontend/layouts/search/loop-grid-2.blade.php ---- */
@media (max-width: 767px) {
  .hotelsCard.-type-1 .hotelsCard__image {
    overflow: hidden;
    border-radius: 4px;
    min-width: 45%;
    margin-right: 15px;
  }

  .hotelsCard.-type-1 {
    display: flex;
  }
}

/* ---- GoTrip/Boat/Views/frontend/layouts/search/ng-book-modal.blade.php ---- */
/* === Acciones del card === (TODO scopeado a .ng-bookcard para NO afectar
       otras cards .hotelsCard como las de los sliders que usan loop-grid).
       Desktop: --over sobre la foto (hover). Móvil: --below full-width bajo el card. */
    .ng-bookcard .cardImage { position: relative; }
    /* Anti "clic que se vuelve arrastre": sin drag nativo de la imagen/enlace
       (el ghost del navegador se percibe como si el slider se moviera y anula
       el click) y sin seleccion de texto al presionar sobre la card. */
    .ng-bookcard .cardImage a,
    .ng-bookcard .cardImage img { -webkit-user-drag: none; user-select: none; }
    .ng-bookcard .ng-cardActions,
    .ng-bookcard .ng-cardBtn { -webkit-user-drag: none; user-select: none; touch-action: manipulation; }
    /* Cursor dentro de los sliders: mano de arrastre sobre TODA la card (los <a>
       del navegador mostrarían el dedito por defecto); dedito solo en los botones. */
    .js-section-slider .ng-bookcard a { cursor: grab; }
    .js-section-slider .ng-bookcard a:active { cursor: grabbing; }
    .js-section-slider .ng-bookcard .ng-cardBtn { cursor: pointer; }
    .js-section-slider .ng-bookcard .ng-cardBtn:active { cursor: pointer; }
    .js-section-slider .ng-bookcard .cardImage__wishlist .button { cursor: pointer; }
    .ng-bookcard .ng-cardActions { display: flex; gap: 6px; }
    .ng-bookcard .ng-cardActions--over {
        position: absolute; left: 8px; right: 8px; bottom: 8px; z-index: 3;
        opacity: 0; transform: translateY(8px);
        transition: opacity .22s ease, transform .22s ease; pointer-events: none;
    }
    .ng-bookcard:hover .ng-cardActions--over { opacity: 1; transform: none; pointer-events: auto; }
    .ng-bookcard .ng-cardActions--below { display: none; }   /* oculto en desktop, visible en móvil */
    .ng-bookcard .ng-cardBtn {
        flex: 1 1 0; min-width: 0;
        display: inline-flex; align-items: center; justify-content: center; gap: 6px;
        min-height: 40px; padding: 0 10px; border-radius: 11px;
        font-size: 13px; font-weight: 700; line-height: 1; white-space: nowrap;
        text-decoration: none !important; cursor: pointer; border: 0;
        box-shadow: 0 6px 16px -8px rgba(0,0,0,.5);
    }
    .ng-bookcard .ng-cardBtn--reservar { background: linear-gradient(90deg,#ff7a00,#ff9d00); color: #fff; }
    .ng-bookcard .ng-cardBtn--reservar:hover { filter: brightness(1.05); color: #fff; }
    .ng-bookcard .ng-cardBtn--detalles { background: rgba(255,255,255,.96); color: #0d1b2a; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
    .ng-bookcard .ng-cardBtn--detalles:hover { background: #fff; color: #0d1b2a; }
    /* Móvil: ocultar los de la foto y mostrar la fila debajo del card (solo .ng-bookcard) */
    @media (max-width: 767px) {
        .ng-bookcard .ng-cardActions--over { display: none !important; }
        /* Layout horizontal (imagen 45% izq) SOLO donde lleva --h (grid/búsqueda). Cubre
           boat (.hotelsCard) y tour (.tourCard). El slider queda vertical (sin --h). */
        .ng-bookcard--h { flex-wrap: wrap; align-items: flex-start; }
        .ng-bookcard--h > .hotelsCard__image,
        .ng-bookcard--h > .tourCard__image { flex: 0 0 45%; max-width: 45%; }
        .ng-bookcard--h > .hotelsCard__content,
        .ng-bookcard--h > .tourCard__content { flex: 1 1 0; min-width: 0; }
        .ng-bookcard .ng-cardActions--below { display: flex !important; flex: 0 0 100%; width: 100%; margin-top: 12px; gap: 8px; }
        .ng-bookcard .ng-cardActions--below .ng-cardBtn { box-shadow: none; min-height: 42px; font-size: 13.5px; border-radius: 12px; }
        .ng-bookcard .ng-cardActions--below .ng-cardBtn--detalles { background: #fff; border: 1.5px solid #e3e6ea; color: #0d1b2a; -webkit-backdrop-filter: none; backdrop-filter: none; }
    }

    /* === CARD PREMIUM (sombras y elevación nivel superior) — boat/tour en sliders y grids === */
    /* El contenedor de la imagen tiene overflow:hidden y RECORTA la sombra → visible.
       La imagen sigue recortada (rounded) por .cardImage, esto solo deja respirar la sombra. */
    .ng-bookcard .hotelsCard__image,
    .ng-bookcard .tourCard__image { overflow: visible !important; }
    .ng-bookcard { transition: transform .32s cubic-bezier(.2,.7,.25,1); }
    .ng-bookcard:hover { transform: translateY(-4px); }
    .ng-bookcard .cardImage {
        border-radius: 16px !important;
        /* Sombra sofisticada en capas: gruesa y difusa pero sutil (no se nota, refina). */
        box-shadow:
            0 1px 2px rgba(16,24,40,.03),
            0 2px 4px rgba(16,24,40,.03),
            0 4px 8px rgba(16,24,40,.04),
            0 8px 16px rgba(16,24,40,.045),
            0 16px 32px rgba(16,24,40,.05),
            0 32px 56px rgba(16,24,40,.06);
        transition: box-shadow .35s ease;
    }
    .ng-bookcard:hover .cardImage {
        box-shadow:
            0 2px 4px rgba(16,24,40,.04),
            0 4px 8px rgba(16,24,40,.05),
            0 8px 16px rgba(16,24,40,.06),
            0 16px 30px rgba(16,24,40,.07),
            0 30px 50px rgba(16,24,40,.085),
            0 48px 80px rgba(16,24,40,.10);
    }
    .ng-bookcard .cardImage img { transition: transform .6s cubic-bezier(.2,.7,.25,1); border-radius: 16px !important; }
    .ng-bookcard:hover .cardImage img { transform: scale(1.06); }
    /* Badge "Destacado" → pill glass oscuro (en vez del amarillo plano) */
    .ng-bookcard .cardImage__leftBadge { z-index: 4; }
    .ng-bookcard .cardImage__leftBadge > div {
        background: rgba(13,27,42,.82) !important; color: #fff !important;
        -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
        border-radius: 999px !important; padding: 5px 12px !important;
        font-size: 10px !important; letter-spacing: .05em; font-weight: 700 !important;
        box-shadow: 0 4px 10px -4px rgba(0,0,0,.4); margin: 10px 0 0 10px;
    }
    /* Corazón wishlist */
    .ng-bookcard .cardImage__wishlist { z-index: 4; }
    .ng-bookcard .cardImage__wishlist .button { box-shadow: 0 4px 12px -4px rgba(0,0,0,.3) !important; border: 0 !important; }
    /* Contenido: tipografía + chips refinados */
    .ng-bookcard .hotelsCard__title, .ng-bookcard .tourCard__title { letter-spacing: -.015em; }
    .ng-bookcard .hotelsCard__title a:hover { color: #0a91ad; }
    /* Chip de rating → fondo negro, texto dorado (borde oro fino) */
    .ng-bookcard .flex-center.bg-blue-1.size-30 {
        background: #111111 !important; color: #e6c15a !important;
        border-radius: 9px !important; font-weight: 700 !important;
        box-shadow: inset 0 0 0 1px rgba(230,193,90,.35), 0 2px 6px -2px rgba(0,0,0,.4);
    }
    /* Precio en negro */
    .ng-bookcard .text-blue-1 { color: #111111 !important; }

    /* === Modal de reserva === */
    .ngbk { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 18px; opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; }
    .ngbk.is-open { opacity: 1; visibility: visible; }
    .ngbk__backdrop { position: absolute; inset: 0; background: rgba(9,16,27,.55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
    .ngbk__dialog { position: relative; background: #fff; border-radius: 22px; width: 100%; max-width: 900px; max-height: 92vh; overflow: auto; box-shadow: 0 30px 80px -20px rgba(9,16,27,.5); transform: translateY(14px); transition: transform .28s cubic-bezier(.2,.7,.25,1); }
    .ngbk.is-open .ngbk__dialog { transform: none; }
    /* Móvil: bottom-sheet con efecto sube/baja + se comporta como el form flotante de la PDP:
       muestra SOLO el formulario; el calendario aparece al tocar "Fecha de Inicio". */
    @media (max-width: 760px) {
        .ngbk { align-items: flex-end; padding: 0; }
        .ngbk__dialog { max-width: 100%; width: 100%; max-height: 90vh; border-radius: 22px 22px 0 0; transform: translateY(100%); transition: transform .34s cubic-bezier(.2,.7,.25,1); }
        .ngbk.is-open .ngbk__dialog { transform: translateY(0); }
        .ngbk__dialog::before { content: ''; display: block; width: 42px; height: 4px; border-radius: 999px; background: #d7dbe0; margin: 10px auto 0; position: sticky; top: 0; z-index: 5; }
        /* Por defecto: solo el form. El calendario oculto hasta tocar la fecha. */
        .ngbk__cal { display: none; }
        .ngbk.is-cal .ngbk__cal { display: block; }
        .ngbk.is-cal .ngbk__form { display: none; }
        .ngbk__dateSel { cursor: pointer; }
    }
    .ngbk__x { position: absolute; top: 12px; right: 14px; z-index: 4; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #f1f3f6; color: #0d1b2a; font-size: 22px; line-height: 1; cursor: pointer; }
    .ngbk__x:hover { background: #e6e9ee; }
    .ngbk__cols { display: grid; grid-template-columns: 1.1fr 1fr; }
    @media (max-width: 760px) { .ngbk__cols { grid-template-columns: 1fr; } }

    .ngbk__cal { padding: 26px 24px; }
    .ngbk__calHead { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
    .ngbk__calTitle { font-size: 19px; font-weight: 700; color: #101418; }
    .ngbk__calSub { font-size: 13px; color: #6b7280; margin-top: 2px; }
    .ngbk__nav { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
    /* Forzar visibilidad: sus clases js-ngbk-prev/next chocan con la regla global
       [class*="js-"][class*="-prev"]{display:none} que oculta flechas de sliders en móvil. */
    .ngbk .ngbk__nav .ngbk__navBtn { display: inline-flex !important; }
    .ngbk__navBtn { width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid #cfd5dd; background: #eef1f5; color: #0d1b2a; font-size: 24px; font-weight: 700; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px -3px rgba(13,27,42,.25); }
    .ngbk__navBtn:disabled { opacity: .35; cursor: default; }
    .ngbk__navBtn:not(:disabled):hover { background: #0d1b2a; color: #fff; border-color: #0d1b2a; }
    .ngbk__month { font-size: 15px; font-weight: 700; color: #101418; min-width: 110px; text-align: center; }
    .ngbk__dow { display: grid; grid-template-columns: repeat(7,1fr); gap: 8px; margin-bottom: 8px; }
    .ngbk__dow span { text-align: center; font-size: 11px; font-weight: 600; letter-spacing: .04em; color: #9aa2ad; }
    .ngbk__grid { display: grid; grid-template-columns: repeat(7,1fr); gap: 8px; }
    .ngbk__cell { min-height: 56px; border: 1px solid #eceef2; background: #fff; border-radius: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; cursor: pointer; padding: 4px 2px; transition: border-color .15s, box-shadow .15s, background .15s; }
    .ngbk__cell--empty { border: 0; background: transparent; cursor: default; }
    .ngbk__cell:not(.is-past):not(.ngbk__cell--empty):hover { border-color: #16b8c9; box-shadow: 0 4px 12px -6px rgba(22,184,201,.5); }
    .ngbk__cell.is-past { color: #c7ccd3; background: #fafbfc; cursor: default; }
    .ngbk__cell.is-sel { border-color: #16b8c9; box-shadow: 0 0 0 2px rgba(22,184,201,.35) inset; }
    .ngbk__d { font-size: 15px; font-weight: 700; color: #101418; }
    .ngbk__cell.is-past .ngbk__d { color: #c7ccd3; }
    .ngbk__p { font-size: 10.5px; font-weight: 600; color: #2563eb; }
    /* Días de meses adyacentes (relleno del grid) */
    .ngbk__cell.is-other { border-color: transparent; background: transparent; cursor: default; pointer-events: none; box-shadow: none; }
    .ngbk__cell.is-other .ngbk__d { color: #d5d9de; }
    /* Botones Cancelar / Aplicar del calendario (solo móvil) */
    .ngbk__calActions { display: none; }
    .ngbk__calBtn { border: 0; border-radius: 999px; padding: 11px 24px; font-size: 14.5px; font-weight: 700; cursor: pointer; }
    .js-ngbk-cancel { background: #eef0f2; color: #0d1b2a; }
    .ngbk__calBtn--apply { background: #0d1b2a; color: #fff; }

    /* Móvil: datepicker estilo PDP — solo números en círculos, sin precios ni bordes */
    @media (max-width: 760px) {
        .ngbk__cal { padding: 22px 14px 16px; }
        .ngbk__calTitle, .ngbk__calSub { display: none; }
        .ngbk__calHead { justify-content: center; margin-bottom: 12px; }
        .ngbk__dow { gap: 0; margin-bottom: 4px; }
        .ngbk__grid { gap: 4px 0; }
        .ngbk__cell { min-height: 46px; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0; }
        .ngbk__cell:hover { box-shadow: none !important; }
        .ngbk__p { display: none; }
        .ngbk__d { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-size: 15px; }
        .ngbk__cell.is-today .ngbk__d { background: #eef0f2; }
        .ngbk__cell.is-sel .ngbk__d { background: #0d1b2a; color: #fff; }
        .ngbk__cell.is-other .ngbk__d, .ngbk__cell.is-past .ngbk__d { color: #cdd2d8; }
        .ngbk__calActions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; }
    }

    .ngbk__form { padding: 26px 24px; border-left: 1px solid #f0f2f5; background: #fff; }
    @media (max-width: 760px) { .ngbk__form { border-left: 0; border-top: 1px solid #f0f2f5; } }
    .ngbk__priceRow { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 16px; }
    .ngbk__badge { display: inline-block; background: #0d1b2a; color: #fff; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; padding: 4px 10px; border-radius: 999px; text-transform: uppercase; }
    .ngbk__price { margin-top: 8px; font-size: 15px; color: #6b7280; }
    .ngbk__price strong { font-size: 26px; color: #101418; font-weight: 800; }
    .ngbk__rating { display: inline-flex; align-items: center; gap: 4px; background: #0d1b2a; color: #fff; font-size: 13px; font-weight: 700; padding: 6px 11px; border-radius: 10px; flex: 0 0 auto; }
    .ngbk__rating span { color: #ffc107; }
    .ngbk__dateSel { display: flex; align-items: center; gap: 12px; border: 1.5px solid #e6e9ee; border-radius: 14px; padding: 12px 14px; margin-bottom: 14px; }
    .ngbk__calIcon { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 12px; background: #f3f5f9; display: inline-flex; align-items: center; justify-content: center; color: #0d1b2a; }
    .ngbk__dateLbl { font-size: 11px; font-weight: 700; letter-spacing: .04em; color: #ff7a00; text-transform: uppercase; }
    .ngbk__dateVal { font-size: 16px; font-weight: 700; color: #101418; }
    .ngbk__chev { margin-left: auto; color: #9aa2ad; font-size: 20px; }
    /* Selector de personas (solo tours) */
    .ngbk__guests { display: none; align-items: center; justify-content: space-between; gap: 12px; border: 1.5px solid #e6e9ee; border-radius: 14px; padding: 10px 14px; margin-bottom: 14px; }
    .ngbk.is-tour .ngbk__guests { display: flex; }
    .ngbk__guestsSub { font-size: 12.5px; color: #8a919b; margin-top: 2px; }
    .ngbk__stepper { display: inline-flex; align-items: center; gap: 14px; flex: 0 0 auto; }
    .ngbk__stepBtn { width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid #d7dbe0; background: #fff; color: #0d1b2a; font-size: 20px; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
    .ngbk__stepBtn:not(:disabled):hover { background: #0d1b2a; color: #fff; border-color: #0d1b2a; }
    .ngbk__stepBtn:disabled { opacity: .4; cursor: default; }
    .ngbk__guestsVal { font-size: 17px; font-weight: 700; color: #101418; min-width: 18px; text-align: center; }
    /* Grupos / tipos de persona (paridad con la PDP): una fila por grupo con su precio y contador */
    .ngbk__ptypes { display: none; margin-bottom: 14px; }
    .ngbk.is-ptypes .ngbk__ptypes { display: block; }
    .ngbk.is-ptypes .ngbk__guests { display: none !important; }
    .ngbk__ptRow { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1.5px solid #e6e9ee; border-radius: 14px; padding: 10px 14px; margin-bottom: 10px; }
    .ngbk__ptName { font-size: 14.5px; font-weight: 700; color: #101418; }
    .ngbk__ptPrice { font-size: 12.5px; color: #8a919b; margin-top: 2px; }
    .ngbk__ptHint { font-size: 11.5px; color: #b0b6be; margin-top: 1px; }
    .ngbk__cta { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 52px; border-radius: 14px; font-size: 16px; font-weight: 700; text-decoration: none !important; margin-bottom: 10px; transition: filter .15s, transform .15s; }
    .ngbk__cta.is-disabled { opacity: .5; pointer-events: none; }
    .ngbk__cta--book { background: linear-gradient(90deg,#ff6a00,#ff9d00); color: #fff; }
    .ngbk__cta--book:hover { filter: brightness(1.05); transform: translateY(-1px); color: #fff; }
    .ngbk__cta--wa { background: #0d1b2a; color: #fff; }
    .ngbk__cta--wa:hover { background: #16232f; color: #fff; }
    .ngbk__note { text-align: center; font-size: 12.5px; color: #8a919b; margin: 6px 0 18px; }
    .ngbk__trust { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; border-top: 1px solid #f0f2f5; padding-top: 16px; }
    .ngbk__trust .t-h { font-size: 12.5px; font-weight: 700; color: #101418; display: flex; align-items: center; gap: 6px; }
    .ngbk__trust .t-s { font-size: 11.5px; color: #8a919b; line-height: 1.35; margin-top: 3px; }
    .ngbk__trust svg { color: #16b8c9; flex: 0 0 auto; }

/* ---- GoTrip/Car/Views/frontend/user/availability.blade.php ---- */
.event-name {
            text-overflow: ellipsis;
            white-space: nowrap;
            overflow: hidden;
        }

        #dates-calendar .loading {}

/* ---- GoTrip/Layout/app.blade.php ---- */
/* Botón WhatsApp de los formularios de reserva (negro → verde WhatsApp en hover).
       Va aquí (head, fuera del app Vue del form, que descarta los <style> internos). */
    .booking-wa-cta {
        display: flex; align-items: center; justify-content: center; gap: 10px;
        width: 100%; margin-top: 10px;
        padding: 13px 18px; border-radius: 14px;
        background: #111; color: #fff !important;
        font-size: 15px; font-weight: 700; line-height: 1;
        text-decoration: none !important; cursor: pointer; border: 0;
        transition: background .2s ease, transform .15s ease, box-shadow .2s ease;
    }
    .booking-wa-cta svg { width: 22px; height: 22px; flex: 0 0 auto; }
    .booking-wa-cta:hover {
        background: #25D366; color: #fff !important;
        transform: translateY(-1px);
        box-shadow: 0 8px 18px -6px rgba(37,211,102,.45);
    }
    @media (max-width: 767px) {
        /* HERO grande full-bleed — más presencia visual */
        body.frontend-page .ng-abGallery__grid {
            aspect-ratio: auto !important;
            height: 55vh !important;
            min-height: 350px !important;
            max-height: 600px !important;
        }
        /* Título compacto, máx 2 líneas */
        body.frontend-page .ng-pdpHead__title {
            font-size: 17px !important;
            line-height: 1.18 !important;
            letter-spacing: -.3px !important;
            margin: 0 !important;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        /* Header del PDP pegado al hero */
        body.ng-pdp__gallery-top .ng-pdp__header { padding: 8px 0 2px !important; }
        /* Ocultar card del operador en el primer impacto (estilo Airbnb va más abajo) */
        body.ng-pdp__gallery-top .bc_single_book .owner-info { display: none !important; }
        /* Menos inset lateral acumulado: la columna del contenido (gutter bootstrap
           12px) se reduce en móvil para que las cards usen más ancho. Alta
           especificidad para ganarle a .ng-pdp__body .row > [class*="col-"]. */
        /* Quitar el aire grande entre título y reserva. El theme lo suma con
           section.pt-40 (pad+margin) + y-gap-30 (row/col margin). Targeteamos por la
           estructura REAL — sirve para tours (section.pt-40 + .bc_content) y para
           botes (.ng-pdp__body), scope al bloque que contiene .ng-pdp__main. */
        body.ng-pdp__gallery-top .ng-pdp__header { padding: 8px 0 0 !important; }
        body.ng-pdp__gallery-top section.pt-40:has(.ng-pdp__main),
        body.ng-pdp__gallery-top .ng-pdp__body {
            padding-top: 6px !important;
            margin-top: 0 !important;
        }
        body.ng-pdp__gallery-top .row.y-gap-30:has(.ng-pdp__main) {
            margin-top: 0 !important;
            --bs-gutter-y: 0 !important;
        }
        body.ng-pdp__gallery-top .row.y-gap-30 > .ng-pdp__main {
            margin-top: 0 !important;
            padding-top: 0 !important;
            padding-left: 8px !important;
            padding-right: 8px !important;
        }
        /* Booking ultra-compacto */
        body.ng-pdp__gallery-top .bc_single_book { margin-top: 0 !important; }
        body.ng-pdp__gallery-top .bc_detail .bc_single_book #bc_boat_book_app,
        body.ng-pdp__gallery-top .bc_detail .bc_single_book #bc_tour_book_app {
            padding: 16px !important;
            border-radius: 14px !important;
        }
        body.ng-pdp__gallery-top .bc-book-header { margin-bottom: 3px !important; padding: 0 4px !important; }
        body.ng-pdp__gallery-top .bc-book-price { font-size: 17px !important; }
        body.ng-pdp__gallery-top .bc-book-priceChip { font-size: 9px !important; padding: 1px 6px !important; }
        body.ng-pdp__gallery-top .bc-book-ratingChip { padding: 4px 8px !important; }
        /* Especificidad alta (0,4,1) para ganarle a la regla base de escritorio
           .bc_detail .form-book .bc-book-dateCard (padding 16px 18px) que se colaba en móvil. */
        body.ng-pdp__gallery-top .bc_detail .form-book .bc-book-dateCard {
            padding: 8px 11px !important;
            margin-bottom: 5px !important;
            gap: 10px !important;
            min-height: 0 !important;
        }
        body.ng-pdp__gallery-top .bc-book-dateIcon { width: 28px !important; height: 28px !important; }
        body.ng-pdp__gallery-top .bc-book-dateIcon svg { width: 14px !important; height: 14px !important; }
        body.ng-pdp__gallery-top .bc-book-dateLabel { font-size: 9.5px !important; }
        body.ng-pdp__gallery-top .bc-book-dateTitle { font-size: 13px !important; }
        body.ng-pdp__gallery-top .bc-book-dateHelper { display: none !important; }
        /* CTA prominente (CRO) */
        body.ng-pdp__gallery-top .submit-group { margin-top: 4px !important; }
        body.ng-pdp__gallery-top .booking-cta { padding: 12px 16px !important; font-size: 15.5px !important; }
        body.ng-pdp__gallery-top .booking-note { margin-top: 10px !important; font-size: 10.5px !important; }
        body.ng-pdp__gallery-top .booking-bottom-trust { margin-top: 6px !important; padding-top: 6px !important; }

        /* === Breadcrumb móvil: una sola línea con scroll horizontal, look moderno === */
        body.frontend-page .blog-breadcrumb {
            background: #fff !important;
            border-top: 1px solid #eef0f3 !important;
            padding: 10px 0 !important;
        }
        body.frontend-page .blog-breadcrumb .container {
            padding-left: 16px !important;
            padding-right: 16px !important;
        }
        body.frontend-page .blog-breadcrumb ol {
            flex-wrap: nowrap !important;
            overflow-x: auto !important;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
            margin: 0 !important;
            padding: 0 !important;
            --bs-gutter-x: 0 !important;
            gap: 6px !important;
            -webkit-mask-image: linear-gradient(to right, #000 88%, transparent);
            mask-image: linear-gradient(to right, #000 88%, transparent);
        }
        body.frontend-page .blog-breadcrumb ol::-webkit-scrollbar { display: none; }
        body.frontend-page .blog-breadcrumb li {
            white-space: nowrap !important;
            font-size: 12px !important;
            padding: 0 !important;
        }
        body.frontend-page .blog-breadcrumb a { color: #8a93a3 !important; text-decoration: none !important; }
        body.frontend-page .blog-breadcrumb li > div { color: #c7ccd4 !important; }
        body.frontend-page .blog-breadcrumb li.active span,
        body.frontend-page .blog-breadcrumb li.active .text-dark-1 {
            color: #0d1b2a !important;
            font-weight: 600 !important;
        }
    }

/* ---- GoTrip/Layout/common/detail/faq2.blade.php ---- */
/* PDP FAQ — anular paddings excesivos del theme (px-20 py-20, pl-60, etc.) */
.bc-faq-lists.ng-faq-fixed .accordion.-simple {
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 10px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.bc-faq-lists.ng-faq-fixed .accordion.-simple > .col-12 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.bc-faq-lists.ng-faq-fixed .accordion__item {
    padding: 14px 18px !important;
    border: 1px solid rgba(13,27,42,.08) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 1px 2px rgba(13,27,42,.04) !important;
    transition: box-shadow .2s ease, border-color .2s ease;
}
.bc-faq-lists.ng-faq-fixed .accordion__item:hover {
    box-shadow: 0 6px 18px -10px rgba(13,27,42,.12), 0 2px 6px rgba(13,27,42,.04) !important;
    border-color: rgba(13,27,42,.14) !important;
}
.bc-faq-lists.ng-faq-fixed .accordion__item.is-active {
    box-shadow: 0 10px 28px -14px rgba(13,27,42,.18), 0 3px 8px rgba(13,27,42,.06) !important;
    border-color: rgba(13,27,42,.14) !important;
}
.bc-faq-lists.ng-faq-fixed .accordion__button { gap: 12px !important; cursor: pointer; }
.bc-faq-lists.ng-faq-fixed .accordion__icon {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    margin-right: 0 !important;
    background: #f5f6f8 !important;
    color: #0d1b2a !important;
    border-radius: 50% !important;
    flex-shrink: 0;
}
.bc-faq-lists.ng-faq-fixed .accordion__item.is-active .accordion__icon {
    background: #0d1b2a !important;
    color: #fff !important;
}
.bc-faq-lists.ng-faq-fixed .accordion__button .button {
    color: #0d1b2a !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    padding: 0 !important;
    text-align: left;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.bc-faq-lists.ng-faq-fixed .accordion__content > .pt-20 {
    padding-top: 10px !important;
    padding-left: 44px !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
}
.bc-faq-lists.ng-faq-fixed .accordion__content p {
    color: #5a6675 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0;
}
@media (max-width: 575px) {
    body.frontend-page .bc_detail .bc-faq-lists,
    body.frontend-page .ng-pdp .bc-faq-lists {
        padding: 0px !important;
    }
    .bc-faq-lists.ng-faq-fixed .accordion__item { padding: 12px 14px !important; border-radius: 12px !important; }
    .bc-faq-lists.ng-faq-fixed .accordion__button { gap: 10px !important; }
    .bc-faq-lists.ng-faq-fixed .accordion__button .button { font-size: 14px !important; }
    .bc-faq-lists.ng-faq-fixed .accordion__icon { width: 28px !important; height: 28px !important; min-width: 28px !important; }
    .bc-faq-lists.ng-faq-fixed .accordion__content > .pt-20 { padding-left: 0 !important; padding-top: 8px !important; }
    .bc-faq-lists.ng-faq-fixed .accordion__content p { font-size: 13px !important; }
}

/* ---- GoTrip/Layout/common/detail/gallery-airbnb.blade.php ---- */
.ng-abGallery {
        position: relative;
        margin-top: 0;
        border-radius: 12px;
        overflow: hidden;
        isolation: isolate;
    }
    .ng-abGallery__grid {
        display: grid;
        grid-template-columns: 1.5fr 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        gap: 6px;
        aspect-ratio: 2 / 1;
        width: 100%;
    }
    .ng-abGallery__cell {
        position: relative;
        overflow: hidden;
        cursor: pointer;
        background: #f2f2f2;
        text-decoration: none;
    }
    .ng-abGallery__cell:first-child,
    .ng-abGallery__cell--main {
        grid-row: 1 / span 2;
        grid-column: 1;
        border-top-left-radius: 12px;
        border-bottom-left-radius: 12px;
    }
    .ng-abGallery__cell:nth-child(2) { border-top-right-radius: 0; }
    .ng-abGallery__cell:nth-child(3) {
        border-top-right-radius: 12px;
    }
    .ng-abGallery__cell:nth-child(5) {
        border-bottom-right-radius: 12px;
    }
    .ng-abGallery__cell img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform .45s cubic-bezier(.2,.7,.25,1), filter .25s ease;
    }
    .ng-abGallery__cell:hover img {
        filter: brightness(.92);
    }
    .ng-abGallery__cell--placeholder { pointer-events: none; }
    .ng-abGallery__cell--placeholder img { opacity: .35; filter: blur(6px); }

    /* Botón "Ver todas las fotos" — Airbnb */
    .ng-abGallery__showAll {
        position: absolute;
        bottom: 16px;
        right: 16px;
        z-index: 5;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 9px 14px;
        background: #fff;
        color: #222;
        font-size: 13px;
        font-weight: 600;
        border-radius: 8px;
        border: 1px solid #222;
        text-decoration: none;
        transition: transform .15s ease, box-shadow .15s ease;
        line-height: 1;
    }
    .ng-abGallery__showAll:hover {
        color: #222;
        text-decoration: none;
        transform: translateY(-1px);
        box-shadow: 0 4px 10px rgba(0, 0, 0, .15);
    }
    .ng-abGallery__videoBtn {
        position: absolute;
        bottom: 16px;
        left: 16px;
        z-index: 5;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 9px 14px;
        background: rgba(0,0,0,.78);
        color: #fff;
        font-size: 13px;
        font-weight: 600;
        border-radius: 8px;
        text-decoration: none;
        transition: transform .15s ease;
    }
    .ng-abGallery__videoBtn:hover { color: #fff; transform: translateY(-1px); text-decoration: none; }

    /* Dots indicator + counter (solo mobile) */
    .ng-abGallery__dots { display: none; }
    .ng-abGallery__counter { display: none; }

    /* Mobile: una columna grande, scroll horizontal de thumbs */
    @media (max-width: 767px) {
        .ng-abGallery {
            border-radius: 0;
            margin: 0 -16px;
            position: relative;
        }
        .ng-abGallery__grid {
            display: flex;
            grid-template-columns: none;
            grid-template-rows: none;
            gap: 0;
            aspect-ratio: 6 / 5;
            max-height: none;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
        }
        .ng-abGallery__grid::-webkit-scrollbar { display: none; }
        .ng-abGallery__cell,
        .ng-abGallery__cell--main {
            grid-row: auto !important;
            grid-column: auto !important;
            flex: 0 0 100%;
            scroll-snap-align: start;
            border-radius: 0 !important;
        }
        .ng-abGallery__cell--placeholder { display: none; }
        .ng-abGallery__showAll {
            bottom: 12px;
            right: 12px;
            padding: 6px 11px;
            font-size: 12px;
            border-radius: 999px;
        }
        .ng-abGallery__videoBtn {
            display: none !important;
        }

        /* Dots */
        .ng-abGallery__dots {
            display: flex;
            position: absolute;
            left: 50%;
            bottom: 30px;
            transform: translateX(-50%);
            gap: 6px;
            z-index: 4;
            padding: 6px 10px;
            background: rgba(0,0,0,.32);
            border-radius: 999px;
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
            pointer-events: none;
        }
        .ng-abGallery__dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: rgba(255,255,255,.55);
            transition: background .25s ease, transform .25s ease, width .25s ease;
        }
        .ng-abGallery__dot.is-active {
            background: #fff;
            width: 16px;
            border-radius: 999px;
        }
        /* Counter top-right */
        .ng-abGallery__counter {
            display: inline-flex;
            align-items: center;
            position: absolute;
            top: 12px;
            right: 12px;
            z-index: 4;
            padding: 4px 10px;
            background: rgba(0,0,0,.55);
            color: #fff;
            font-size: 12px;
            font-weight: 600;
            border-radius: 999px;
            pointer-events: none;
            letter-spacing: .2px;
        }
    }

/* ---- GoTrip/Layout/common/detail/gallery-stories.blade.php ---- */
.ng-stories { display: none; }
        @media (max-width: 767px) {
            .ng-stories {
                display: block;
                padding: 20px 0px;
            }
            .ng-stories__grid {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 12px;
            }
            .ng-stories__item {
                display: block;
                width: 100%;
                aspect-ratio: 3 / 4;
                text-decoration: none;
                -webkit-tap-highlight-color: transparent;
            }
            .ng-stories__item--hidden { display: none; }
            .ng-stories__imgWrap {
                display: block;
                width: 100%;
                height: 100%;
                border-radius: 16px;
                overflow: hidden;
                background: #eee;
                box-shadow: 0 6px 16px -8px rgba(13, 27, 42, .35);
            }
            .ng-stories__imgWrap img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                display: block;
            }
            .ng-stories__item:active .ng-stories__imgWrap { transform: scale(.98); }
            .ng-stories__more {
                display: block;
                width: 100%;
                margin-top: 14px;
                padding: 12px 16px;
                border: 1px solid #0d1b2a;
                background: #fff;
                color: #0d1b2a;
                border-radius: 12px;
                font-size: 14px;
                font-weight: 600;
                cursor: pointer;
                transition: background .15s ease, color .15s ease;
            }
            .ng-stories__more:active { background: #0d1b2a; color: #fff; }
        }

/* ---- GoTrip/Layout/common/detail/review.blade.php ---- */
@media (max-width: 767px) {
                .ng-review-row { gap: 14px; }
                .ng-review-row > .review-item {
                    flex: 0 0 85%;
                    max-width: 85%;
                    background: #fff;
                    border: 1px solid #e6e8ec;
                    border-radius: 16px;
                    padding: 18px 18px 20px;
                    box-shadow: 0 4px 14px -8px rgba(13, 27, 42, .18);
                }
                .ng-review-row > .review-item .mt-20 { margin-top: 12px !important; }
                .ng-review-row > .review-item p { margin-bottom: 0; }
            }

/* ---- GoTrip/Layout/common/more-buttons.blade.php ---- */
.ng-moreBtns { display: inline-flex; align-items: stretch; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
    .ng-moreBtn {
        display: inline-flex; align-items: center; justify-content: center; gap: 8px;
        min-height: 46px; padding: 0 22px; border-radius: 999px;
        font-size: 15px; font-weight: 600; line-height: 1;
        text-decoration: none !important; cursor: pointer; white-space: nowrap;
        transition: filter .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
    }
    .ng-moreBtn svg { flex: 0 0 auto; }
    .ng-moreBtn--primary {
        background: #0dcaf0; color: #000 !important; border: 1.5px solid #0dcaf0;
    }
    .ng-moreBtn--primary:hover { filter: brightness(.94); color: #000 !important; }
    .ng-moreBtn--wa {
        background: transparent; color: #0d1b2a !important; border: 1.5px solid #0d1b2a;
    }
    .ng-moreBtn--wa:hover { background: #0d1b2a; color: #fff !important; }

    @media (max-width: 767px) {
        .ng-moreBtns { display: flex; width: 100%; justify-content: center; margin-top: 18px; }
    }

/* ---- GoTrip/Layout/parts/footer-style/index.blade.php ---- */
.ng-footerAbout__toggle { display: none; }
                    @media (max-width: 767px) {
                        .ng-footerAbout { width: 100%; }
                        .ng-footerAbout__toggle {
                            display: inline-flex; align-items: center; gap: 6px;
                            background: transparent; border: 0; padding: 4px 0;
                            color: inherit; font-size: 13px; font-weight: 600;
                            cursor: pointer; opacity: .9;
                        }
                        .ng-footerAbout__toggle svg { transition: transform .2s ease; opacity: .7; }
                        .ng-footerAbout.is-open .ng-footerAbout__toggle svg { transform: rotate(180deg); }
                        .ng-footerAbout__body { display: none; margin-top: 10px; }
                        .ng-footerAbout.is-open .ng-footerAbout__body { display: block; }
                    }

/* ---- GoTrip/Layout/parts/header.blade.php ---- */
.ngsm .modal-dialog{ max-width:560px; }
.ngsm__content{ border:0; border-radius:18px; padding:22px 22px 14px; box-shadow:0 24px 60px rgba(13,43,62,.22); }
.ngsm__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.ngsm__title{ font-size:19px; font-weight:600; color:#0d2b3e; margin:0; }
.ngsm__close{ border:0; background:#f2f4f6; width:34px; height:34px; border-radius:50%; font-size:20px; line-height:1; color:#5b6572; cursor:pointer; }
.ngsm__close:hover{ background:#e7eaee; }
.ngsm__box{ display:flex; align-items:center; gap:10px; border:1.5px solid #e2e7ec; border-radius:14px; padding:12px 16px; transition:border-color .15s; }
.ngsm__box:focus-within{ border-color:#0dcaf0; box-shadow:0 0 0 3px rgba(13,202,240,.12); }
.ngsm__box i{ color:#9aa4af; font-size:18px; }
.ngsm__box input{ border:0; outline:0; width:100%; font-size:15px; color:#0d2b3e; background:transparent; font-family:inherit; }
.ngsm__results{ margin-top:8px; max-height:52vh; overflow-y:auto; }
.ngsm__item{ display:flex; align-items:center; gap:12px; padding:10px 6px; border-radius:12px; text-decoration:none; }
.ngsm__item:hover{ background:#f5f7f8; }
.ngsm__item img{ width:52px; height:44px; object-fit:cover; border-radius:9px; flex-shrink:0; background:#e8ecef; }
.ngsm__it-b{ min-width:0; }
.ngsm__it-t{ display:block; font-size:14px; font-weight:500; color:#0d2b3e; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ngsm__it-s{ display:block; font-size:12px; color:#8a95a1; }
.ngsm__tag{ margin-left:auto; flex-shrink:0; font-size:10.5px; font-weight:600; text-transform:uppercase; letter-spacing:.4px; color:#0dcaf0; background:rgba(13,202,240,.10); padding:3px 9px; border-radius:100px; }
.ngsm__empty{ padding:14px 6px; font-size:13.5px; color:#8a95a1; }
.ngsm__all{ display:flex; align-items:center; gap:9px; margin-top:6px; padding:13px 14px; border-top:1px solid #eef0f2; font-size:14px; font-weight:500; color:#0d2b3e; text-decoration:none; }
.ngsm__all i{ color:#0dcaf0; }
.ngsm__all:hover{ color:#0dcaf0; }
.ngsm__all b{ font-weight:700; }
.icon-search.ng-search-trigger{ cursor:pointer; }
.ng-search-trigger.icon-search::before{
    content:"" !important;
    display:inline-block;
    width:22px; height:22px;
    background-color:currentColor;
    border:0 !important; padding:0 !important;
    -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill-rule%3D%27evenodd%27%20clip-rule%3D%27evenodd%27%20d%3D%27M4%2011C4%207.13401%207.13401%204%2011%204C14.866%204%2018%207.13401%2018%2011C18%2014.866%2014.866%2018%2011%2018C7.13401%2018%204%2014.866%204%2011ZM11%202C6.02944%202%202%206.02944%202%2011C2%2015.9706%206.02944%2020%2011%2020C13.125%2020%2015.078%2019.2635%2016.6177%2018.0319L20.2929%2021.7071C20.6834%2022.0976%2021.3166%2022.0976%2021.7071%2021.7071C22.0976%2021.3166%2022.0976%2020.6834%2021.7071%2020.2929L18.0319%2016.6177C19.2635%2015.078%2020%2013.125%2020%2011C20%206.02944%2015.9706%202%2011%202Z%27%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
    mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20fill-rule%3D%27evenodd%27%20clip-rule%3D%27evenodd%27%20d%3D%27M4%2011C4%207.13401%207.13401%204%2011%204C14.866%204%2018%207.13401%2018%2011C18%2014.866%2014.866%2018%2011%2018C7.13401%2018%204%2014.866%204%2011ZM11%202C6.02944%202%202%206.02944%202%2011C2%2015.9706%206.02944%2020%2011%2020C13.125%2020%2015.078%2019.2635%2016.6177%2018.0319L20.2929%2021.7071C20.6834%2022.0976%2021.3166%2022.0976%2021.7071%2021.7071C22.0976%2021.3166%2022.0976%2020.6834%2021.7071%2020.2929L18.0319%2016.6177C19.2635%2015.078%2020%2013.125%2020%2011C20%206.02944%2015.9706%202%2011%202Z%27%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

/* ---- GoTrip/Layout/parts/payment-methods.blade.php ---- */
.ng-pay{padding:56px 0 48px;background:#fff;border-top:1px solid #eef0f2}
.ng-pay .container{text-align:center}
.ng-pay__title{font-size:clamp(20px,2.4vw,26px);font-weight:700;color:#101418;margin:0 0 8px;letter-spacing:-.3px}
.ng-pay__subtitle{font-size:15px;color:#6b7280;margin:0 0 36px}
.ng-pay__viewport{overflow:hidden;position:relative;padding:10px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ng-pay__track{display:flex;align-items:center;gap:56px;width:max-content;animation:ng-pay-scroll 32s linear infinite}
.ng-pay:hover .ng-pay__track{animation-play-state:paused}
.ng-pay__item{flex:0 0 auto;height:60px;display:flex;align-items:center;opacity:.85;transition:opacity .2s,transform .2s}
.ng-pay__item:hover{opacity:1;transform:translateY(-2px)}
.ng-pay__item svg{height:58px;width:auto;display:block}
@keyframes ng-pay-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.ng-pay__track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}.ng-pay__viewport{-webkit-mask-image:none;mask-image:none}}
@media(max-width:575px){.ng-pay{padding:40px 0 34px}.ng-pay__subtitle{margin-bottom:30px}.ng-pay__track{gap:42px}.ng-pay__item{height:46px}.ng-pay__item svg{height:44px}}

/* ---- GoTrip/Location/Views/frontend/blocks/list-locations/style_5.blade.php ---- */
/* === Location card horizontal === */
        .ng-locCard {
            position: relative;
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 10px 14px 10px 10px;
            border-radius: 14px;
            background: #fff;
            border: 1px solid #f0f2f5;
            text-decoration: none !important;
            color: inherit;
            transition: transform .25s cubic-bezier(.2,.7,.25,1),
                        box-shadow .25s ease,
                        border-color .25s ease;
        }
        .ng-locCard:hover {
            color: inherit;
            transform: translateY(-2px);
            border-color: rgba(13,27,42,.10);
            box-shadow: 0 14px 28px -14px rgba(13,27,42,.20);
        }

        .ng-locCard__thumb {
            flex: 0 0 76px;
            width: 76px;
            height: 76px;
            border-radius: 12px;
            overflow: hidden;
            background: #f3f5f9;
        }
        .ng-locCard__thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transition: transform .55s cubic-bezier(.2,.7,.25,1);
        }
        .ng-locCard:hover .ng-locCard__thumb img { transform: scale(1.06); }

        .ng-locCard__info {
            flex: 1 1 auto;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 4px;
        }
        .ng-locCard__name {
            font-size: 16px;
            font-weight: 600;
            color: #0d1b2a;
            margin: 0;
            line-height: 1.25;
            letter-spacing: -.1px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .ng-locCard__meta {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            font-size: 12.5px;
            color: #000;
            font-weight: 500;
            line-height: 1.2;
        }
        .ng-locCard__meta svg { color: #000; }

        .ng-locCard__arrow {
            flex: 0 0 28px;
            width: 28px;
            height: 28px;
            border-radius: 50%;
            background: #f3f5f9;
            color: #0d1b2a;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: background .2s ease, color .2s ease, transform .25s ease;
        }
        .ng-locCard:hover .ng-locCard__arrow {
            background: #0d1b2a;
            color: #fff;
            transform: translateX(2px);
        }

        @media (max-width: 575px) {
            .ng-locCard { padding: 8px 12px 8px 8px; gap: 12px; }
            .ng-locCard__thumb { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 10px; }
            .ng-locCard__name { font-size: 15px; }
            .ng-locCard__meta { font-size: 12px; }
            .ng-locCard__arrow { flex: 0 0 26px; width: 26px; height: 26px; }
        }

        /* === Desktop: padding 60px arriba y abajo === */
        section.bc-list-locations.style_5 {
            padding-top: 60px !important;
            padding-bottom: 60px !important;
        }

        /* === Mobile — App Store / Google-style premium === */
        @media (max-width: 767px) {
            section.bc-list-locations.style_5 {
                padding-top: 20px !important;
                padding-bottom: 24px !important;
            }
            section.bc-list-locations.style_5 > .container {
                padding-left: 16px !important;
                padding-right: 16px !important;
            }

            /* Header de sección */
            section.bc-list-locations.style_5 .sectionTitle__title {
                font-size: 22px !important;
                line-height: 1.2 !important;
                margin: 0 !important;
                font-weight: 700 !important;
                letter-spacing: -.4px !important;
                color: #0d1b2a !important;
            }
            section.bc-list-locations.style_5 .sectionTitle__text {
                display: block !important;
                font-size: 13.5px !important;
                color: #5e6675 !important;
                margin-top: 6px !important;
                line-height: 1.4 !important;
            }

            /* Spacing del row de cards */
            section.bc-list-locations.style_5 .row.pt-40,
            section.bc-list-locations.style_5 .row[class*="pt-"] {
                padding-top: 18px !important;
                margin-top: 0 !important;
            }

            /* SLIDER horizontal: 3 cards en columna × N grupos
               Cada "página" muestra 3 items apilados verticalmente.
               Swipe horizontal con scroll-snap. */
            section.bc-list-locations.style_5 .row.y-gap-20 {
                display: grid !important;
                grid-auto-flow: column !important;
                grid-template-rows: repeat(3, auto) !important;
                grid-auto-columns: 100% !important;
                gap: 12px 16px !important;
                overflow-x: auto !important;
                overflow-y: hidden !important;
                scroll-snap-type: x mandatory !important;
                scroll-behavior: smooth !important;
                -webkit-overflow-scrolling: touch !important;
                scrollbar-width: none !important;
                --bs-gutter-y: 0 !important;
                --bs-gutter-x: 0 !important;
                margin: 0 -16px !important;
                padding: 4px 16px 16px !important;
            }
            section.bc-list-locations.style_5 .row.y-gap-20::-webkit-scrollbar {
                display: none !important;
            }
            section.bc-list-locations.style_5 .row > [class*="col-"] {
                padding: 0 !important;
                width: auto !important;
                max-width: none !important;
                flex: none !important;
                min-width: 0;
            }
            /* Snap points: cada 3er item es el inicio de una "página" */
            section.bc-list-locations.style_5 .row > [class*="col-"]:nth-child(3n+1) {
                scroll-snap-align: start !important;
            }
            section.bc-list-locations.style_5 .row > [class*="col-"]:not(:nth-child(3n+1)) {
                scroll-snap-align: none !important;
            }

            /* CARD premium horizontal (estilo App Store) */
            section.bc-list-locations.style_5 .ng-locCard {
                padding: 12px !important;
                gap: 14px !important;
                border-radius: 16px !important;
                background: #fff !important;
                border: 1px solid rgba(13,27,42,.06) !important;
                box-shadow:
                    0 1px 2px rgba(13,27,42,.04),
                    0 8px 20px -14px rgba(13,27,42,.12) !important;
                transition: transform .25s cubic-bezier(.2,.7,.25,1),
                            box-shadow .25s ease,
                            border-color .2s ease !important;
            }
            section.bc-list-locations.style_5 .ng-locCard:active {
                transform: scale(.985) !important;
                border-color: rgba(13,27,42,.12) !important;
            }
            section.bc-list-locations.style_5 .ng-locCard:hover .ng-locCard__thumb img {
                transform: scale(1.04) !important;
            }
            section.bc-list-locations.style_5 .ng-locCard:hover .ng-locCard__arrow {
                background: #0d1b2a !important;
                color: #fff !important;
                transform: translateX(2px) !important;
            }

            /* Thumb GRANDE — ~110×110 (Apple style) */
            section.bc-list-locations.style_5 .ng-locCard__thumb {
                flex: 0 0 110px !important;
                width: 110px !important;
                height: 110px !important;
                border-radius: 12px !important;
                overflow: hidden !important;
                background: #f3f5f9 !important;
            }
            section.bc-list-locations.style_5 .ng-locCard__thumb img {
                width: 100% !important;
                height: 100% !important;
                object-fit: cover !important;
                display: block !important;
            }

            /* Info (centro) */
            section.bc-list-locations.style_5 .ng-locCard__info {
                gap: 6px !important;
                justify-content: center !important;
            }
            section.bc-list-locations.style_5 .ng-locCard__name {
                font-size: 16.5px !important;
                font-weight: 700 !important;
                line-height: 1.25 !important;
                margin: 0 !important;
                color: #0d1b2a !important;
                letter-spacing: -.2px !important;
                white-space: normal !important;
                overflow: visible !important;
                text-overflow: clip !important;
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
            }
            section.bc-list-locations.style_5 .ng-locCard__meta {
                font-size: 12.5px !important;
                gap: 4px !important;
                margin-top: 2px !important;
                color: #5e6675 !important;
                font-weight: 500 !important;
            }
            section.bc-list-locations.style_5 .ng-locCard__meta svg { color: #5e6675 !important; }

            /* Arrow chip (derecha) */
            section.bc-list-locations.style_5 .ng-locCard__arrow {
                flex: 0 0 34px !important;
                width: 34px !important;
                height: 34px !important;
                border-radius: 50% !important;
                background: #f3f5f9 !important;
                color: #0d1b2a !important;
                align-self: center !important;
                transition: background .2s ease, color .2s ease, transform .25s ease !important;
            }
        }

        @media (max-width: 380px) {
            section.bc-list-locations.style_5 .ng-locCard__thumb {
                flex: 0 0 92px !important;
                width: 92px !important;
                height: 92px !important;
            }
            section.bc-list-locations.style_5 .ng-locCard__name {
                font-size: 15.5px !important;
            }
            section.bc-list-locations.style_5 .ng-locCard__arrow {
                flex: 0 0 30px !important;
                width: 30px !important;
                height: 30px !important;
            }
        }

        /* Dots de paginación del slider (mobile only) */
        .ng-locSlider__dots {
            display: none;
        }
        @media (max-width: 767px) {
            .ng-locSlider__dots {
                display: flex !important;
                justify-content: center;
                gap: 6px;
                margin-top: 6px;
            }
            .ng-locSlider__dot {
                width: 6px;
                height: 6px;
                border-radius: 50%;
                background: rgba(13,27,42,.22);
                transition: background .25s ease, transform .25s ease;
                cursor: pointer;
                border: 0;
                padding: 0;
            }
            .ng-locSlider__dot.is-on {
                background: #0d1b2a;
                transform: scale(1.4);
            }
        }

/* ---- GoTrip/Location/Views/frontend/detail.blade.php ---- */
.ng-locCrumb { margin-top: 30px; padding-top: 16px; border-top: 1px solid #eef0f3; }
                        .ng-locCrumb ol {
                            display: flex; flex-wrap: nowrap; align-items: center; gap: 7px;
                            list-style: none; margin: 0; padding: 0;
                            overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none;
                            -webkit-mask-image: linear-gradient(to right, #000 92%, transparent);
                            mask-image: linear-gradient(to right, #000 92%, transparent);
                        }
                        .ng-locCrumb ol::-webkit-scrollbar { display: none; }
                        .ng-locCrumb li { white-space: nowrap; font-size: 12.5px; }
                        .ng-locCrumb a { color: #8a93a3; text-decoration: none; }
                        .ng-locCrumb a:hover { color: #0d1b2a; }
                        .ng-locCrumb .sep { color: #c7ccd4; }
                        .ng-locCrumb li.active span,
                        .ng-locCrumb li.active a { color: #0d1b2a; font-weight: 600; }

/* ---- GoTrip/Location/Views/frontend/layouts/details/location-banner.blade.php ---- */
/* === Hero de destino === */
.location_banner { position: relative; }
.location_banner .relative.d-flex { position: relative; width: 100%; border-radius: 16px; overflow: hidden; }
.location_banner img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
    border-radius: 16px;
}
/* Degradado para que el texto siempre sea legible */
.location_banner .effect {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(13,27,42,.10) 0%, rgba(13,27,42,0) 35%, rgba(13,27,42,.65) 100%);
    border-radius: 16px;
    pointer-events: none;
}
.location_banner .text-banner { left: 0; bottom: 0; top: auto; right: 0; }
.location_banner .text-banner h1 { text-shadow: 0 2px 14px rgba(0,0,0,.35); }
.location_banner .text-banner > div { text-shadow: 0 1px 10px rgba(0,0,0,.35); }

@media (max-width: 767px) {
    /* Full-bleed: rompe el padding (16px) del container */
    .location_banner { margin-left: -16px !important; margin-right: -16px !important; }
    .location_banner .relative.d-flex { border-radius: 0; }
    .location_banner img { height: 46vh; min-height: 300px; max-height: 520px; border-radius: 0; }
    .location_banner .effect { border-radius: 0; }
    .location_banner .text-banner { padding: 22px 18px !important; }
    .location_banner .text-banner h1 { font-size: 26px !important; line-height: 1.15 !important; }
    .location_banner .text-banner > div { font-size: 13px !important; }
}

/* ---- GoTrip/Location/Views/frontend/layouts/details/location-general-info.blade.php ---- */
.ng-locInfo { padding: 6px 0; }
            .ng-locInfo__card {
                height: 100%;
                background: #fff;
                border: 1px solid #eef0f3;
                border-radius: 16px;
                padding: 22px 22px 20px;
                box-shadow: 0 1px 2px rgba(13,27,42,.03);
                transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
            }
            .ng-locInfo__card:hover {
                box-shadow: 0 14px 30px -16px rgba(13,27,42,.16);
                border-color: #e2e6ec;
                transform: translateY(-2px);
            }
            .ng-locInfo__num {
                display: inline-flex; align-items: center; justify-content: center;
                width: 38px; height: 38px; border-radius: 12px;
                background: rgba(53,84,209,.10); color: #3554D1;
                font-size: 14px; font-weight: 800; letter-spacing: .5px;
                margin-bottom: 14px;
            }
            .ng-locInfo__title {
                font-size: 16px; font-weight: 700; color: #0d1b2a;
                margin: 0 0 8px; letter-spacing: -.2px; line-height: 1.25;
            }
            .ng-locInfo__desc {
                font-size: 14px; line-height: 1.55; color: #34404f;
                margin: 0 0 8px; font-weight: 500;
            }
            .ng-locInfo__sub {
                font-size: 13px; line-height: 1.55; color: #8a93a3; margin: 0;
            }

            /* Móvil: cada tarjeta ~80% del ancho (peek de la siguiente) con separación */
            @media (max-width: 767px) {
                .ng-locInfo__row.js-mobile-slider { gap: 12px !important; }
                .ng-locInfo__row > [class*="col-"] {
                    flex: 0 0 80% !important;
                    max-width: 80% !important;
                }
                .ng-locInfo__card { padding: 18px; border-radius: 14px; }
            }

/* ---- GoTrip/Location/Views/frontend/layouts/details/location-map.blade.php ---- */
.location-map { border-radius: 16px; overflow: hidden; border: 1px solid #eef0f3; }
        .location-map #map_content,
        .location-map .leaflet-container { border-radius: 16px; }

/* ---- GoTrip/Location/Views/frontend/layouts/details/location-service.blade.php ---- */
.locSvc__moreBottom { display: none; }
    @media (max-width: 767px) {
        .bc-location-service-list .locSvc__moreTop { display: none !important; }
        .bc-location-service-list .locSvc__moreBottom {
            display: inline-flex !important;
            width: 100%;
            justify-content: center;
            margin-top: 18px;
        }
    }

/* ---- GoTrip/Location/Views/frontend/layouts/details/location-trip-idea.blade.php ---- */
/* Solo en locaciones: container del slider sin padding */
            .bc_detail_location .ng-offerSlider > .container { padding: 0 !important; }
            @media (max-width: 767px) {
                .bc_detail_location .ng-oCard { aspect-ratio: 3 / 4 !important; }
            }

/* ---- GoTrip/Template/Views/frontend/blocks/faq-list.blade.php ---- */
.bc-faq-lists .ng-dots { display: none; }
        @media (max-width: 767px) {
            .bc-faq-lists .accordion.ng-faq-slider {
                display: grid !important;
                grid-auto-flow: column;
                grid-auto-columns: 84%;
                grid-template-rows: repeat(3, auto);
                gap: 14px 12px;
                overflow-x: auto;
                scroll-snap-type: x mandatory;
                -webkit-overflow-scrolling: touch;
                scrollbar-width: none;
                margin: 0;
                scroll-padding-left: 0;
            }
            .bc-faq-lists .accordion.ng-faq-slider::-webkit-scrollbar { display: none; }
            .bc-faq-lists .accordion.ng-faq-slider > .col-12 {
                width: 100%;
                max-width: 100%;
                padding: 0;
                margin: 0;
                scroll-snap-align: start;
            }
            .bc-faq-lists .ng-dots { display: flex; justify-content: center; gap: 7px; margin-top: 22px; }
            .bc-faq-lists .ng-dots__dot { width: 8px; height: 8px; border-radius: 50%; border: 0; padding: 0; background: rgba(13,27,42,.22); cursor: pointer; transition: all .25s; }
            .bc-faq-lists .ng-dots__dot.is-active { background: #16b8c9; width: 22px; border-radius: 5px; }
        }

/* ---- GoTrip/Template/Views/frontend/blocks/form-search-all-service/carousel_v2.blade.php ---- */
.ng-turie-hero{
    --ng-orange:#000;
    --ng-ink:#071c1d;
    position:relative;
    z-index:2;
    padding:100px 30px 40px;
    overflow:hidden;
    background:transparent;
    max-width:1400px;
    margin-left:auto;
    margin-right:auto;
}
.ng-turie-hero__shell{
    position:relative;
    max-width:1844px;
    height:520px;
    margin:0 auto;
    overflow:hidden;
    border-radius:38px;
    background:
        radial-gradient(ellipse at 20% 45%, rgb(214, 227, 225) 0%, rgb(154, 231, 217) 25%, transparent 58%),
        radial-gradient(ellipse at 78% 35%, rgb(214, 227, 225) 0%, rgb(77, 198, 225) 30%, #4dc6e1 62%),
        radial-gradient(ellipse at 50% 82%, rgb(158, 231, 214) 0%, rgba(255, 241, 71, 0.55) 28%, transparent 60%),
        radial-gradient(ellipse at 52% 50%, rgba(137, 239, 207, 0.9) 0%, rgba(137, 239, 207, 0.55) 40%, transparent 72%);
}
.ng-turie-hero__below{
    position:relative;
    z-index:3;
    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding:26px 30px 32px;
    color:#071c1d;
    background:transparent;
    text-align:center;
}
.ng-turie-hero__below .tg-hero-tu-avatar-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:0 auto 22px;
}
.ng-turie-hero__below .tg-hero-tu-avatar{line-height:0}
.ng-turie-hero__below .tg-hero-tu-avatar img{
    display:block;
    width:auto;
    height:34px;
}
.ng-turie-hero__below .tg-hero-tu-avatar-text{
    color:#071c1d;
    font-size:13px;
    font-weight:700;
    line-height:1.25;
    text-align:left;
}
.ng-turie-hero__below .tg-hero-tu-svg{
    margin-left:2px;
    color:#071c1d;
    font-size:34px;
    line-height:1;
    transform:rotate(7deg);
}
.ng-turie-hero__below .ng-hero__sug{
    width:100%;
    max-width:none!important;
    margin:0;
}
.ng-turie-hero__below .ng-hero__suggestTi{
    margin:0 0 10px;
    color:#071c1d;
    font-size:13px;
    font-weight:700;
    text-align:center;
}
.ng-turie-hero__below .ng-hero__marquee{
    position:relative;
    width:100%;
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.ng-turie-hero__below .ng-hero__track{
    display:flex;
    width:max-content;
    gap:10px;
    margin:0;
    padding:5px;
    list-style:none;
    animation:ngTurieSuggestScroll 55s linear infinite;
}
.ng-turie-hero__below .ng-hero__marquee:hover .ng-hero__track{animation-play-state:paused}
.ng-turie-hero__below .ng-hero__track li{flex:0 0 auto}
.ng-turie-hero__below .ng-hero__track a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:9px 16px;
    border:1px solid rgba(7,28,29,.08);
    border-radius:999px;
    color:#071c1d;
    background:#ededed;
    font-size:13px;
    text-decoration:none;
    white-space:nowrap;
}
.ng-turie-hero__below .ng-hero__track a:hover{background:#dedede}
@keyframes ngTurieSuggestScroll{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
}
.ng-turie-hero__background{
    position:absolute;
    z-index:0;
    inset:0;
    overflow:hidden;
}
.ng-turie-hero__background::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(2,20,22,.82) 0%,rgba(2,20,22,.67) 43%,rgba(2,20,22,.28) 67%,rgba(2,20,22,.18) 100%);
}
.ng-turie-hero__background img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.ng-turie-hero__content{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(570px, .98fr);
    height:100%;
}
.ng-turie-hero__copy{
    position:relative;
    z-index:3;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    padding:38px 30px 34px clamp(60px, 6.4vw, 60px);
}
.ng-turie-hero__tabs{
    align-self:flex-start;
    margin:0 0 18px;
    transform:rotate(-7deg);
    transform-origin:left center;
}
.ng-turie-hero__tabs .tabs__controls{
    display:flex;
    align-items:center;
    gap:4px;
    padding:5px;
    border-radius:999px;
    background:var(--ng-orange);
    box-shadow:0 12px 25px rgba(0,0,0,.24);
}
.ng-turie-hero__tab-item{display:flex}
.ng-turie-hero__tabs .tabs__button{
    position:relative;
    min-height:39px;
    padding:8px 18px;
    border:0;
    border-radius:999px;
    color:#fff;
    background:transparent;
    font-size:13px;
    font-weight:700;
    line-height:1;
    text-transform:uppercase;
    white-space:nowrap;
}
.ng-turie-hero__tabs .tabs__button i{margin-right:6px}
.ng-turie-hero__tabs .tabs__button.is-tab-el-active{
    color:#000;
    background:#fff;
    box-shadow:0 3px 10px rgba(0,0,0,.18);
}
.ng-turie-hero__tabs .tabs__button::after{display:none!important}
.ng-turie-hero__title{
    max-width:760px;
    margin:0;
    color:var(--ng-ink);
    font-family:"Marcellus","Cormorant Garamond",Georgia,serif;
    font-size:clamp(60px, 4.7vw, 90px);
    font-weight:400;
    line-height:.98;
    letter-spacing:-4px;
}
.ng-turie-hero__description{
    max-width:680px;
    margin:20px 0 0;
    color:#152122;
    font-size:21px;
    line-height:1.55;
}
.ng-turie-hero--has-bg .ng-turie-hero__title,
.ng-turie-hero--has-bg .ng-turie-hero__description{
    color:#fff;
    text-shadow:0 2px 22px rgba(0,0,0,.2);
}
.ng-turie-hero--has-bg .ng-turie-hero__shape{color:rgba(255,255,255,.34)}
.ng-turie-hero__search{
    position:relative;
    z-index:5;
    width:min(850px, calc(100% + 120px));
    margin-top:34px;
    padding:8px 9px 8px 20px;
    border:1px solid rgba(7,28,29,.04);
    border-radius:999px;
    background:#fff;
    box-shadow:0 15px 35px rgba(25,36,37,.08);
    transition:box-shadow .2s ease,transform .2s ease;
}
.ng-turie-hero__search:focus-within{
    z-index:30;
    box-shadow:0 20px 48px rgba(0,0,0,.24),0 0 0 3px rgba(255,255,255,.72);
}
.ng-turie-hero__search .tabs__pane{display:none}
.ng-turie-hero__search .tabs__pane.is-tab-el-active{display:block}
.ng-turie-hero__search .gotrip_form_search{
    display:flex!important;
    align-items:center;
    min-height:54px;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
}
.ng-turie-hero__search .field-items{flex:1;min-width:0}
.ng-turie-hero__search .field-items > .row{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
}
.ng-turie-hero__search .field-items .row > [class*="col-"]{
    position:relative;
    flex:1 1 0;
    width:auto;
    max-width:none;
    padding:0 20px!important;
}
.ng-turie-hero__search .field-items .row > [class*="col-"] + [class*="col-"]::before{
    content:"";
    position:absolute;
    top:8px;
    bottom:8px;
    left:0;
    width:1px;
    background:#e4e7e7;
}
.ng-turie-hero__search .button-item{flex:0 0 auto}
.ng-turie-hero__search .mainSearch__submit{
    display:flex;
    align-items:center;
    justify-content:center;
    width:54px!important;
    min-width:54px;
    height:54px!important;
    padding:0!important;
    border:0;
    border-radius:50%!important;
    color:#fff!important;
    background:var(--ng-orange)!important;
    box-shadow:none!important;
}
.ng-turie-hero__search .mainSearch__submit i{margin:0!important;font-size:18px}
.ng-turie-hero__search .mainSearch__submit .text-search{display:none}
.ng-turie-hero__search .searchMenu-loc__field{
    z-index:100!important;
    overflow:hidden;
    border:1px solid rgba(7,28,29,.08);
    border-radius:18px;
    background:#fff;
    box-shadow:0 22px 55px rgba(0,0,0,.28)!important;
}
.ng-turie-hero__search .searchMenu-loc__field > .bg-white{
    padding:12px!important;
}
.ng-turie-hero__search .searchMenu-loc__field .js-results{
    max-height:310px;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:#aeb7b7 transparent;
}
.ng-turie-hero__search .searchMenu-loc__field .js-search-option{
    padding:13px 15px!important;
}
.ng-turie-hero__search .searchMenu-loc__field .js-search-option:hover{
    background:#f3f5f5!important;
}
@media (min-width:992px){
    .ng-turie-hero__search .searchMenu-loc__field{
        top:auto!important;
        bottom:calc(100% + 22px)!important;
        left:-20px!important;
        width:500px;
        max-width:min(500px,72vw);
        margin:0!important;
        transform:translateY(8px);
    }
    .ng-turie-hero__search .searchMenu-loc__field.-is-active{
        transform:translateY(0);
    }
}
.ng-turie-hero__gallery{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:15px;
    height:100%;
    padding-left:12px;
    overflow:hidden;
}
.ng-turie-hero__gallery-column{
    height:calc(100% + 150px);
    margin-top:-75px;
    overflow:hidden;
}
.ng-turie-hero__gallery-column:nth-child(2){margin-top:5px}
.ng-turie-hero__gallery-column:nth-child(3){margin-top:-35px}
.ng-turie-hero__gallery-track{
    display:flex;
    flex-direction:column;
    gap:15px;
    animation:ngTurieGallery 34s linear infinite;
    will-change:transform;
}
.ng-turie-hero__gallery-column--reverse .ng-turie-hero__gallery-track{
    animation-name:ngTurieGalleryReverse;
}
.ng-turie-hero__gallery-item{
    flex:0 0 clamp(200px, 14.5vw, 275px);
    height:clamp(200px, 14.5vw, 275px);
    margin:0;
    overflow:hidden;
    border-radius:48px;
    background:#dfe5e5;
}
.ng-turie-hero__gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.01);
}
.ng-turie-hero__shape{
    position:absolute;
    z-index:4;
    color:#daddde;
    pointer-events:none;
}
.ng-turie-hero__shape--plane{
    top:125px;
    left:max(70px, calc((100vw - 1844px)/2 + 74px));
    width:72px;
    opacity:.62;
    transform:rotate(-8deg);
}
.ng-turie-hero__shape svg{display:block;width:100%}
@keyframes ngTurieGallery{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(0,calc(-50% - 7.5px),0)}
}
@keyframes ngTurieGalleryReverse{
    from{transform:translate3d(0,calc(-50% - 7.5px),0)}
    to{transform:translate3d(0,0,0)}
}
@media (max-width:1399px){
    .ng-turie-hero{padding:88px 24px 28px}
    .ng-turie-hero__shell{height:520px}
    .ng-turie-hero__content{grid-template-columns:minmax(0,1.08fr) minmax(480px,.92fr)}
    .ng-turie-hero__copy{padding-left:70px}
    .ng-turie-hero__title{font-size:76px;letter-spacing:-3px}
    .ng-turie-hero__description{font-size:18px}
    .ng-turie-hero__search{width:calc(100% + 80px)}
    .ng-turie-hero__gallery-item{border-radius:38px}
}
@media (max-width:1199px){
    .ng-turie-hero__shell{height:auto;min-height:600px}
    .ng-turie-hero__content{grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr)}
    .ng-turie-hero__copy{padding:70px 24px 70px 55px}
    .ng-turie-hero__title{font-size:66px}
    .ng-turie-hero__search{width:calc(100% + 40px)}
    .ng-turie-hero__search .field-items .row > [class*="col-"]{padding:0 12px!important}
}
@media (max-width:991px){
    .ng-turie-hero{padding:78px 14px 24px}
    .ng-turie-hero__shell{min-height:0;border-radius:28px}
    .ng-turie-hero__content{display:block}
    .ng-turie-hero__copy{padding:72px 45px 70px}
    .ng-turie-hero__title{max-width:720px;font-size:clamp(52px,9vw,76px)}
    .ng-turie-hero__description{max-width:650px}
    .ng-turie-hero__search{width:100%;border-radius:26px;padding:12px 14px}
    .ng-turie-hero__search .gotrip_form_search{align-items:stretch}
    .ng-turie-hero__search .field-items > .row{flex-wrap:wrap}
    .ng-turie-hero__search .field-items .row > [class*="col-"]{
        flex:1 1 50%;
        padding:14px!important;
    }
    .ng-turie-hero__search .field-items .row > [class*="col-"]::before{display:none}
    .ng-turie-hero__search .mainSearch__submit{margin-top:6px}
    .ng-turie-hero__search .searchMenu-loc__field{
        top:calc(100% + 10px)!important;
        bottom:auto!important;
        left:0!important;
        right:0!important;
        width:100%!important;
        max-width:none;
        margin:0!important;
    }
    .ng-turie-hero__search .searchMenu-loc__field .js-results{max-height:280px}
    .ng-turie-hero__gallery{
        height:390px;
        padding:0 35px 0;
        gap:12px;
    }
    .ng-turie-hero__gallery-column{height:500px}
    .ng-turie-hero__gallery-item{height:205px;flex-basis:205px;border-radius:34px}
    .ng-turie-hero__shape--plane{top:30px;left:45px}
}
@media (max-width:767px){
    .ng-turie-hero{padding:70px 8px 18px}
    .ng-turie-hero__shell{border-radius:22px}
    .ng-turie-hero__copy{padding:52px 22px 45px}
    .ng-turie-hero__tabs{margin-bottom:20px}
    .ng-turie-hero__tabs .tabs__button{padding:8px 12px;font-size:11px}
    .ng-turie-hero__title{font-size:46px;line-height:1.02;letter-spacing:-2px}
    .ng-turie-hero__description{margin-top:16px;font-size:16px;line-height:1.5}
    .ng-turie-hero__search{margin-top:26px;padding:10px 12px;border-radius:22px}
    .ng-turie-hero__search .gotrip_form_search{display:block!important}
    .ng-turie-hero__search .field-items .row > [class*="col-"]{flex:1 1 100%;padding:12px 8px!important}
    .ng-turie-hero__search .button-item{padding-top:6px}
    .ng-turie-hero__search .mainSearch__submit{
        width:100%!important;
        height:50px!important;
        border-radius:15px!important;
    }
    .ng-turie-hero__search .mainSearch__submit i{margin-right:8px!important}
    .ng-turie-hero__search .mainSearch__submit .text-search{display:inline}
    .ng-turie-hero__gallery{
        height:310px;
        padding:0 14px;
        gap:8px;
        -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 14%, #000 86%, transparent 100%);
        mask-image:linear-gradient(to bottom, transparent 0%, #000 14%, #000 86%, transparent 100%);
    }
    .ng-turie-hero__gallery-column{height:400px}
    .ng-turie-hero__gallery-item{height:155px;flex-basis:155px;border-radius:24px}
    .ng-turie-hero__gallery-track{gap:8px}
    .ng-turie-hero__shape--plane{display:none}
    .ng-turie-hero__below{padding:20px 16px 26px}
    .ng-turie-hero__below .tg-hero-tu-avatar-wrap{margin-bottom:18px}
    .ng-turie-hero__below .tg-hero-tu-avatar img{height:30px}
    .ng-turie-hero__below .tg-hero-tu-svg{font-size:28px}
}
@media (prefers-reduced-motion:reduce){
    .ng-turie-hero__gallery-track{animation-play-state:paused}
    .ng-turie-hero__below .ng-hero__track{animation:none}
    .ng-turie-hero__below .ng-hero__marquee{overflow-x:auto}
}

/* ---- GoTrip/Template/Views/frontend/blocks/form-search-all-service/carousel_v3.blade.php ---- */
.gotrip_form_search .col-lg-6{
    width: 100%;
}

/* ====== Value props — chips glass ====== */
.ng-hero__trust{
  list-style:none;display:flex;flex-wrap:wrap;justify-content:center;
  gap:3px;padding:0;margin:16px 0 0;
}
.ng-hero__trust li{
  display:inline-flex;align-items:center;gap:7px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:0px solid rgba(255,255,255,.25);
  border-radius:10px;padding:3px 10px;
  color:#fff;font-size:11.5px;font-weight:500;
}
.ng-hero__check{color:#5DCAA5;font-weight:700;}

/* ====== Tabs como toggle pill moderno (pequeño y centrado) — TODOS LOS TAMAÑOS ====== */
.carousel_v2 .tabs.-underline{
  text-align:center;
}
.carousel_v2 .tabs__controls{
  display:inline-flex!important;
  width:auto;
  max-width:240px;
  margin:0 auto 6px!important;
  gap:0!important;
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:.5px solid rgba(255,255,255,.25);
  border-radius:100px;
  padding:4px;
}
.carousel_v2 .tabs__controls > div{
  flex:1;
  display:flex;
  padding:2px 5px!important;
}
.carousel_v2 .tabs__button{
  flex:1;
  width:100%;
  border:none!important;
  border-bottom:none!important;
  border-radius:100px!important;
  padding:8px 18px!important;
  margin:0!important;
  font-size:13.5px!important;
  color:rgba(255,255,255,.85)!important;
  background:transparent!important;
  transition:background .25s,color .25s;
}
/* mata la línea -underline que el theme dibuja debajo */
.carousel_v2 .tabs.-underline .tabs__button::after,
.carousel_v2 .tabs.-underline .tabs__button::before{
  display:none!important;
}
.carousel_v2 .tabs__button.is-tab-el-active{
  background:#fff!important;
  color:#0d3b2e!important;
  border-bottom:none!important;
}

/* ====== Fix apilamiento: dropdown de destinos SIEMPRE encima de todo ====== */
/* .tabs crea contexto de apilamiento por el transform de la animación; sin
   z-index quedaba por DEBAJO de la prueba social (z-5). Lo subimos alto. */
.carousel_v2 .tabs.-underline{
  position: relative;
  z-index: 40;
}
.carousel_v2 .searchMenu-loc__field{
  z-index: 60 !important;
}
.carousel_v2 .tabs__content,
.carousel_v2 .tabs__pane.is-tab-el-active{
  position: relative;
  z-index: 50;
}
.ng-hero__sug{
  position: relative;
  z-index: 5;
  transition: opacity .2s, visibility .2s;
}
/* Con el buscador abierto ocultamos marquee Y prueba social para que el
   dropdown de destinos no se cruce con nada. */
.carousel_v2.search-open .ng-hero__sug,
.carousel_v2.search-open .tg-hero-tu-avatar-wrap{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* ====== FORM SEARCH — rediseño glass SOLO MOBILE ====== */
@media (max-width:767px){

  /* ===== Dropdown de resultados ===== */
  .carousel_v2 .searchMenu-loc__field {
    z-index: 60 !important;
    top: 0;
    left: 0;
    width: 100%;
    margin-top: 80px;
  }

  .gotrip_form_search .col-lg-6{
    padding: 0 !important;
  }

  /* Panel glass que envuelve el form */
  .carousel_v2 .tabs__pane{
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        border: .5px solid rgba(255, 255, 255, .22);
        border-radius: 12px;
        padding: 14px;
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 4px 8px;
  }

  .bc_wrap .gotrip_form_search{
    padding: 0 !important;
  }

  .carousel_v2 .gotrip_form_search .col-lg-6{width:100%;}

  /* Inputs translúcidos */
  .carousel_v2 .tabs__pane .form-control,
  .carousel_v2 .tabs__pane input[type="text"],
  .carousel_v2 .tabs__pane .form-select,
  .carousel_v2 .tabs__pane .js-select-control,
  .carousel_v2 .tabs__pane .mainSearch__field{
    background:rgba(255,255,255,.80)!important;
    border:.5px solid rgba(255,255,255,.2)!important;
    border-radius:12px!important;
    color:#000!important;
    padding:18px!important;
    text-align:center;
  }

  /* Placeholder negro/gris en vez de blanco */
  .carousel_v2 .tabs__pane ::placeholder{color:rgba(0,0,0,.90)!important;}
  .carousel_v2 .tabs__pane :-ms-input-placeholder{color:rgba(0,0,0,.90)!important;font-weight:700;}
  .carousel_v2 .tabs__pane ::-webkit-input-placeholder{color:rgba(0,0,0,.90)!important;font-weight:700;}

  /* Texto seleccionado dentro de selects custom también en negro */
  .carousel_v2 .tabs__pane .js-select-control,
  .carousel_v2 .tabs__pane .js-select-control *,
  .carousel_v2 .tabs__pane .mainSearch__field,
  .carousel_v2 .tabs__pane .mainSearch__field *{
    color:#000!important;
  }

  .carousel_v2 .tabs__pane .form-control:focus{
    border-color:#5DCAA5!important;
    box-shadow:0 0 0 2px rgba(93,202,165,.3)!important;
  }

  /* Botón Buscar separado y destacado */
  .carousel_v2 .tabs__pane .mainSearch__submit.button,
  .carousel_v2 .tabs__pane .button-search,
  .carousel_v2 .tabs__pane button[type="submit"],
  .carousel_v2 .tabs__pane .btn-search{
    width:100%;
    display:none;align-items:center;justify-content:center;gap:8px;
    border:none!important;
    border-radius:14px!important;
    padding:14px!important;
    color:#fff!important;font-size:15px;font-weight:500;
    margin-top:12px;
    box-shadow:0 4px 16px rgba(77,198,225,.7);
    transition:background .2s,transform .1s;
  }
  .carousel_v2 .tabs__pane .mainSearch__submit.button:hover,
  .carousel_v2 .tabs__pane .button-search:hover,
  .carousel_v2 .tabs__pane button[type="submit"]:hover{
    background:#178a66!important;
  }
  .carousel_v2 .tabs__pane .mainSearch__submit.button:active{transform:scale(.98);}
}

/* ====== Búsquedas populares — marquee en bucle ====== */
.ng-hero__sug{margin:50px auto 0;max-width:100%;}
.ng-hero__suggestTi{
  color:rgba(255,255,255,.75);font-size:12.5px;font-weight:500;
  margin:0 0 10px;text-align:center;
}
.ng-hero__marquee{
  position:relative;width:100%;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.ng-hero__track{
  list-style:none;display:flex;width:max-content;gap:10px;padding:6px 5px;margin:0;
  animation:ngHeroScroll 60s linear infinite;
}
.ng-hero__marquee:hover .ng-hero__track{animation-play-state:paused;}
.ng-hero__track li{flex:0 0 auto;}
.ng-hero__track a{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:.5px solid rgba(255,255,255,.28);
  border-radius:100px;padding:9px 16px;
  color:#fff;font-size:13.5px;text-decoration:none;white-space:nowrap;
  transition:background .2s;
}
.ng-hero__track a:hover{background:rgba(255,255,255,.24);}
.ng-hero__track a i{font-size:15px;opacity:.8;}

@keyframes ngHeroScroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

@media (prefers-reduced-motion: reduce){
  .ng-hero__track{animation:none;}
  .ng-hero__marquee{overflow-x:auto;}
}

/* ====== Prueba social: avatares "35k booked" (pequeño) ====== */
.tg-hero-tu-avatar-wrap{ margin:20px auto 0; gap:6px; position:relative; z-index:5; }
.tg-hero-tu-avatar{ line-height:0; }
.tg-hero-tu-avatar img{ height:34px; width:auto; display:block; }
.tg-hero-tu-avatar-text{
  color:#fff; font-size:13px; font-weight:600; line-height:1.25; text-align:left;
}
.tg-hero-tu-svg{
  position:absolute; left:100%; top:50%; transform:translateY(-50%);
  margin-left:8px; pointer-events:none;
}
.tg-hero-tu-svg svg{ width:90px; height:auto; opacity:.85; }
@media (max-width:767px){
  .tg-hero-tu-avatar img{ height:30px; }
  .tg-hero-tu-avatar-text{ font-size:12px; }
}

/* ============================================================
   COMPACTAR + PULIR el hero — ritmo vertical más apretado y chips
   con mejor lectura. Va al final para ganar en el cascade.
   ============================================================ */
/* Título y subtítulo más juntos */
.carousel_v2 h1.text-60{ letter-spacing:-.5px; }
.carousel_v2 p.text-18{ font-size:16px; margin-top:8px !important; opacity:.92; max-width:600px; margin-left:auto; margin-right:auto; }

/* Chips de confianza: píldoras glass legibles (antes casi invisibles) */
.ng-hero__trust{ gap:8px; margin:14px 0 0 !important; }
.ng-hero__trust li{
  background:rgba(255,255,255,.10);
  border:.5px solid rgba(255,255,255,.22) !important;
  border-radius:100px; padding:5px 13px; font-size:12px; gap:6px;
}
.ng-hero__check{ font-size:11px; }

/* Tabs y formulario suben (menos aire) */
.carousel_v2 .tabs.-underline.mt-30{ margin-top:16px !important; }
.carousel_v2 .tabs__content.mt-30{ margin-top:14px !important; }

/* Prueba social más pegada */
.tg-hero-tu-avatar-wrap{ margin-top:14px !important; }

/* Marquee de sugerencias: mucho más cerca (antes 50px de aire) */
.ng-hero__sug{ margin-top:22px !important; }
.ng-hero__suggestTi{ margin-bottom:7px; }

/* Pills del marquee: fondo claro #eee + radio 30 + texto oscuro (legible
   sobre cualquier foto del carrusel). Antes eran glass blanco y no se veían. */
.ng-hero__track a{
  padding:8px 16px; font-size:13px;
  background:#eee !important;
  border:.5px solid rgba(0,0,0,.06) !important;
  border-radius:30px !important;
  color:#0d2b3e !important;
}
.ng-hero__track a i{ color:#0d2b3e !important; opacity:.55; }
.ng-hero__track a:hover{ background:#e2e5e8 !important; }

/* Título del marquee legible sobre foto (sombra) */
.ng-hero__suggestTi{ color:#fff !important; text-shadow:0 1px 6px rgba(0,0,0,.55); }

/* ============================================================
   HERO COMPACTO (desktop) — banda fija con marquee anclado abajo,
   pero con MÁS AIRE que antes para que la prueba social no se
   encime con el marquee (solo faltaba liberar espacio).
   Sin overflow:hidden (el dropdown de ubicaciones debe salir).
   ============================================================ */
@media (min-width:992px){
  .carousel_v2{ position:relative !important; }
  /* banda de fondo (un poco más alta = aire para que no se encime) */
  .carousel_v2 .masthead__bg,
  .carousel_v2 .masthead__bg .owl-carousel,
  .carousel_v2 .masthead__bg .owl-stage-outer,
  .carousel_v2 .masthead__bg .owl-stage,
  .carousel_v2 .masthead__bg .owl-item,
  .carousel_v2 .masthead__bg .item{
    height:452px !important; min-height:452px !important; max-height:452px !important;
  }
  /* El contenido sigue centrado en 500px, pero la FOTO termina en 452px
     (centro de la barra de búsqueda) → el buscador cruza el borde:
     mitad sobre la foto, mitad sobre el blanco de abajo. */
  .carousel_v2 > .container{
    position:relative; z-index:3;
    height:500px; display:flex; flex-direction:column; justify-content:center;
    padding-top:56px !important; padding-bottom:92px !important;
  }
  /* título compacto */
  .carousel_v2 h1.text-60{ font-size:34px !important; line-height:1.1 !important; }
  .carousel_v2 p.text-18{ font-size:13.5px !important; margin-top:5px !important; }
  .ng-hero__trust{ margin-top:10px !important; }
  .carousel_v2 .tabs.-underline.mt-30{ margin-top:13px !important; }
  .carousel_v2 .tabs__content.mt-30{ margin-top:11px !important; }
  .tg-hero-tu-avatar-wrap{ margin-top:20px !important; }
  .tg-hero-tu-avatar img{ height:28px !important; }
  /* marquee anclado al borde inferior de la banda */
  .carousel_v2 .ng-hero__sug{
    position:absolute; left:0; right:0; bottom:14px; z-index:4;
    margin:0 !important;
  }
  .carousel_v2 .ng-hero__suggestTi{ margin-bottom:5px; font-size:11.5px; }

  /* La barra cruza el borde: borde gris 0.5px + sombra para que la mitad
     inferior no se funda con el blanco de abajo. */
  .carousel_v2 .gotrip_form_search{
    border:.5px solid #dcdfe3 !important;
    box-shadow:0 12px 34px rgba(13,43,62,.16) !important;
  }

  /* SOLO PC: estos dos textos quedaban blancos sobre zona clara → negros */
  .carousel_v2 .ng-hero__suggestTi{ color:#000 !important; text-shadow:none !important; }
  .carousel_v2 .tg-hero-tu-avatar-text{ color:#000 !important; text-shadow:none !important; }
  .carousel_v2 .tg-hero-tu-svg svg path{ fill:#000 !important; }
}

/* ============================================================
   MÓVIL (≤767px): hero compacto, sofisticado y orientado a reservar.
   Título más chico, chips premium apretados, buscador protagonista,
   spacing reducido para que todo respire sin ocupar 2 pantallas.
   ============================================================ */
@media (max-width: 767px){
  /* Menos aire arriba: el contenido sube */
  .carousel_v2 > .container{ padding-top:16px !important; }

  /* Título compacto y elegante (antes ~60px en 2 líneas enormes) */
  .carousel_v2 h1.text-60{
    font-size:31px !important; line-height:1.12 !important;
    letter-spacing:-.6px !important; margin-bottom:8px !important;
    max-width:330px; margin-left:auto; margin-right:auto;
  }
  /* Subtítulo compacto (2-3 líneas cortas) */
  .carousel_v2 p.text-18{
    font-size:13px !important; line-height:1.42 !important;
    margin-top:8px !important; opacity:.92;
    max-width:320px; margin-left:auto; margin-right:auto;
  }

  /* Chips de confianza: pills pequeños tipo glass premium */
  .ng-hero__trust{ gap:6px !important; margin-top:12px !important; }
  .ng-hero__trust li{ font-size:10.5px !important; padding:5px 11px !important; gap:5px !important; }
  .ng-hero__check{ font-size:9px !important; }

  /* Tabs Bote/Tour: solo el margen (ancho intacto, NO comprimir) */
  .carousel_v2 .tabs.-underline.mt-30{ margin-top:14px !important; }

  /* Buscador: protagonista, con sombra para destacar sobre la foto */
  .carousel_v2 .tabs__content.mt-30{ margin-top:14px !important; }
  .carousel_v2 .gotrip_form_search{ box-shadow:0 14px 36px rgba(0,0,0,.30) !important; }

  /* Prueba social: pequeña y refinada */
  .tg-hero-tu-avatar-wrap{ margin-top:12px !important; }
  .tg-hero-tu-avatar img{ height:26px !important; }
  .tg-hero-tu-avatar-text{ font-size:11.5px !important; line-height:1.25 !important; }

  /* Marquee: más pegado y discreto */
  .ng-hero__sug{ margin-top:14px !important; }
  .ng-hero__suggestTi{ font-size:11.5px !important; margin-bottom:6px !important; }
  .ng-hero__track a{ padding:7px 13px !important; font-size:12.5px !important; }
}

/* ---- GoTrip/Template/Views/frontend/blocks/form-search-all-service/carousel_v3.blade.php ---- */
/* Franja inferior de carousel_v3: prueba social + búsquedas sugeridas */
@media (min-width:992px){
  .carousel_v2{
    padding-bottom:150px !important;
    background:#fff !important;
  }
  .carousel_v2 .tg-hero-tu-avatar-wrap{
    position:absolute !important;
    z-index:8 !important;
    top:476px !important;
    left:0 !important;
    right:0 !important;
    width:max-content;
    max-width:calc(100% - 40px);
    margin:0 auto !important;
    transform:none !important;
  }
  .carousel_v2 .ng-hero__sug{
    position:absolute !important;
    z-index:7 !important;
    left:0 !important;
    right:0 !important;
    bottom:18px !important;
    width:100%;
    margin:0 !important;
    padding:0 24px;
  }
  .carousel_v2 .tg-hero-tu-avatar-text,
  .carousel_v2 .ng-hero__suggestTi{
    color:#071c1d !important;
    text-shadow:none !important;
  }
  .carousel_v2 .tg-hero-tu-svg svg path{fill:#071c1d !important}
}

@media (max-width:991px){
  .carousel_v2 .tg-hero-tu-avatar-wrap,
  .carousel_v2 .ng-hero__sug{
    position:relative !important;
    z-index:7 !important;
  }
  .carousel_v2 .tg-hero-tu-avatar-text,
  .carousel_v2 .ng-hero__suggestTi{
    color:#071c1d !important;
    text-shadow:none !important;
  }
  .carousel_v2 .tg-hero-tu-svg svg path{fill:#071c1d !important}
}

/* ---- GoTrip/Template/Views/frontend/blocks/form-search-all-service/carousel_v3.blade.php ---- */
@media (max-width: 767px){
  /* Un solo chip visible a la vez, centrado, alternando con fade → ahorra 1 fila */
  .carousel_v2 .ng-hero__trust{
    position:relative !important; display:block !important; height:30px; margin-top:12px !important;
  }
  .carousel_v2 .ng-hero__trust li{
    position:absolute; left:50%; top:0; transform:translateX(-50%);
    margin:0; opacity:0; visibility:hidden; white-space:nowrap;
    transition:opacity .45s ease;
    /* sin fondo/borde/blur: texto limpio */
    background:transparent !important; border:0 !important;
    -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
    padding:0 !important;
  }
  .carousel_v2 .ng-hero__trust li.ng-chip-on{ opacity:1; visibility:visible; }
}

/* ---- GoTrip/Template/Views/frontend/blocks/form-search-all-service/carousel_v3.blade.php ---- */
/* 1) Base navy permanente bajo la foto del carrusel */
.carousel_v2 .masthead__bg{
  background:linear-gradient(180deg,#10273c 0%,#0d1b2a 100%) !important;
}

/* 2) Capa de imagen: oculta hasta que la 1ra foto esté lista; luego funde */
.carousel_v2 .masthead__bg .owl-carousel{ transition:opacity .8s ease; }
html.ng-hero-gate .carousel_v2:not(.ng-hero-img) .masthead__bg .owl-carousel{ opacity:0; }

/* 3) Textos gated: ocultos hasta .ng-hero-ready (foto cargada o fallback).
       Al liberarse, los data-anim-child usan las transiciones y delays del
       propio theme (delay-4/5/6/7) porque .is-in-view ya está puesto. */
html.ng-hero-gate .carousel_v2:not(.ng-hero-ready) .container [data-anim-child],
html.ng-hero-gate .carousel_v2:not(.ng-hero-ready) .ng-hero__trust,
html.ng-hero-gate .carousel_v2:not(.ng-hero-ready) .ng-hero__sug{
  opacity:0 !important;
  transform:translate3d(0,26px,0) !important;
}
/* Trust chips y marquee no son data-anim-child: reveal propio escalonado */
.carousel_v2 .ng-hero__trust{
  transition:opacity .8s cubic-bezier(.215,.61,.355,1) .5s,
             transform .8s cubic-bezier(.215,.61,.355,1) .5s;
}
/* El marquee conserva su fade rápido (.2s) para el search-open; la entrada
   lenta solo aplica hasta que termina la coreografía (.ng-hero-done). */
.carousel_v2:not(.ng-hero-done) .ng-hero__sug{
  transition:opacity .8s cubic-bezier(.215,.61,.355,1) .6s,
             transform .8s cubic-bezier(.215,.61,.355,1) .6s;
}

@media (prefers-reduced-motion: reduce){
  .carousel_v2 .masthead__bg .owl-carousel,
  .carousel_v2 .ng-hero__trust,
  .carousel_v2:not(.ng-hero-done) .ng-hero__sug{ transition:none !important; }
}

/* ---- GoTrip/Template/Views/frontend/blocks/offer-block/style1.blade.php ---- */
/* === Offer slider — solo card central muestra info completa con blur === */
        .ng-offerSlider { position: relative; overflow: hidden; }

        /* Header */
        .ng-offerSlider__head { /* hereda sectionTitle del theme */ }

        /* Nav (debajo del slider, centrado) */
        .ng-offerSlider__nav {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 18px;
            margin-top: 36px;
        }
        .ng-offerSlider__navBtn {
            width: 50px; height: 50px;
            border-radius: 50%;
            background: #fff;
            border: 1px solid #eaecef;
            color: #0d1b2a;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: background .15s, border-color .15s, color .15s, transform .15s;
        }
        .ng-offerSlider__navBtn:hover {
            background: #0d1b2a; border-color: #0d1b2a; color: #fff;
            transform: scale(1.04);
        }
        /* Dots pagination */
        .ng-offerSlider__dots {
            display: flex;
            align-items: center;
            gap: 8px;
            min-width: 60px;
            justify-content: center;
        }
        .ng-offerSlider__dots .pagination__item {
            width: 8px; height: 8px;
            border-radius: 50%;
            background: #d5d8de;
            cursor: pointer;
            transition: background .15s ease, transform .15s ease, width .2s ease;
        }
        .ng-offerSlider__dots .pagination__item:hover { background: #000; }
        .ng-offerSlider__dots .pagination__item.is-active {
            background: #0d1b2a;
            transform: scale(1.25);
        }

        /* Slider — viewport visible para que slides peek FUERA del container */
        .ng-offerSlider { overflow: visible !important; }
        .ng-offerSlider > .container { overflow: visible !important; padding: 0 !important; }
        .ng-offerSlider__viewport { overflow: visible !important; }

        /* Slides anchas para card landscape */
        .ng-offerSlider__viewport .swiper-slide {
            width: 44% !important;
            box-sizing: border-box;
            opacity: 1 !important;
            transition: transform .35s ease !important; /* solo transform, NO opacity */
        }
        /* Asegura que NADA dentro del card cambie su opacity durante el slide */
        .ng-offerSlider__viewport .swiper-slide,
        .ng-offerSlider__viewport .swiper-slide * ,
        .ng-offerSlider__viewport .ng-oCard,
        .ng-offerSlider__viewport .ng-oCard__content,
        .ng-offerSlider__viewport .ng-oCard__content * {
            opacity: 1 !important;
        }
        /* Excepciones: elementos que SÍ deben tener opacity reducida (decorativos) */
        .ng-offerSlider__viewport .ng-oCard__chip svg { opacity: .9 !important; }
        .ng-offerSlider__viewport .ng-oCard__meta i   { opacity: .9 !important; }
        .ng-offerSlider__viewport .ng-oCard__shade,
        .ng-offerSlider__viewport .ng-oCard__blurFade { opacity: 1 !important; }
        @media (max-width: 1199px) {
            .ng-offerSlider__viewport .swiper-slide { width: 75% !important; }
        }
        @media (max-width: 991px) {
            .ng-offerSlider__viewport .swiper-slide { width: 92% !important; }
        }
        /* Mobile: 88% (10% más grande que el resto, exclusivo del offer block) */
        @media (max-width: 767px) {
            .ng-offerSlider__viewport { overflow: visible !important; }
            .ng-offerSlider__viewport .swiper-slide {
                width: 88% !important;
                max-width: 88% !important;
                flex-shrink: 0 !important;
            }
        }

        /* === Card horizontal: imagen izq + contenido der === */
        .ng-oCard {
            position: relative;
            display: block;
            overflow: hidden;
            border-radius: 18px;
            text-decoration: none !important;
            color: inherit;
            background: #0d1b2a;
            aspect-ratio: 16 / 9;
            min-height: 0;
            box-shadow: 0 6px 18px -6px rgba(0,0,0,.25);
            transition: transform .35s cubic-bezier(.2,.7,.25,1), box-shadow .35s ease;
        }
        .ng-oCard:hover {
            transform: translateY(-3px);
            box-shadow: 0 18px 36px -14px rgba(0,0,0,.35);
            color: inherit;
        }
        .ng-oCard:hover { color: inherit; }

        .ng-oCard__bg {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            z-index: 0;
            transition: transform .9s cubic-bezier(.2,.7,.25,1);
        }
        .ng-oCard:hover .ng-oCard__bg { transform: scale(1.04); }

        /* Shade con mínimo oscurecimiento del lado derecho (suaviza la transición) */
        .ng-oCard__shade {
            position: absolute; inset: 0; z-index: 1;
            background:
                linear-gradient(270deg,
                    rgba(0,0,0,.18) 0%,
                    rgba(0,0,0,.20) 38%,
                    rgba(0,0,0,.38) 55%,
                    rgba(0,0,0,.55) 80%,
                    rgba(0,0,0,.65) 100%),
                linear-gradient(270deg,
                    rgba(var(--ng-acc-rgb), 0)   0%,
                    rgba(var(--ng-acc-rgb), 0)  42%,
                    rgba(var(--ng-acc-rgb), .20) 65%,
                    rgba(var(--ng-acc-rgb), .35) 100%);
            pointer-events: none;
        }

        /* Blur con gradiente más translúcido — nunca llega al 100% */
        .ng-oCard__blurFade {
            position: absolute; inset: 0; z-index: 2;
            /* blur removido: backdrop-filter+saturate se repintaba por frame al deslizar
               (artefacto + jank). El degradé .ng-oCard__shade da legibilidad. */
            -webkit-mask-image: linear-gradient(to left,
                rgba(0,0,0,0)   0%,
                rgba(0,0,0,0)   25%,
                rgba(0,0,0,.25) 45%,
                rgba(0,0,0,.50) 65%,
                rgba(0,0,0,.70) 100%);
            mask-image: linear-gradient(to left,
                rgba(0,0,0,0)   0%,
                rgba(0,0,0,0)   25%,
                rgba(0,0,0,.25) 45%,
                rgba(0,0,0,.50) 65%,
                rgba(0,0,0,.70) 100%);
            pointer-events: none;
        }

        .ng-oCard__badge {
            position: absolute;
            top: 14px; left: 14px;
            z-index: 4;
            padding: 6px 12px;
            border-radius: 999px;
            background: #fff;
            color: #0d1b2a;
            font-size: 11.5px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .4px;
            line-height: 1;
            box-shadow: 0 4px 14px -3px rgba(0,0,0,.30);
        }

        /* === Contenido full width === */
        .ng-oCard__content {
            position: absolute;
            top: 0; left: 0; bottom: 0;
            width: 100%;
            z-index: 5;
            padding: 22px 22px 20px;
            color: #fff;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            gap: 8px;
            overflow: hidden;
        }

        /* Eyebrow uppercase con dot del color de acento */
        .ng-oCard__eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 12px;
            font-weight: 600;
            letter-spacing: .8px;
            text-transform: uppercase;
            color: rgba(255,255,255,.92);
            line-height: 1.2;
            margin-bottom: 2px;
            width: fit-content;
        }
        .ng-oCard__eyebrow::before {
            content: '';
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--ng-acc, #ffc107);
            flex: 0 0 6px;
        }

        /* Chips row (city/rating/duration) */
        .ng-oCard__chips {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }
        .ng-oCard__chip {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            font-size: 12.5px;
            font-weight: 600;
            color: rgba(255,255,255,.95);
            line-height: 1;
        }
        .ng-oCard__chip svg { opacity: .9; }
        .ng-oCard__chip + .ng-oCard__chip {
            border-left: 1px solid rgba(255,255,255,.25);
            padding-left: 8px;
        }

        /* Título grande con tamaño fluido */
        .ng-oCard__title {
            font-size: clamp(28px, 3.4vw, 32px);
            line-height: 1.08;
            font-weight: 600;
            color: #fff;
            margin: 0;
            letter-spacing: -.5px;
            text-shadow: 0 2px 16px rgba(0,0,0,.30);
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            transition: transform .35s cubic-bezier(.2,.7,.25,1);
        }
        .ng-oCard:hover .ng-oCard__title { transform: translateY(-1px); }

        /* Descripción */
        .ng-oCard__desc {
            font-size: 14px;
            line-height: 1.5;
            color: rgba(255,255,255,.92);
            margin: 0;
            font-weight: 400;
            text-shadow: 0 1px 4px rgba(0,0,0,.25);
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        /* === Footer estilo App Store — SIEMPRE pegado abajo === */
        .ng-oCard__footer {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-top: auto;       /* empuja el footer al fondo */
            padding-top: 14px;
            position: relative;
        }
        .ng-oCard__footer::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 1px;
            background: linear-gradient(90deg,
                rgba(255,255,255,0)   0%,
                rgba(255,255,255,.22) 15%,
                rgba(255,255,255,.22) 85%,
                rgba(255,255,255,0)   100%);
        }
        .ng-oCard__appIcon {
            flex: 0 0 50px;
            width: 50px;
            height: 50px;
            border-radius: 12px;
            overflow: hidden;
            background: rgba(255,255,255,.95);
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }
        .ng-oCard__appIcon i { font-size: 42px; color: var(--ng-acc, #0d1b2a); }
        .ng-oCard__appIcon img { width: 100%; height: 100%; object-fit: cover; }

        .ng-oCard__appInfo {
            flex: 1 1 auto;
            min-width: 0;
            display: flex;
            flex-direction: column;
            line-height: 1.2;
        }
        .ng-oCard__appName {
            font-size: 14.5px;
            font-weight: 700;
            color: #fff;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .ng-oCard__appSub {
            font-size: 12.5px;
            color: rgba(255,255,255,.78);
            font-weight: 500;
            margin-top: 2px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .ng-oCard__appCta {
            flex: 0 0 auto;
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 3px;
            margin-left: auto;     /* siempre pegado a la derecha */
        }

        /* (legacy) Eyebrow chips para compatibilidad */
        .ng-oCard__eyebrowChips {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }
        .ng-oCard__tag {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 12px;
            border-radius: 999px;
            background: #fff;
            color: #0d1b2a;
            font-size: 11.5px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: .4px;
            line-height: 1;
        }
        .ng-oCard__tag i { font-size: 13px; color: var(--ng-acc, #ffc107); }
        .ng-oCard__chip {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 5px 11px;
            border-radius: 999px;
            background: rgba(255,255,255,.20);
            border: 1px solid rgba(255,255,255,.22);
            color: #fff;
            font-size: 12.5px;
            font-weight: 600;
            line-height: 1;
        }
        .ng-oCard__chip svg { opacity: .9; }

        .ng-oCard__desc {
            font-size: 14.5px;
            line-height: 1.5;
            color: rgba(255,255,255,.95);
            margin: 0;
            font-weight: 400;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        /* Meta chips — más grandes */
        .ng-oCard__metas {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }
        .ng-oCard__meta {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 11px;
            border-radius: 10px;
            background: rgba(255,255,255,.18);
            color: #fff;
            font-size: 12.5px;
            font-weight: 600;
            line-height: 1.2;
        }
        .ng-oCard__meta i { font-size: 14px; opacity: .9; }

        /* Alerts: savings / valid / coupon */
        .ng-oCard__alerts { display: flex; flex-wrap: wrap; gap: 6px; }
        .ng-oCard__savings,
        .ng-oCard__valid,
        .ng-oCard__coupon {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 3px 8px;
            border-radius: 6px;
            font-size: 10.5px;
            font-weight: 700;
            line-height: 1.3;
        }
        .ng-oCard__savings { background: rgba(16,185,129,.20); color: #6ee7b7; }
        .ng-oCard__valid   { background: rgba(255,255,255,.12); color: rgba(255,255,255,.85); }
        .ng-oCard__coupon  {
            background: rgba(var(--ng-acc-rgb, 255,193,7), .22);
            color: #fff;
            border: 1px dashed rgba(var(--ng-acc-rgb, 255,193,7), .60);
        }
        .ng-oCard__coupon strong {
            color: #fff;
            padding: 2px 7px;
            background: rgba(0,0,0,.30);
            border-radius: 4px;
            letter-spacing: 1px;
            font-weight: 700;
            font-family: 'SFMono-Regular', 'Menlo', 'Consolas', ui-monospace, monospace;
            font-size: 11px;
        }

        /* Bottom: precio + botón */
        .ng-oCard__bottom {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-top: 4px;
        }
        .ng-oCard__priceWrap { display: flex; flex-direction: column; line-height: 1; }
        .ng-oCard__priceLbl {
            font-size: 10.5px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .5px;
            color: rgba(255,255,255,.85);
            margin-bottom: 3px;
        }
        .ng-oCard__priceRow { display: inline-flex; align-items: baseline; gap: 8px; }
        .ng-oCard__priceStrike {
            font-size: 14px;
            color: rgba(255,255,255,.65);
            text-decoration: line-through;
            font-weight: 500;
        }
        .ng-oCard__priceFinal {
            font-size: 24px;
            font-weight: 800;
            color: #fff;
            letter-spacing: -.4px;
        }
        .ng-oCard__btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 10px 22px;
            border-radius: 999px;
            background: var(--ng-acc, #000);
            color: var(--ng-acc-fg, #0d1b2a);
            font-size: 16px;
            font-weight: 700;
            line-height: 1;
            white-space: nowrap;
            transition: filter .2s ease, transform .2s ease, box-shadow .2s ease;
            min-height: 36px;
            box-shadow: 0 4px 14px -4px rgba(0,0,0,.35);
        }
        .ng-oCard:hover .ng-oCard__btn {
            filter: brightness(1.10);
            transform: translateY(-1px);
            box-shadow: 0 8px 18px -4px rgba(0,0,0,.45);
        }

        .ng-oCard__note {
            font-size: 10px;
            color: rgba(255,255,255,.78);
            text-align: center;
            line-height: 1.2;
            margin: 0;
            max-width: 90px;
            font-style: normal;
            font-weight: 500;
        }

        /* === Responsive === */
        @media (max-width: 1199px) {
            .ng-oCard__content { width: 60%; padding: 18px 18px 16px; }
            .ng-oCard__title { font-size: 24px; }
        }
        @media (max-width: 991px) {
            .ng-oCard { aspect-ratio: 16 / 10; }
            .ng-oCard__content { width: 65%; }
            .ng-oCard__title { font-size: 22px; }
        }
        @media (max-width: 767px) {
            /* En mobile: misma proporción que boat/tour cards (portrait 3/4) */
            .ng-oCard {
                aspect-ratio: 6 / 4 !important;
                border-radius: 16px;
                width: 100% !important;
                min-width: 0 !important;
                max-width: 100% !important;
                min-height: 0 !important;
                height: auto !important;
            }
            .ng-oCard__shade {
           background:
                linear-gradient(270deg,
                    rgba(0,0,0,.18) 0%,
                    rgba(0,0,0,.20) 38%,
                    rgba(0,0,0,.38) 55%,
                    rgba(0,0,0,.55) 80%,
                    rgba(0,0,0,.65) 100%),
                linear-gradient(270deg,
                    rgba(var(--ng-acc-rgb), 0)   0%,
                    rgba(var(--ng-acc-rgb), 0)  42%,
                    rgba(var(--ng-acc-rgb), .20) 65%,
                    rgba(var(--ng-acc-rgb), .35) 100%);
            }
            /* En mobile: blur de abajo hacia arriba (más denso, menor altura) */
            .ng-oCard__blurFade {
                display: block !important;
                position: absolute; inset: 0; z-index: 2;
                /* blur removido (jank al deslizar); el degradé da legibilidad */
                pointer-events: none;
                -webkit-mask-image: linear-gradient(to top,
                    rgba(0,0,0,1)   0%,
                    rgba(0,0,0,.65) 22%,
                    rgba(0,0,0,.25) 42%,
                    rgba(0,0,0,0)   60%) !important;
                mask-image: linear-gradient(to top,
                    rgba(0,0,0,1)   0%,
                    rgba(0,0,0,.65) 22%,
                    rgba(0,0,0,.25) 42%,
                    rgba(0,0,0,0)   60%) !important;
            }
            .ng-oCard__content {
                top: auto;
                bottom: 0;
                left: 0;
                width: 100%;
                padding: 16px 16px 14px;
                gap: 6px;
                justify-content: flex-end;
                height: 100%;
            }
            .ng-oCard__title { font-size: 32px !important; line-height: 1.1;font-weight: 600; }
            .ng-oCard__desc { font-size: 13px; -webkit-line-clamp: 2; }
            .ng-oCard__appIcon { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 9px; }
            .ng-oCard__appIcon i { font-size: 18px; }
            .ng-oCard__btn { padding: 8px 16px; font-size: 13px; }
            .ng-oCard__appName { font-size: 13px; }
            .ng-oCard__appSub { font-size: 11.5px; }
            .ng-oCard__priceFinal { font-size: 16px; }
            .ng-oCard__content { padding: 34px 14px 14px; gap: 5px; }
            .ng-offerSlider__navBtn { width: 44px; height: 44px; }
            .ng-offerSlider__nav { gap: 14px; margin-top: 24px; }

            /* Footer: el botón pasa a su propia fila full-width CENTRADA, arriba de la
               línea; así el nombre del footer queda con todo el ancho (sin recortarse). */
            .ng-oCard__footer { flex-wrap: wrap; row-gap: 12px; padding-top: 0; }
            .ng-oCard__footer::before { display: none; }
            .ng-oCard__appCta {
                order: -1; flex: 0 0 100%; margin-left: 0;
                display: flex; justify-content: center; align-items: center;
                padding-bottom: 12px;
                border-bottom: 1px solid rgba(255,255,255,.22);
            }
            .ng-oCard__btn { width: fit-content; justify-content: center; }
            .ng-oCard__appIcon { order: 1; }
            .ng-oCard__appInfo { order: 2; flex: 1 1 auto; min-width: 0; }
            .ng-oCard__appName { white-space: normal; }
        }

/* ---- GoTrip/Template/Views/frontend/blocks/offer-block/style2.blade.php ---- */
/* === Offer slider — solo card central muestra info completa con blur === */
        .ng-offerSlider { position: relative; overflow: hidden; }

        /* Header */
        .ng-offerSlider__head { /* hereda sectionTitle del theme */ }

        /* Nav (debajo del slider, centrado) */
        .ng-offerSlider__nav {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 18px;
            margin-top: 36px;
        }
        .ng-offerSlider__navBtn {
            width: 50px; height: 50px;
            border-radius: 50%;
            background: #fff;
            border: 1px solid #eaecef;
            color: #0d1b2a;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: background .15s, border-color .15s, color .15s, transform .15s;
        }
        .ng-offerSlider__navBtn:hover {
            background: #0d1b2a; border-color: #0d1b2a; color: #fff;
            transform: scale(1.04);
        }
        /* Dots pagination */
        .ng-offerSlider__dots {
            display: flex;
            align-items: center;
            gap: 8px;
            min-width: 60px;
            justify-content: center;
        }
        .ng-offerSlider__dots .pagination__item {
            width: 8px; height: 8px;
            border-radius: 50%;
            background: #d5d8de;
            cursor: pointer;
            transition: background .15s ease, transform .15s ease, width .2s ease;
        }
        .ng-offerSlider__dots .pagination__item:hover { background: #000; }
        .ng-offerSlider__dots .pagination__item.is-active {
            background: #0d1b2a;
            transform: scale(1.25);
        }

        /* Slider — viewport visible para que slides peek FUERA del container */
        .ng-offerSlider { overflow: visible !important; }
        .ng-offerSlider > .container { overflow: visible !important; }
        .ng-offerSlider__viewport { overflow: visible !important; }

        /* Slides anchas para card landscape */
        .ng-offerSlider__viewport .swiper-slide {
            width: 44% !important;
            box-sizing: border-box;
            opacity: 1 !important;
            transition: transform .35s ease !important; /* solo transform, NO opacity */
        }
        /* Asegura que NADA dentro del card cambie su opacity durante el slide */
        .ng-offerSlider__viewport .swiper-slide,
        .ng-offerSlider__viewport .swiper-slide * ,
        .ng-offerSlider__viewport .ng-oCard,
        .ng-offerSlider__viewport .ng-oCard__content,
        .ng-offerSlider__viewport .ng-oCard__content * {
            opacity: 1 !important;
        }
        /* Excepciones: elementos que SÍ deben tener opacity reducida (decorativos) */
        .ng-offerSlider__viewport .ng-oCard__chip svg { opacity: .9 !important; }
        .ng-offerSlider__viewport .ng-oCard__meta i   { opacity: .9 !important; }
        .ng-offerSlider__viewport .ng-oCard__shade,
        .ng-offerSlider__viewport .ng-oCard__blurFade { opacity: 1 !important; }
        @media (max-width: 1199px) {
            .ng-offerSlider__viewport .swiper-slide { width: 75% !important; }
        }
        @media (max-width: 991px) {
            .ng-offerSlider__viewport .swiper-slide { width: 92% !important; }
        }
        /* Mobile: 88% (10% más grande que el resto, exclusivo del offer block) */
        @media (max-width: 767px) {
            .ng-offerSlider__viewport { overflow: visible !important; }
            .ng-offerSlider__viewport .swiper-slide {
                width: 66% !important;   /* 75% del 88% anterior → card más pequeña */
                max-width: 66% !important;
                flex-shrink: 0 !important;
            }
        }

        /* === Card horizontal: imagen izq + contenido der === */
        .ng-oCard {
            position: relative;
            display: block;
            overflow: hidden;
            border-radius: 20px;
            text-decoration: none !important;
            color: inherit;
            background: #0d1b2a;
            aspect-ratio: 16 / 9;
            min-height: 0;
            box-shadow: 0 6px 18px -6px rgba(0,0,0,.25);
            transition: transform .35s cubic-bezier(.2,.7,.25,1), box-shadow .35s ease;
        }
        .ng-oCard:hover {
            transform: translateY(-3px);
            box-shadow: 0 18px 36px -14px rgba(0,0,0,.35);
            color: inherit;
        }
        .ng-oCard:hover { color: inherit; }

        .ng-oCard__bg {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            z-index: 0;
            transition: transform .9s cubic-bezier(.2,.7,.25,1);
        }
        .ng-oCard:hover .ng-oCard__bg { transform: scale(1.04); }

        /* Shade con mínimo oscurecimiento del lado derecho (suaviza la transición) */
        .ng-oCard__shade {
            position: absolute; inset: 0; z-index: 1;
            background:
                linear-gradient(270deg,
                    rgba(0,0,0,.18) 0%,
                    rgba(0,0,0,.20) 38%,
                    rgba(0,0,0,.38) 55%,
                    rgba(0,0,0,.55) 80%,
                    rgba(0,0,0,.65) 100%),
                linear-gradient(270deg,
                    rgba(var(--ng-acc-rgb), 0)   0%,
                    rgba(var(--ng-acc-rgb), 0)  42%,
                    rgba(var(--ng-acc-rgb), .20) 65%,
                    rgba(var(--ng-acc-rgb), .35) 100%);
            pointer-events: none;
        }

        /* Blur con gradiente más translúcido — nunca llega al 100% */
        .ng-oCard__blurFade {
            position: absolute; inset: 0; z-index: 2;
            /* El backdrop-filter (blur) va SOLO en desktop (@min 768) porque al deslizar
               el slider en móvil WebKit repinta esta capa por frame y el contenido de
               encima parpadea/desaparece hasta terminar la transición. */
            -webkit-mask-image: linear-gradient(to left,
                rgba(0,0,0,0)   0%,
                rgba(0,0,0,0)   25%,
                rgba(0,0,0,.25) 45%,
                rgba(0,0,0,.50) 65%,
                rgba(0,0,0,.70) 100%);
            mask-image: linear-gradient(to left,
                rgba(0,0,0,0)   0%,
                rgba(0,0,0,0)   25%,
                rgba(0,0,0,.25) 45%,
                rgba(0,0,0,.50) 65%,
                rgba(0,0,0,.70) 100%);
            pointer-events: none;
        }
        /* Blur real solo en desktop (en móvil produce el parpadeo al deslizar) */
        @media (min-width: 768px) {
            .ng-oCard__blurFade {
                -webkit-backdrop-filter: blur(7px);
                backdrop-filter: blur(7px);
            }
        }

        .ng-oCard__badge {
            position: absolute;
            top: 14px; left: 14px;
            z-index: 4;
            padding: 6px 12px;
            border-radius: 999px;
            background: #fff;
            color: #0d1b2a;
            font-size: 11.5px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .4px;
            line-height: 1;
            box-shadow: 0 4px 14px -3px rgba(0,0,0,.30);
        }

        /* === Contenido full width === */
        .ng-oCard__content {
            position: absolute;
            top: 0; left: 0; bottom: 0;
            width: 100%;
            z-index: 5;
            padding: 22px 22px 20px;
            color: #fff;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            gap: 8px;
            overflow: hidden;
        }

        /* Eyebrow uppercase con dot del color de acento */
        .ng-oCard__eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 12px;
            font-weight: 600;
            letter-spacing: .8px;
            text-transform: uppercase;
            color: rgba(255,255,255,.92);
            line-height: 1.2;
            margin-bottom: 2px;
            width: fit-content;
        }
        .ng-oCard__eyebrow::before {
            content: '';
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--ng-acc, #ffc107);
            flex: 0 0 6px;
        }

        /* Chips row (city/rating/duration) */
        .ng-oCard__chips {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }
        .ng-oCard__chip {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            font-size: 12.5px;
            font-weight: 600;
            color: rgba(255,255,255,.95);
            line-height: 1;
        }
        .ng-oCard__chip svg { opacity: .9; }
        .ng-oCard__chip + .ng-oCard__chip {
            border-left: 1px solid rgba(255,255,255,.25);
            padding-left: 8px;
        }

        /* Título grande con tamaño fluido */
        .ng-oCard__title {
            font-size: clamp(28px, 3.4vw, 48px);
            line-height: 1.08;
            font-weight: 700;
            color: #fff;
            margin: 0;
            letter-spacing: -.5px;
            text-shadow: 0 2px 16px rgba(0,0,0,.30);
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            transition: transform .35s cubic-bezier(.2,.7,.25,1);
        }
        .ng-oCard:hover .ng-oCard__title { transform: translateY(-1px); }

        /* Descripción */
        .ng-oCard__desc {
            font-size: 14px;
            line-height: 1.5;
            color: rgba(255,255,255,.92);
            margin: 0;
            font-weight: 400;
            text-shadow: 0 1px 4px rgba(0,0,0,.25);
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        /* === Footer estilo App Store — SIEMPRE pegado abajo === */
        .ng-oCard__footer {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-top: auto;       /* empuja el footer al fondo */
            padding-top: 14px;
            position: relative;
        }
        .ng-oCard__footer::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 1px;
            background: linear-gradient(90deg,
                rgba(255,255,255,0)   0%,
                rgba(255,255,255,.22) 15%,
                rgba(255,255,255,.22) 85%,
                rgba(255,255,255,0)   100%);
        }
        .ng-oCard__appIcon {
            flex: 0 0 180px;
            width: 180px;
            height: 180px;
            border-radius: 20px;
            overflow: hidden;
            background: rgba(255,255,255,.95);
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }
        .ng-oCard__appIcon i { font-size: 96px; color: var(--ng-acc, #0d1b2a); }
        .ng-oCard__appIcon img { width: 100%; height: 100%; object-fit: cover; }

        .ng-oCard__appInfo {
            flex: 1 1 auto;
            min-width: 0;
            display: flex;
            flex-direction: column;
            line-height: 1.2;
        }
        .ng-oCard__appName {
            font-size: 14.5px;
            font-weight: 700;
            color: #fff;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .ng-oCard__appSub {
            font-size: 12.5px;
            color: rgba(255,255,255,.78);
            font-weight: 500;
            margin-top: 2px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .ng-oCard__appCta {
            flex: 0 0 auto;
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 3px;
            margin-left: auto;     /* siempre pegado a la derecha */
        }

        /* (legacy) Eyebrow chips para compatibilidad */
        .ng-oCard__eyebrowChips {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }
        .ng-oCard__tag {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 12px;
            border-radius: 999px;
            background: #fff;
            color: #0d1b2a;
            font-size: 11.5px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .4px;
            line-height: 1;
        }
        .ng-oCard__tag i { font-size: 13px; color: var(--ng-acc, #ffc107); }
        .ng-oCard__chip {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 5px 11px;
            border-radius: 999px;
            background: rgba(255,255,255,.20);
            border: 1px solid rgba(255,255,255,.22);
            color: #fff;
            font-size: 12.5px;
            font-weight: 600;
            line-height: 1;
        }
        .ng-oCard__chip svg { opacity: .9; }

        .ng-oCard__desc {
            font-size: 14.5px;
            line-height: 1.5;
            color: rgba(255,255,255,.95);
            margin: 0;
            font-weight: 500;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        /* Meta chips — más grandes */
        .ng-oCard__metas {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }
        .ng-oCard__meta {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 11px;
            border-radius: 10px;
            background: rgba(255,255,255,.18);
            color: #fff;
            font-size: 12.5px;
            font-weight: 600;
            line-height: 1.2;
        }
        .ng-oCard__meta i { font-size: 14px; opacity: .9; }

        /* Alerts: savings / valid / coupon */
        .ng-oCard__alerts { display: flex; flex-wrap: wrap; gap: 6px; }
        .ng-oCard__savings,
        .ng-oCard__valid,
        .ng-oCard__coupon {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 3px 8px;
            border-radius: 6px;
            font-size: 10.5px;
            font-weight: 700;
            line-height: 1.3;
        }
        .ng-oCard__savings { background: rgba(16,185,129,.20); color: #6ee7b7; }
        .ng-oCard__valid   { background: rgba(255,255,255,.12); color: rgba(255,255,255,.85); }
        .ng-oCard__coupon  {
            background: rgba(var(--ng-acc-rgb, 255,193,7), .22);
            color: #fff;
            border: 1px dashed rgba(var(--ng-acc-rgb, 255,193,7), .60);
        }
        .ng-oCard__coupon strong {
            color: #fff;
            padding: 2px 7px;
            background: rgba(0,0,0,.30);
            border-radius: 4px;
            letter-spacing: 1px;
            font-weight: 700;
            font-family: 'SFMono-Regular', 'Menlo', 'Consolas', ui-monospace, monospace;
            font-size: 11px;
        }

        /* Bottom: precio + botón */
        .ng-oCard__bottom {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-top: 4px;
        }
        .ng-oCard__priceWrap { display: flex; flex-direction: column; line-height: 1; }
        .ng-oCard__priceLbl {
            font-size: 10.5px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .5px;
            color: rgba(255,255,255,.85);
            margin-bottom: 3px;
        }
        .ng-oCard__priceRow { display: inline-flex; align-items: baseline; gap: 8px; }
        .ng-oCard__priceStrike {
            font-size: 14px;
            color: rgba(255,255,255,.65);
            text-decoration: line-through;
            font-weight: 500;
        }
        .ng-oCard__priceFinal {
            font-size: 24px;
            font-weight: 800;
            color: #fff;
            letter-spacing: -.4px;
        }
        .ng-oCard__btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 10px 22px;
            border-radius: 999px;
            background: var(--ng-acc, #000);
            color: var(--ng-acc-fg, #0d1b2a);
            font-size: 16px;
            font-weight: 700;
            line-height: 1;
            white-space: nowrap;
            transition: filter .2s ease, transform .2s ease, box-shadow .2s ease;
            min-height: 36px;
            box-shadow: 0 4px 14px -4px rgba(0,0,0,.35);
        }
        .ng-oCard:hover .ng-oCard__btn {
            filter: brightness(1.10);
            transform: translateY(-1px);
            box-shadow: 0 8px 18px -4px rgba(0,0,0,.45);
        }

        .ng-oCard__note {
            font-size: 10px;
            color: rgba(255,255,255,.78);
            text-align: center;
            line-height: 1.2;
            margin: 0;
            max-width: 90px;
            font-style: normal;
            font-weight: 500;
        }

        /* === Responsive === */
        @media (max-width: 1199px) {
            .ng-oCard__content { width: 60%; padding: 18px 18px 16px; }
            .ng-oCard__title { font-size: 24px; }
        }
        @media (max-width: 991px) {
            .ng-oCard { aspect-ratio: 16 / 10; }
            .ng-oCard__content { width: 65%; }
            .ng-oCard__title { font-size: 22px; }
        }
        @media (max-width: 767px) {
            /* En mobile: misma proporción que boat/tour cards (portrait 3/4) */
            .ng-oCard {
                aspect-ratio: 3 / 4 !important;
                border-radius: 20px;
                width: 100% !important;
                min-width: 0 !important;
                max-width: 100% !important;
                min-height: 0 !important;
                height: auto !important;
            }
            .ng-oCard__shade {
                background:
                    linear-gradient(180deg,
                        rgba(0,0,0,0)   0%,
                        rgba(0,0,0,0)   34%,
                        rgba(0,0,0,.45) 55%,
                        rgba(0,0,0,.72) 82%,
                        rgba(0,0,0,.88) 100%),
                    linear-gradient(180deg,
                        rgba(var(--ng-acc-rgb), 0)   0%,
                        rgba(var(--ng-acc-rgb), 0)  48%,
                        rgba(var(--ng-acc-rgb), .22) 75%,
                        rgba(var(--ng-acc-rgb), .38) 100%);
            }
            /* En mobile: blur de abajo hacia arriba (más denso, menor altura) */
            .ng-oCard__blurFade {
                display: block !important;
                position: absolute; inset: 0; z-index: 2;
                /* blur removido (jank al deslizar); el degradé da legibilidad */
                pointer-events: none;
                -webkit-mask-image: linear-gradient(to top,
                    rgba(0,0,0,1)   0%,
                    rgba(0,0,0,.65) 22%,
                    rgba(0,0,0,.25) 42%,
                    rgba(0,0,0,0)   60%) !important;
                mask-image: linear-gradient(to top,
                    rgba(0,0,0,1)   0%,
                    rgba(0,0,0,.65) 22%,
                    rgba(0,0,0,.25) 42%,
                    rgba(0,0,0,0)   60%) !important;
            }
            .ng-oCard__content {
                top: auto;
                bottom: 0;
                left: 0;
                width: 100%;
                padding: 16px 16px 14px;
                gap: 6px;
                justify-content: flex-end;
            }
            .ng-oCard__title { font-size: 32px !important; line-height: 1.12; }
            .ng-oCard__desc { font-size: 17px !important; line-height: 1.45; -webkit-line-clamp: 3; }
            .ng-oCard__appIcon { flex: 0 0 150px; width: 150px; height: 150px; border-radius: 18px; }
            .ng-oCard__appIcon i { font-size: 80px; }
            .ng-oCard__btn { padding: 8px 16px; font-size: 13px; }
            .ng-oCard__appName { font-size: 13px; }
            .ng-oCard__appSub { font-size: 11.5px; }
            .ng-oCard__priceFinal { font-size: 16px; }
            .ng-oCard__content { padding: 14px 14px 14px; gap: 5px; }
            .ng-offerSlider__navBtn { width: 44px; height: 44px; }
            .ng-offerSlider__nav { gap: 14px; margin-top: 24px; }
        }

        /* Del footer ocultamos SOLO la imagen y el nombre duplicados, pero
           mantenemos el botón (appCta). Si no hay botón, se oculta el footer. */
        .ng-oCard__appIcon,
        .ng-oCard__appInfo { display: none !important; }
        .ng-oCard__footer:not(:has(.ng-oCard__appCta)) { display: none !important; }
        .ng-oCard__footer { justify-content: flex-start; }
        .ng-oCard__appCta { margin-left: 0; align-items: flex-start; }

        /* === Desktop/tablet (≥768): igual que en móvil — imagen principal full +
           contenido abajo con degradado inferior (sin dividir en columnas) === */
        @media (min-width: 768px) {
            .ng-oCard__bg { left: 0; width: 100%; }
            .ng-oCard__content {
                top: auto; bottom: 0; width: 100%;
                justify-content: flex-end;
                gap: 8px;
                padding: 26px 30px;
                background: none;
            }
            .ng-oCard__shade {
                display: block !important;
                background: linear-gradient(180deg,
                    rgba(0,0,0,0)   0%,
                    rgba(0,0,0,0)   32%,
                    rgba(0,0,0,.42) 62%,
                    rgba(0,0,0,.72) 100%) !important;
            }
            .ng-oCard__blurFade { display: block !important; }
        }

/* ---- GoTrip/Template/Views/frontend/blocks/our-team/index.blade.php ---- */
/* En móvil, menos separación entre el header (título+subtítulo) y los items.
       El slider trae pt-40 (40px) del tema; lo reducimos solo en mobile. */
    @media (max-width: 767px) {
        .bc-our-team .js-section-slider.pt-40 { padding-top: 18px; }
        /* Cada item como card: fondo suave + borde fino redondeado */
        .bc-our-team .swiper-slide > div {
            background: #fefefe;
            border: 1px solid #ececf0;
            border-radius: 14px;
            padding: 18px 16px;
            height: 100%;
            box-shadow: 0 6px 18px -14px rgba(13,27,42,.18);
        }
        .bc-our-team .swiper-slide .mt-10 { margin-top: 0 !important; }
        /* Las flechas prev/next se ocultan en mobile, pero sus .col-auto seguían
           reservando espacio. Los colapsamos. */
        .bc-our-team .d-flex.x-gap-15 > .col-auto:has(> .js-team-prev),
        .bc-our-team .d-flex.x-gap-15 > .col-auto:has(> .js-team-next) { display: none !important; }
        /* Si la barra de navegación no tiene ningún dot (queda sin nada visible),
           se oculta completa para no ocupar espacio. */
        .bc-our-team .d-flex.x-gap-15:not(:has(.pagination__item)) { display: none !important; }
    }

/* ---- GoTrip/Template/Views/frontend/blocks/why-choose-us/index.blade.php ---- */
.ng-whyUs {
            padding-top: 60px;
            padding-bottom: 60px;
        }
        .ng-whyUs__head { padding-bottom: 32px; }
        .ng-whyUs__eyebrow {
            display: inline-block;
            font-size: 12px;
            font-weight: 600;
            letter-spacing: .12em;
            text-transform: uppercase;
            color: #0d6efd;
            margin-bottom: 8px;
        }
        .ng-whyUs__grid { row-gap: 20px; }
        .ng-whyUs__card {
            display: flex;
            flex-direction: column;
            gap: 12px;
            padding: 22px;
            height: 100%;
            background: #fff;
            border: 1px solid rgba(13,27,42,.06);
            border-radius: 16px;
            box-shadow:
                0 1px 2px rgba(13,27,42,.04),
                0 8px 24px -16px rgba(13,27,42,.10);
            transition: transform .25s cubic-bezier(.2,.7,.25,1),
                        box-shadow .25s ease,
                        border-color .25s ease;
        }
        .ng-whyUs__card:hover {
            transform: translateY(-2px);
            border-color: rgba(13,27,42,.10);
            box-shadow:
                0 2px 4px rgba(13,27,42,.05),
                0 16px 32px -16px rgba(13,27,42,.16);
        }
        .ng-whyUs__icon {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            background: #f3f5f9;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .ng-whyUs__icon img {
            width: 28px;
            height: 28px;
            object-fit: contain;
        }
        .ng-whyUs__title {
            font-size: 16px;
            font-weight: 600;
            color: #0d1b2a;
            margin: 0;
            line-height: 1.3;
            letter-spacing: -.1px;
        }
        .ng-whyUs__desc {
            font-size: 14px;
            color: #4a5568;
            margin: 0;
            line-height: 1.55;
        }

        @media (max-width: 991px) {
            .ng-whyUs { padding-top: 40px; padding-bottom: 40px; }
            .ng-whyUs__head { padding-bottom: 24px; }
        }
        @media (max-width: 767px) {
            .ng-whyUs { padding-top: 24px; padding-bottom: 24px; }
            /* Neutraliza el gap del y-gap-30 del tema y usa un gap ajustado.
               !important porque `html body .row.y-gap-30 { row-gap:18px }` del tema
               tiene mayor especificidad y si no lo forzamos, gana (cards muy separadas). */
            .ng-whyUs__grid.y-gap-30 { margin-top: 0 !important; margin-bottom: 0 !important; row-gap: 10px !important; }
            .ng-whyUs__grid.y-gap-30 > * { padding-top: 0 !important; padding-bottom: 0 !important; }
            .ng-whyUs__card { padding: 16px; gap: 8px; border-radius: 14px; }
            .ng-whyUs__icon { width: 42px; height: 42px; border-radius: 10px; }
            .ng-whyUs__icon img { width: 24px; height: 24px; }
            .ng-whyUs__title { font-size: 15px; }
            .ng-whyUs__desc { font-size: 13px; }
            /* Menos aire antes del botón */
            .ng-whyUs__grid + .row.pt-30 { padding-top: 16px !important; }
        }

/* ---- GoTrip/Tour/Views/frontend/blocks/list-featured-item/style1.blade.php ---- */
/* === Featured items compactos: icono a la izquierda + texto derecha === */
        .ng-feature-section {
            padding-top: 36px;
            padding-bottom: 36px;
        }
        .ng-feature-section__head { padding-bottom: 24px; }

        .ng-feature-h {
            display: flex !important;
            align-items: flex-start;
            gap: 14px;
            padding: 0;
            text-align: left;
        }
        .ng-feature-h__icon {
            flex: 0 0 44px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .ng-feature-h__icon img {
            width: 44px;
            height: 44px;
            object-fit: contain;
        }
        .ng-feature-h__body {
            flex: 1 1 auto;
            min-width: 0;
        }
        .ng-feature-h__title {
            font-size: 15px;
            font-weight: 600;
            color: #0d1b2a;
            margin: 0 0 4px;
            line-height: 1.25;
            text-align: left;
        }
        .ng-feature-h__sub {
            font-size: 13px;
            color: #56657a;
            margin: 0;
            line-height: 1.5;
            text-align: left;
        }

        @media (max-width: 991px) {
            .ng-feature-section { padding-top: 28px; padding-bottom: 28px; }
            .ng-feature-section__head { padding-bottom: 20px; }
        }
        @media (max-width: 575px) {
            .ng-feature-h__icon { flex: 0 0 40px; }
            .ng-feature-h__icon img { width: 40px; height: 40px; }
            .ng-feature-h__title { font-size: 14px; }
            .ng-feature-h__sub { font-size: 12.5px; }
        }

        @media (max-width: 767px) {
            .ng-feature-section__head { padding-bottom: 36px; }
            .ng-feature-row {
                flex-wrap: nowrap;
                overflow-x: auto;
                scroll-snap-type: x mandatory;
                -webkit-overflow-scrolling: touch;
                scrollbar-width: none;
                scroll-padding: 0 16px;
                padding-bottom: 6px;
                gap: 16px;
                margin-left: 4px;
                margin-right: 4px;
            }
            .ng-feature-row::-webkit-scrollbar { display: none; }
            .ng-feature-row > [class*="col-"] {
                flex: 0 0 80%;
                max-width: 80%;
                scroll-snap-align: center;
                border-radius: 18px;
                padding: 24px 22px;
            }
            .ng-feature-h { gap: 16px; align-items: flex-start; }
            .ng-feature-h__title { font-size: 15px; margin-bottom: 6px; }
            .ng-feature-h__sub { font-size: 13px; line-height: 1.55; }
        }
        .ng-dots { display: none; }
        @media (max-width: 767px) {
            .ng-dots { display: flex; justify-content: center; gap: 7px; margin-top: 28px; margin-bottom: 6px; }
            .ng-dots__dot { width: 8px; height: 8px; border-radius: 50%; border: 0; padding: 0; background: rgba(13,27,42,.22); cursor: pointer; transition: all .25s; }
            .ng-dots__dot.is-active { background: #16b8c9; width: 22px; border-radius: 5px; }
        }

/* ---- GoTrip/Tour/Views/frontend/blocks/list-featured-item/style2.blade.php ---- */
@media (max-width: 767px) {
            .ng-howto-row {
                flex-wrap: nowrap;
                overflow-x: auto;
                scroll-snap-type: x mandatory;
                -webkit-overflow-scrolling: touch;
                scrollbar-width: none;
                scroll-padding: 0 10px;
                padding-bottom: 8px;
            }
            .ng-howto-row::-webkit-scrollbar { display: none; }
            .ng-howto-row > .col-md-6 {
                flex: 0 0 80%;
                max-width: 80%;
                scroll-snap-align: center;
            }
            .ng-howto-row > .col-auto { display: none !important; }
        }
        .ng-dots { display: none; }
        @media (max-width: 767px) {
            .ng-dots { display: flex; justify-content: center; gap: 7px; margin-top: 18px; }
            .ng-dots__dot { width: 8px; height: 8px; border-radius: 50%; border: 0; padding: 0; background: rgba(13,27,42,.22); cursor: pointer; transition: all .25s; }
            .ng-dots__dot.is-active { background: #16b8c9; width: 22px; border-radius: 5px; }
        }
        .bg-green-1 img { filter: brightness(0); }

/* ---- GoTrip/Tour/Views/frontend/blocks/list-featured-item/style4.blade.php ---- */
@media (max-width: 767px) {
            .ng-howto-row {
                display: block !important;
                flex-wrap: unset !important;
                overflow: visible !important;
                padding-bottom: 0 !important;
            }
            
 .mobile-first-element .row.y-gap-30 > .col-12 {
        max-width: 100% !important;
       
    }
    
    
    .row.y-gap-30 > .col-12 {
      min-width: 100%!important;
    }



            .ng-howto-row > div {
                width: 100% !important;
                max-width: 100% !important;
                flex: none !important;
            }

            .ng-howto-row > div:last-child {
                margin-bottom: 0;
            }

            .ng-howto-row .d-flex.items-left {
                display: flex;
                align-items: flex-start;
                gap: 20px;
            }

            .ng-howto-row .relative.size-120 {
                flex: 0 0 70px;
                width: 70px;
                height: 70px;
            }

            .ng-howto-row .d-flex.flex-column {
                max-width: none !important;
                flex: 1;
            }
        }

        .ng-dots {
            display: none !important;
        }

        .bg-green-1 img {
            filter: brightness(0);
            max-width: 45px;
  width: 100%;
        }

        /* Botones de acción debajo de los pasos */
        .ng-howtoBtns { display: inline-flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
        .ng-howtoBtn {
            display: inline-flex; align-items: center; justify-content: center;
            min-width: 175px; min-height: 50px; padding: 0 26px; border-radius: 999px;
            font-size: 15px; font-weight: 700; line-height: 1;
            text-decoration: none !important;
            transition: filter .18s ease, background .18s ease, transform .15s ease, box-shadow .18s ease;
        }
        .ng-howtoBtn--blue { background: #0dcaf0; color: #000 !important; }
        .ng-howtoBtn--blue:hover { filter: brightness(.94); transform: translateY(-1px); box-shadow: 0 8px 18px -6px rgba(13,202,240,.45); }
        .ng-howtoBtn--dark { background: #111; color: #fff !important; }
        .ng-howtoBtn--dark:hover { background: #000; transform: translateY(-1px); box-shadow: 0 8px 18px -6px rgba(0,0,0,.35); }
        @media (max-width: 480px) {
            .ng-howtoBtns { width: 100%; gap: 10px; }
            .ng-howtoBtn { min-width: 0; flex: 1; padding: 0 16px; white-space: nowrap; }
        }

/* ---- GoTrip/Tour/Views/frontend/blocks/list-tour/style-carousel.blade.php ---- */
.tourList__moreBottom { display: none; }

    /*
     * Composición dinámica en escritorio:
     * 1 = banner horizontal; 2/3 = tarjetas que llenan 2/3 columnas;
     * 4+ = carrusel tradicional de cuatro columnas.
     */
    @media (min-width: 992px) {
        .tour-list-item--count-1 .tourList__slider .swiper-slide {
            width: 100% !important;
        }
        .tour-list-item--count-1 .tourCard {
            display: grid;
            grid-template-columns: minmax(0, 1.35fr) minmax(320px, .9fr);
            align-items: stretch;
            overflow: hidden;
            border: 1px solid #e7eaee;
            border-radius: 20px !important;
            background: #fff;
            box-shadow: 0 18px 50px -34px rgba(13, 27, 42, .45);
        }
        .tour-list-item--count-1 .tourCard__image,
        .tour-list-item--count-1 .tourCard__image .cardImage {
            height: 390px;
            min-height: 100%;
        }
        .tour-list-item--count-1 .tourCard__image .cardImage {
            border-radius: 20px 0 0 20px !important;
        }
        .tour-list-item--count-1 .tourCard__image .cardImage::before {
            padding-bottom: 0 !important;
        }
        .tour-list-item--count-1 .tourCard__image img {
            border-radius: 20px 0 0 20px !important;
        }
        .tour-list-item--count-1 .tourCard__content {
            display: flex;
            flex-direction: column;
            justify-content: center;
            margin-top: 0 !important;
            padding: 42px;
        }
        .tour-list-item--count-1 .tourCard__title {
            font-size: 26px !important;
            line-height: 1.25 !important;
            margin-bottom: 8px;
        }
        .tour-list-item--count-1 .tourCard__content > .row {
            margin-top: 24px;
        }
        .tour-list-item--count-1 .ng-cardActions--over {
            left: 16px;
            right: 16px;
            bottom: 16px;
        }
        .tour-list-item--no-desktop-overflow .tourList__controls {
            display: none !important;
        }
    }

    @media (max-width: 767px) {
        .tour-list-item .tourList__moreTop { display: none !important; }
        .tour-list-item .tourList__moreBottom {
            display: inline-flex !important;
            width: 100%;
            justify-content: center;
            margin-top: 18px;
        }
    }

/* ---- GoTrip/Tour/Views/frontend/layouts/details/tour-form-book.blade.php ---- */
/* === Contador de personas/huéspedes: stepper SIEMPRE visible e integrado ===
   El theme lo ocultaba tras un desplegable cuya visibilidad dependía de una
   transición de opacity (frágil: a veces no abría → forzaba 1 persona). Lo
   mostramos fijo y lo integramos limpio en la fila (label izq · stepper der),
   sin la cajita blanca flotante. La clave es transition:none. */
#bc_tour_book_app .searchMenu-guests__field {
    position: static !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    width: auto !important;
    margin: 0 0 0 auto !important;   /* empuja el stepper a la derecha */
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: none !important;
    flex: 0 0 auto !important;
}
/* Quitar la cajita blanca interna (fondo, padding, sombra, radio) → stepper a ras */
#bc_tour_book_app .searchMenu-guests__field .bg-white {
    background: transparent !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
#bc_tour_book_app .searchMenu-guests__field .form-guest-search {
    margin: 0 !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
}
#bc_tour_book_app .searchMenu-guests__field .form-guest-search > .col-auto { padding: 0 !important; }

/* Stepper: botones circulares limpios + número centrado sin spinner */
#bc_tour_book_app .searchMenu-guests__field .js-counter { gap: 6px !important; }
#bc_tour_book_app .searchMenu-guests__field .js-counter .button {
    width: 32px !important;
    height: 32px !important;
    min-height: 0 !important;
    border-radius: 50% !important;
    border: 1px solid #d7dbe3 !important;
    color: #0d1b2a !important;
    background: #fff !important;
    transition: border-color .15s ease, background .15s ease !important;
}
#bc_tour_book_app .searchMenu-guests__field .js-counter .button:hover {
    border-color: #111 !important;
    background: #f3f4f7 !important;
    color: #111 !important;
}
#bc_tour_book_app .searchMenu-guests__field .js-counter .input { margin: 0 2px !important; }
#bc_tour_book_app .searchMenu-guests__field .js-counter input[type="number"] {
    width: 34px !important;
    text-align: center !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0d1b2a !important;
    padding: 0 !important;
    -moz-appearance: textfield;
    appearance: textfield;
}
#bc_tour_book_app .searchMenu-guests__field input[type="number"]::-webkit-outer-spin-button,
#bc_tour_book_app .searchMenu-guests__field input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none; margin: 0;
}

/* La flecha (::after) sugería "desplegable"; ya no aplica al estar siempre abierto. */
#bc_tour_book_app .searchMenu-guests::after { display: none !important; }

/* === Mismo diseño que la card de fecha (.bc-book-dateCard): borde 2px negro,
   radio 16 e icono cuadrado oscuro con glifo blanco === */
#bc_tour_book_app .searchMenu-guests {
    border: 2px solid #e8eaee !important;   /* gris por defecto; se vuelve negro al elegir fecha */
    border-radius: 16px !important;
    padding: 14px 18px !important;
    gap: 14px !important;
    box-shadow: none !important;
}

/* === Borde "guía" progresivo: indica al cliente el siguiente paso ===
   - Sin fecha elegida: la línea negra está SOLO en la card de fecha (default).
   - Con fecha elegida (input.start_date.has-value): se apaga en fecha y pasa al contador. */
#bc_tour_book_app .form-content.ng-date-chosen .bc-book-dateCard {
    border-color: #e8eaee !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.05) !important;
}
#bc_tour_book_app .form-content.ng-date-chosen .searchMenu-guests {
    border-color: #111 !important;
    box-shadow: 0 4px 14px -6px rgba(0,0,0,.18) !important;
}
#bc_tour_book_app .searchMenu-guests::before {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    background-color: #111 !important;
    background-size: 20px 20px !important;
    box-shadow: 0 2px 6px -1px rgba(0,0,0,.20) !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/><circle cx='9' cy='7' r='4'/><path d='M23 21v-2a4 4 0 0 0-3-3.87'/><path d='M16 3.13a4 4 0 0 1 0 7.75'/></svg>") !important;
}
/* Etiqueta como el título de la card de fecha */
#bc_tour_book_app .searchMenu-guests [data-x-dd-click] h4:first-child {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #111 !important;
}

/* Evitar duplicado: con el stepper siempre visible, el número del encabezado
   (.js-count-adult) y el sub-label "Número" sobran. Dejamos solo el nombre
   (Usuarios/Adult/Child) arriba y el stepper (− N +). */
#bc_tour_book_app .searchMenu-guests [data-x-dd-click] .js-count-adult { display: none !important; }
#bc_tour_book_app .searchMenu-guests [data-x-dd-click] > div:has(> .js-count-adult) { display: none !important; }
#bc_tour_book_app .searchMenu-guests__field .form-guest-search > .col-auto:first-child { display: none !important; }

/* Móvil: el stepper queda en la misma fila (label izq · stepper der); ya cabe
   porque sin la cajita ocupa poco. Solo aseguramos que no se rompa la línea. */
@media (max-width: 767px) {
    /* Compactar el booking en móvil (nuestras reglas #id anulaban la
       compactación de ng-hero, dejándolo con tamaño de escritorio). */
    #bc_tour_book_app .searchMenu-guests {
        flex-wrap: nowrap !important;
        padding: 6px 10px !important;
        border-radius: 12px !important;
        gap: 10px !important;
    }
    #bc_tour_book_app .searchMenu-guests::before {
        width: 28px !important;
        height: 28px !important;
        border-radius: 8px !important;
        background-size: 14px 14px !important;
    }
    #bc_tour_book_app .searchMenu-guests [data-x-dd-click] h4:first-child {
        font-size: 13px !important;
    }
    #bc_tour_book_app .searchMenu-guests__field .js-counter .button {
        width: 30px !important;
        height: 30px !important;
    }
    #bc_tour_book_app .searchMenu-guests__field .js-counter input[type="number"] {
        width: 28px !important;
        font-size: 15px !important;
    }
    /* Menos separación entre cards (fecha · contador · CTA) */
    #bc_tour_book_app .bc-book-dateCard { margin-bottom: 6px !important; }
    #bc_tour_book_app .form-content > .col-12 { margin-bottom: 6px !important; }
}

/* ---- GoTrip/Tour/Views/frontend/layouts/search/loop-grid-2.blade.php ---- */
@media (max-width: 767px) {
  .tourCard.-type-1 .tourCard__image {
    overflow: hidden;
    border-radius: 4px;
    min-width: 45%;
    margin-right: 15px;
  }

  .tourCard.item-loop-wrap {
    display: flex;
  }
}
