/* Canonical Yatriwala design tokens, mirrored from public_html/landing/css/yatriwala-figma.css
   so the homepage and the rest of the site always resolve to the same colors. The --yw-forest /
   --yw-teal / --yw-coral / --yw-cloud / --yw-mist / --yw-card / --yw-border / --yw-soft-shadow
   names below are kept as aliases because ~270 rules further down this file still reference them;
   new work should prefer the canonical --yw-primary / --yw-bg / --yw-surface / --yw-line names. */
:root {
    --yw-bg: #f7faff;
    --yw-surface: #ffffff;
    --yw-ink: #0c1f3d;
    --yw-muted: #5f6f7c;
    --yw-line: #dfe7ef;
    --yw-primary: #063b8f;
    --yw-primary-dark: #05245f;
    --yw-accent: #ff6b2f;
    --yw-sun: #ffb648;
    --yw-navy: #10233f;
    --yw-soft: #eaf1ff;
    --yw-shadow: 0 18px 44px rgba(10, 31, 28, 0.12);
    --yw-shadow-soft: 0 10px 28px rgba(10, 31, 28, 0.08);

    --yw-forest: var(--yw-primary);
    --yw-teal: var(--yw-primary);
    --yw-coral: var(--yw-accent);
    --yw-cloud: var(--yw-bg);
    --yw-mist: var(--yw-soft);
    --yw-card: var(--yw-surface);
    --yw-border: var(--yw-line);
    --yw-soft-shadow: var(--yw-shadow-soft);
    --yw-orange: var(--yw-accent);
    --yw-soft-ink: var(--yw-muted);
    --yw-green: #006b61;
}

.yw-detail-app-shell {
    padding: 28px 0 18px;
    background:
        radial-gradient(circle at 82% 0%, rgba(255, 100, 24, .12), transparent 34%),
        linear-gradient(135deg, rgba(6, 31, 103, .08), rgba(255, 255, 255, .94) 48%, rgba(255, 100, 24, .06));
}

.yw-detail-app-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 24px;
    align-items: stretch;
    border: 1px solid rgba(6, 31, 103, .12);
    border-radius: 8px;
    padding: 24px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 22px 54px rgba(6, 31, 103, .12);
}

.yw-detail-app-main {
    min-width: 0;
}

.yw-detail-kicker {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    border: 1px solid rgba(6, 58, 168, .16);
    border-radius: 999px;
    padding: 0 13px;
    color: var(--yw-forest);
    background: var(--yw-mist);
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
}

.yw-detail-app-card h2 {
    margin: 14px 0 0;
    color: var(--yw-ink);
    font-size: clamp(30px, 3vw, 48px);
    line-height: 1.08;
    font-weight: 950;
}

.yw-detail-meta-row,
.yw-detail-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.yw-detail-meta-row span,
.yw-detail-trust-row span,
.yw-detail-trust-row a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(6, 31, 103, .12);
    border-radius: 999px;
    padding: 0 13px;
    color: var(--yw-muted);
    background: #fff;
    font-size: 13px;
    font-weight: 850;
}

.yw-detail-meta-row i,
.yw-detail-trust-row i {
    color: var(--yw-coral);
}

.yw-detail-proof-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.yw-detail-proof-strip span {
    min-height: 74px;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 8px;
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 8px;
    padding: 10px;
    color: var(--yw-ink);
    background: linear-gradient(180deg, #fff, rgba(234, 241, 255, .72));
    font-size: 12px;
    line-height: 1.15;
    font-weight: 950;
    text-align: center;
}

.yw-detail-proof-strip i {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: #fff;
    background: var(--yw-forest);
    font-size: 15px;
}

.yw-detail-app-side {
    display: grid;
    gap: 14px;
    align-content: start;
    border-radius: 8px;
    padding: 18px;
    background: linear-gradient(145deg, var(--yw-ink), var(--yw-forest));
    color: #fff;
}

.yw-detail-price {
    display: grid;
    gap: 2px;
}

.yw-detail-price span,
.yw-detail-price del {
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.yw-detail-price strong {
    color: #fff;
    font-size: 30px;
    line-height: 1.05;
    font-weight: 950;
}

.yw-detail-side-note {
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-size: 13px;
    line-height: 1.55;
    font-weight: 750;
}

.yw-detail-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.yw-detail-action-grid a,
.yw-detail-action-grid button,
.yw-detail-action-grid .service-wishlist {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    padding: 0 12px;
    color: #fff !important;
    background: rgba(255, 255, 255, .1);
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.yw-detail-action-grid button {
    font-family: inherit;
}

.yw-detail-action-grid .yw-detail-primary {
    border-color: transparent;
    background: linear-gradient(135deg, var(--yw-coral), var(--yw-sun));
    color: var(--yw-ink) !important;
}

.yw-detail-tabs {
    position: sticky;
    top: 82px;
    z-index: 9;
    display: flex;
    gap: 8px;
    margin-top: 14px;
    overflow-x: auto;
    padding: 8px;
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 999px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 12px 28px rgba(6, 31, 103, .08);
    backdrop-filter: blur(14px);
    scrollbar-width: none;
}

.yw-detail-tabs::-webkit-scrollbar {
    display: none;
}

.yw-detail-tabs a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 0 18px;
    color: var(--yw-ink);
    background: transparent;
    font-size: 13px;
    font-weight: 950;
    white-space: nowrap;
}

.yw-detail-tabs a:first-child,
.yw-detail-tabs a:hover,
.yw-detail-tabs a:focus {
    color: #fff;
    background: var(--yw-forest);
}

.yw-detail-trust-row {
    justify-content: center;
    margin-top: 12px;
}

.yw-service-flow {
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 8px;
    margin: 0 0 18px;
    padding: 18px;
    background:
        radial-gradient(circle at 95% 0%, rgba(255, 100, 24, .12), transparent 32%),
        linear-gradient(145deg, #fff, rgba(245, 248, 255, .96));
    box-shadow: 0 16px 40px rgba(6, 31, 103, .08);
}

.yw-service-flow__head {
    display: grid;
    gap: 7px;
    max-width: 720px;
}

.yw-service-flow__head span {
    color: var(--yw-coral);
    font-size: 12px;
    line-height: 1;
    font-weight: 950;
    text-transform: uppercase;
}

.yw-service-flow__head h3 {
    margin: 0;
    color: var(--yw-ink);
    font-size: 24px;
    line-height: 1.15;
    font-weight: 950;
}

.yw-service-flow__head p {
    margin: 0;
    color: var(--yw-muted);
    font-size: 14px;
    line-height: 1.6;
    font-weight: 750;
}

.yw-service-flow__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.yw-service-flow__steps article {
    min-height: 132px;
    display: grid;
    align-content: start;
    gap: 8px;
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 8px;
    padding: 14px;
    background: #fff;
}

.yw-service-flow__steps i {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-forest), var(--yw-teal));
    font-size: 16px;
}

.yw-service-flow__steps strong {
    color: var(--yw-ink);
    font-size: 15px;
    line-height: 1.2;
    font-weight: 950;
}

.yw-service-flow__steps small {
    color: var(--yw-muted);
    font-size: 12px;
    line-height: 1.45;
    font-weight: 750;
}

.yw-service-flow__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.yw-service-flow__chips span {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 999px;
    padding: 0 12px;
    color: var(--yw-forest);
    background: rgba(234, 241, 255, .72);
    font-size: 12px;
    font-weight: 900;
}

.yw-service-detail-page .bc_single_book_wrap {
    border: 1px solid var(--yw-border) !important;
    border-radius: 8px !important;
    overflow: hidden;
    background: #fff;
    box-shadow: var(--yw-soft-shadow);
}

.yw-service-detail-page .bc_single_book_wrap .btn,
.yw-service-detail-page .hotel_rooms_form .btn,
.yw-service-detail-page .submit-group .btn {
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--yw-coral), var(--yw-sun)) !important;
    color: var(--yw-ink) !important;
    font-weight: 950 !important;
}

.yw-flight-detail-book-card {
    display: grid;
    gap: 12px;
    border: 1px solid rgba(6, 31, 103, .12);
    border-radius: 8px;
    padding: 18px;
    background: #fff;
    box-shadow: var(--yw-soft-shadow);
}

.yw-flight-detail-book-card__label {
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.yw-flight-detail-book-card strong {
    color: var(--yw-forest);
    font-size: 28px;
    line-height: 1;
    font-weight: 950;
}

.yw-flight-detail-book-card p {
    margin: 0;
    color: var(--yw-muted);
    font-size: 13px;
    line-height: 1.55;
    font-weight: 750;
}

.yw-flight-detail-book-card__meta {
    display: grid;
    gap: 8px;
}

.yw-flight-detail-book-card__meta span {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 999px;
    padding: 0 11px;
    color: var(--yw-ink);
    background: rgba(234, 241, 255, .74);
    font-size: 12px;
    font-weight: 900;
}

.yw-flight-detail-book-card__meta i {
    color: var(--yw-coral);
}

.yw-flight-detail-book-card .btn-choose-flight,
.yw-flight-detail-book-card .yw-flight-enquiry-btn {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 999px;
    padding: 0 16px;
    font-size: 13px;
    font-weight: 950;
    cursor: pointer;
}

.yw-flight-detail-book-card .btn-choose-flight {
    color: var(--yw-ink);
    background: linear-gradient(135deg, var(--yw-coral), var(--yw-sun));
}

.yw-flight-detail-book-card .yw-flight-enquiry-btn {
    border: 1px solid rgba(6, 31, 103, .14);
    color: var(--yw-forest);
    background: #fff;
}

@media (min-width: 992px) {
    .yw-service-detail-page .bc_single_book_wrap,
    .yw-service-detail-page #yw-detail-booking {
        position: sticky;
        top: 112px;
    }
}

@media (max-width: 991px) {
    .yw-detail-app-card {
        grid-template-columns: 1fr;
    }

    .yw-detail-app-side {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 767px) {
    .yw-detail-app-shell {
        padding: 10px 10px 8px;
        background: linear-gradient(180deg, rgba(234, 241, 255, .7), rgba(245, 248, 255, .96));
    }

    .yw-detail-app-shell .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .yw-detail-app-card {
        gap: 14px;
        border-radius: 24px;
        padding: 16px;
        box-shadow: 0 18px 42px rgba(6, 31, 103, .13);
    }

    .yw-detail-kicker {
        min-height: 32px;
        font-size: 11px;
    }

    .yw-detail-app-card h2 {
        font-size: 25px;
        line-height: 1.14;
    }

    .yw-detail-meta-row {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(150px, max-content);
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        padding-bottom: 2px;
        scrollbar-width: none;
    }

    .yw-detail-meta-row::-webkit-scrollbar {
        display: none;
    }

    .yw-detail-app-side {
        border-radius: 22px;
        padding: 14px;
        background: linear-gradient(145deg, var(--yw-ink), var(--yw-forest) 62%, var(--yw-teal));
    }

    .yw-detail-proof-strip {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(118px, 42vw);
        grid-template-columns: none;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        padding-bottom: 3px;
        scrollbar-width: none;
    }

    .yw-detail-proof-strip::-webkit-scrollbar {
        display: none;
    }

    .yw-detail-proof-strip span {
        min-height: 72px;
        border-radius: 18px;
    }

    .yw-detail-price strong {
        font-size: 24px;
    }

    .yw-detail-action-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .yw-detail-action-grid a,
    .yw-detail-action-grid button,
    .yw-detail-action-grid .service-wishlist {
        min-height: 58px;
        flex-direction: column;
        gap: 5px;
        border-radius: 18px;
        padding: 7px 5px;
        font-size: 10px;
        line-height: 1.1;
        text-align: center;
    }

    .yw-detail-action-grid .yw-detail-primary {
        grid-column: 1 / -1;
        min-height: 52px;
        flex-direction: row;
        border-radius: 999px;
        font-size: 13px;
    }

    .yw-detail-action-grid i {
        font-size: 16px;
    }

    .yw-detail-tabs {
        top: 0;
        margin: 10px 0 0;
        border-radius: 18px;
        padding: 6px;
    }

    .yw-detail-tabs a {
        min-height: 38px;
        padding: 0 15px;
        font-size: 12px;
    }

    .yw-detail-trust-row {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: max-content;
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 2px;
        scrollbar-width: none;
    }

    .yw-detail-trust-row::-webkit-scrollbar {
        display: none;
    }

    .yw-service-flow {
        border-radius: 22px;
        margin: 0 0 12px;
        padding: 15px;
    }

    .yw-service-flow__head h3 {
        font-size: 21px;
        line-height: 1.18;
    }

    .yw-service-flow__steps {
        grid-auto-flow: column;
        grid-auto-columns: minmax(190px, 72vw);
        grid-template-columns: none;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        padding-bottom: 3px;
        scrollbar-width: none;
    }

    .yw-service-flow__steps::-webkit-scrollbar {
        display: none;
    }

    .yw-service-flow__steps article {
        min-height: 126px;
        border-radius: 18px;
    }

    .yw-service-flow__chips {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: max-content;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        flex-wrap: nowrap;
        padding-bottom: 2px;
        scrollbar-width: none;
    }

    .yw-service-flow__chips::-webkit-scrollbar {
        display: none;
    }

    .yw-service-detail-page .bc_banner {
        margin: 0 0 10px !important;
        border-radius: 0 0 26px 26px !important;
        box-shadow: 0 20px 44px rgba(6, 31, 103, .14);
    }

    .yw-service-detail-page .g-header,
    .yw-service-detail-page .g-overview,
    .yw-service-detail-page .g-rules,
    .yw-service-detail-page .g-location,
    .yw-service-detail-page .g-all-attribute,
    .yw-service-detail-page .hotel_rooms_form,
    .yw-service-detail-page .bc_single_book_wrap,
    .yw-service-detail-page .owner-info,
    .yw-service-detail-page .list-hotel-related,
    .yw-service-detail-page .review-box,
    .yw-service-detail-page .bc_content .review-list,
    .yw-service-detail-page .bc_content .form-review,
    .yw-service-detail-page .bc_content .bc-list-space-related {
        border-radius: 22px !important;
        padding: 16px !important;
    }

    .yw-service-detail-page .hotel_rooms_form .form-search-row,
    .yw-service-detail-page .hotel_rooms_form .room-item > .row {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .yw-service-detail-page .hotel_rooms_form .form-search-row > [class*="col-"],
    .yw-service-detail-page .hotel_rooms_form .room-item > .row > [class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }

    .yw-service-detail-page .hotel_rooms_form .room-item {
        border: 1px solid rgba(6, 31, 103, .12);
        border-radius: 20px;
        padding: 12px;
        background: #fff;
        box-shadow: 0 12px 28px rgba(6, 31, 103, .08);
    }

    .yw-service-detail-page .hotel_rooms_form .room-item .image,
    .yw-service-detail-page .hotel_rooms_form .room-item .image img {
        width: 100%;
        border-radius: 18px;
        overflow: hidden;
    }

    .yw-service-detail-page .bc-more-book-mobile {
        border-radius: 28px !important;
        box-shadow: 0 18px 46px rgba(6, 31, 103, .2);
    }

    .yw-service-detail-page .bc-more-book-mobile .btn {
        min-height: 48px;
        padding: 0 20px;
        background: linear-gradient(135deg, var(--yw-coral), var(--yw-sun)) !important;
        color: var(--yw-ink) !important;
    }

    .yw-flight-detail-book-card {
        border-radius: 22px;
        margin-bottom: 12px;
        padding: 16px;
    }
}

/* Yatriwala checkout + customer app screens */
.yw-checkout-page,
.yw-booking-success-page,
.yw-user-app-page {
    /* --yw-ink / --yw-muted / --yw-surface / --yw-soft used to be overridden here with a
       mint-tinted palette that didn't match the rest of the site (2026-08-09: removed —
       they now inherit the canonical :root values like every other page). */
    --yw-brand-blue: var(--yw-primary);
    --yw-brand-orange: var(--yw-accent);
}
.yw-checkout-hero,
.yw-user-hero,
.yw-success-hero {
    background: linear-gradient(135deg, #082b28 0%, #0d8b7a 54%, #ff7a34 150%);
    color: #fff;
    border-radius: 28px;
    padding: 30px;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    box-shadow: 0 24px 50px rgba(6, 59, 143, .16);
}
.yw-checkout-hero h1,
.yw-user-hero h1,
.yw-success-hero h1 {
    margin: 6px 0;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.05;
    color: #fff;
}
.yw-checkout-hero p,
.yw-user-hero p,
.yw-success-hero p {
    margin: 0;
    max-width: 660px;
    color: rgba(255,255,255,.86);
    font-size: 16px;
}
.yw-checkout-kicker,
.yw-user-hero span,
.yw-success-hero span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    color: #fff;
    font-weight: 800;
}
.yw-checkout-trust {
    display: grid;
    gap: 10px;
    min-width: 190px;
}
.yw-checkout-trust span,
.yw-user-hero-stat {
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 18px;
    padding: 12px 14px;
    background: rgba(255,255,255,.14);
    font-weight: 800;
}
.yw-user-hero-stat {
    flex-direction: column;
    min-width: 150px;
}
.yw-user-hero-stat strong {
    font-size: 38px;
    line-height: 1;
}
.yw-checkout-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}
.yw-checkout-steps span {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(6, 59, 143, .1);
    padding: 10px 14px;
    font-weight: 800;
    color: var(--yw-muted);
}
.yw-checkout-steps b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #edf7f4;
    color: #0b756a;
}
.yw-checkout-steps .is-active {
    color: var(--yw-ink);
    box-shadow: 0 16px 35px rgba(6, 59, 143, .12);
}
.yw-checkout-steps .is-active b {
    background: var(--yw-brand-orange);
    color: #fff;
}
.yw-checkout-layout {
    align-items: flex-start;
}
.yw-checkout-card,
.yw-checkout-summary,
.yw-profile-card,
.yw-trip-card {
    background: var(--yw-surface);
    border: 1px solid rgba(6, 59, 143, .10);
    border-radius: 24px;
    box-shadow: 0 20px 50px rgba(6, 59, 143, .10);
}
.yw-checkout-card {
    padding: 24px;
}
.yw-checkout-summary {
    position: sticky;
    top: 96px;
    padding: 18px;
}
.yw-checkout-summary-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid rgba(6, 59, 143, .1);
}
.yw-checkout-summary-head span {
    font-weight: 900;
    color: var(--yw-muted);
}
.yw-checkout-summary-head strong {
    color: var(--yw-brand-blue);
    font-size: 24px;
}
.yw-form-section-intro {
    margin-bottom: 18px;
}
.yw-form-section-intro span {
    color: var(--yw-brand-orange);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
    font-size: 12px;
}
.yw-form-section-intro h3 {
    margin: 4px 0;
    font-size: 24px;
    color: var(--yw-ink);
}
.yw-form-section-intro p {
    margin: 0;
    color: var(--yw-muted);
}
.yw-form-section-intro--compact {
    margin-top: 22px;
}
.yw-form-section-card {
    border-radius: 22px;
    background: var(--yw-soft);
    padding: 18px;
    border: 1px solid rgba(8,31,27,.08);
}
.yw-checkout-card .form-group label,
.yw-profile-form .form-group label {
    font-weight: 850;
    color: var(--yw-ink);
}
.yw-checkout-card .form-control,
.yw-profile-form .form-control {
    min-height: 48px;
    border-radius: 14px;
    border: 1px solid rgba(8,31,27,.14);
}
.yw-checkout-card textarea.form-control,
.yw-profile-form textarea.form-control {
    min-height: 118px;
}
.yw-checkout-doc-guide {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
}
.yw-doc-guide-card {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 4px 12px;
    border-radius: 18px;
    padding: 14px;
    background: #fff8f3;
    border: 1px solid rgba(255, 107, 47, .2);
}
.yw-doc-guide-card i {
    grid-row: span 2;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--yw-brand-orange);
    color: #fff;
}
.yw-doc-guide-card strong {
    color: var(--yw-ink);
}
.yw-doc-guide-card span {
    color: var(--yw-muted);
    font-size: 13px;
}
.yw-checkout-actions .btn {
    min-height: 54px;
    border-radius: 18px;
    padding: 0 24px;
    font-weight: 900;
    background: var(--yw-brand-orange);
    border-color: var(--yw-brand-orange);
}
.yw-checkout-support-box {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 12px;
    margin-top: 16px;
    padding: 14px;
    border-radius: 18px;
    background: #effaf7;
}
.yw-checkout-support-box i {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #0a8f7a;
    color: #fff;
}
.yw-checkout-support-box p {
    margin: 4px 0 0;
    color: var(--yw-muted);
    font-size: 13px;
}
.yw-checkout-card .gateways-table {
    display: grid;
    gap: 12px;
}
.yw-checkout-card .gateways-table .card {
    overflow: hidden;
    border: 1px solid rgba(6, 59, 143, .12);
    border-radius: 20px;
    box-shadow: none;
}
.yw-checkout-card .gateways-table .card-header {
    padding: 0;
    background: #fff;
    border-bottom: 0;
}
.yw-checkout-card .gateways-table label {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 58px;
    margin: 0;
    padding: 12px 16px;
    color: var(--yw-ink);
    font-weight: 900;
    cursor: pointer;
}
.yw-checkout-card .gateways-table label input {
    width: 20px;
    height: 20px;
}
.yw-checkout-card .gateways-table img {
    max-height: 30px;
    object-fit: contain;
}
.yw-pay-options {
    display: grid;
    gap: 10px;
}

.yw-pay-option {
    position: relative;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid var(--yw-line);
    border-radius: 18px;
    background: var(--yw-surface);
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s;
}

.yw-pay-option:has(input:checked) {
    border-color: var(--yw-primary);
    box-shadow: 0 0 0 1px var(--yw-primary);
}

.yw-pay-option input {
    position: absolute;
    opacity: 0;
    width: 22px;
    height: 22px;
    margin: 0;
    cursor: pointer;
}

.yw-pay-option__mark {
    width: 20px;
    height: 20px;
    border: 2px solid var(--yw-line);
    border-radius: 50%;
    box-sizing: border-box;
}

.yw-pay-option input:checked ~ .yw-pay-option__mark {
    border-color: var(--yw-primary);
    border-width: 6px;
}

.yw-pay-option__body {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.yw-pay-option__body strong {
    color: var(--yw-ink);
    font-size: 15px;
    font-weight: 850;
}

.yw-pay-option__body small {
    color: var(--yw-muted);
    font-size: 12.5px;
    font-weight: 650;
}

.yw-pay-option__price {
    color: var(--yw-ink);
    font-size: 17px;
    font-weight: 950;
    white-space: nowrap;
}

.yw-checkout-balance-note {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 14px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid rgba(255, 107, 47, .22);
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(255, 107, 47, .11), rgba(6, 59, 143, .06));
    color: var(--yw-ink);
}
.yw-checkout-balance-note span {
    font-size: 13px;
    font-weight: 900;
    color: var(--yw-muted);
    text-transform: uppercase;
    letter-spacing: .02em;
}
.yw-checkout-balance-note strong {
    font-size: 18px;
    font-weight: 950;
    color: var(--yw-blue);
    text-align: right;
}
.yw-checkout-balance-note small {
    grid-column: 1 / -1;
    color: var(--yw-muted);
    font-weight: 800;
}
.enquiry_form_modal_form {
    border: 0;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(6, 24, 38, .24);
}
.enquiry_form_modal_form .modal-header {
    align-items: flex-start;
    padding: 22px 24px 18px;
    border-bottom: 1px solid rgba(6, 59, 143, .08);
    background:
        radial-gradient(circle at 88% 12%, rgba(255, 107, 47, .16), transparent 26%),
        linear-gradient(135deg, rgba(6, 59, 143, .08), rgba(10, 143, 122, .06));
}
.enquiry_form_modal_form .modal-title {
    margin: 2px 0 0;
    color: var(--yw-ink);
    font-size: 22px;
    font-weight: 950;
}
.yw-enquiry-kicker {
    display: block;
    color: var(--yw-orange);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.enquiry_form_modal_form .modal-body {
    padding: 22px 24px 10px;
}
.yw-enquiry-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.enquiry_form_modal_form .form-group {
    margin-bottom: 14px;
}
.enquiry_form_modal_form label {
    display: block;
    margin-bottom: 6px;
    color: var(--yw-ink);
    font-size: 12px;
    font-weight: 950;
}
.enquiry_form_modal_form .form-control {
    min-height: 48px;
    border: 1px solid rgba(6, 59, 143, .14);
    border-radius: 16px;
    color: var(--yw-ink);
    font-weight: 800;
    box-shadow: none;
}
.enquiry_form_modal_form textarea.form-control {
    min-height: 112px;
    resize: vertical;
}
.yw-enquiry-helper {
    display: block;
    margin-top: 7px;
    color: var(--yw-muted);
    font-weight: 800;
}
.enquiry_form_modal_form .message_box .text {
    margin-top: 10px;
    padding: 12px 14px;
    border-radius: 16px;
    font-weight: 900;
}
.enquiry_form_modal_form .modal-footer {
    gap: 10px;
    padding: 16px 24px 24px;
    border-top: 0;
}
.enquiry_form_modal_form .modal-footer .btn {
    min-height: 48px;
    border-radius: 999px;
    padding: 12px 20px;
    font-weight: 950;
}
.enquiry_form_modal_form .modal-footer .btn-primary {
    background: linear-gradient(135deg, var(--yw-orange), #ff7b4f);
    color: #071f24;
}
.yw-checkout-info-page {
    min-height: 70vh;
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 12% 10%, rgba(255, 107, 47, .12), transparent 28%),
        linear-gradient(135deg, #f7faff 0%, #eef6ff 42%, #fff8f2 100%);
}
.yw-checkout-info-card {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 28px;
    border-radius: 30px;
    background: #fff;
    border: 1px solid rgba(6, 59, 143, .12);
    box-shadow: 0 24px 70px rgba(6, 59, 143, .14);
}
.yw-checkout-info-icon {
    width: 86px;
    height: 86px;
    border-radius: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-primary), var(--yw-accent));
    font-size: 34px;
}
.yw-checkout-info-card span {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 5px 11px;
    border-radius: 999px;
    color: var(--yw-accent);
    background: #fff1e8;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}
.yw-checkout-info-card h1 {
    margin: 8px 0;
    color: var(--yw-ink);
    font-size: clamp(30px, 5vw, 52px);
    line-height: 1.04;
}
.yw-checkout-info-card p {
    max-width: 680px;
    margin: 0 0 12px;
    color: #67738f;
}
.yw-checkout-info-actions {
    display: grid;
    gap: 10px;
    min-width: 190px;
}
.yw-checkout-info-actions .btn {
    min-height: 48px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 950;
}
.yw-checkout-info-actions .btn-primary {
    background: var(--yw-accent);
    border-color: var(--yw-accent);
}
.yw-success-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 16px;
}
.yw-token-confirmation {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 220px)) 1fr;
    gap: 14px;
    align-items: center;
    margin: 0 0 18px;
    padding: 18px;
    border: 1px solid rgba(6, 59, 143, .12);
    border-radius: 22px;
    background: linear-gradient(135deg, #ffffff 0%, #f2faf7 62%, #fff3e9 100%);
    box-shadow: 0 18px 45px rgba(6, 59, 143, .09);
}
.yw-token-confirmation div {
    min-width: 0;
    padding: 14px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(6, 59, 143, .08);
}
.yw-token-confirmation span {
    display: block;
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 800;
}
.yw-token-confirmation strong {
    display: block;
    margin-top: 4px;
    color: var(--yw-primary);
    font-size: 24px;
    line-height: 1.1;
}
.yw-token-confirmation p {
    margin: 0;
    color: #52645f;
    font-weight: 700;
    line-height: 1.55;
}
@media (max-width: 767px) {
    .yw-token-confirmation {
        grid-template-columns: 1fr;
        border-radius: 18px;
        padding: 14px;
    }

    .yw-token-confirmation strong {
        font-size: 22px;
    }
}
.yw-user-hero-avatar img,
.yw-user-hero-avatar strong {
    width: 88px;
    height: 88px;
    border-radius: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    object-fit: cover;
    background: #fff;
    color: var(--yw-brand-blue);
    font-size: 34px;
    box-shadow: 0 16px 38px rgba(0,0,0,.18);
}
.yw-profile-quick-actions,
.yw-trip-status-tabs {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 4px 0 16px;
    scrollbar-width: none;
}
.yw-profile-quick-actions a,
.yw-trip-status-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    min-height: 44px;
    border-radius: 999px;
    padding: 0 16px;
    background: #fff;
    border: 1px solid rgba(6, 59, 143, .12);
    color: var(--yw-ink);
    font-weight: 850;
}
.yw-trip-status-tabs a.active {
    background: var(--yw-brand-blue);
    border-color: var(--yw-brand-blue);
    color: #fff;
}
.yw-trip-card-list {
    display: grid;
    gap: 16px;
}
.yw-trip-card {
    display: grid;
    grid-template-columns: 58px 1fr auto;
    gap: 16px;
    padding: 18px;
}
.yw-trip-card-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--yw-primary), #0a8f7a);
    color: #fff;
    font-size: 22px;
}
.yw-trip-card-top,
.yw-trip-meta,
.yw-trip-money,
.yw-trip-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.yw-trip-type {
    font-weight: 900;
    color: var(--yw-brand-orange);
}
.yw-trip-status {
    border-radius: 999px;
    padding: 5px 10px;
    background: #eef7f4;
    color: #0a756a;
    font-weight: 900;
    font-size: 12px;
}
.yw-trip-card h3 {
    margin: 6px 0 8px;
    font-size: 22px;
    color: var(--yw-ink);
}
.yw-trip-card h3 a {
    color: inherit;
}
.yw-trip-meta span,
.yw-trip-money span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--yw-muted);
    font-size: 13px;
}
.yw-trip-money {
    margin-top: 10px;
}
.yw-trip-money span {
    border-radius: 999px;
    background: #f6f8f8;
    padding: 7px 10px;
}
.yw-trip-money strong {
    color: var(--yw-ink);
}
.yw-trip-next-step {
    margin-top: 12px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: var(--yw-muted);
    font-size: 13px;
}
.yw-trip-next-step i {
    color: #0a8f7a;
    margin-top: 3px;
}
.yw-trip-actions {
    align-content: center;
    justify-content: flex-end;
    max-width: 170px;
}
.yw-trip-actions .btn {
    min-height: 38px;
    border-radius: 999px;
    font-weight: 850;
}
.yw-empty-state {
    text-align: center;
    padding: 46px 18px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(6, 59, 143, .1);
}
.yw-empty-state i {
    width: 64px;
    height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 22px;
    background: #effaf7;
    color: #0a8f7a;
    font-size: 26px;
}
.yw-profile-card {
    padding: 22px;
    margin-bottom: 16px;
}
.yw-profile-savebar {
    position: sticky;
    bottom: 16px;
    z-index: 10;
    display: flex;
    justify-content: flex-end;
}
.yw-profile-savebar .btn {
    min-height: 52px;
    border-radius: 18px;
    padding: 0 24px;
    font-weight: 900;
}
.yw-danger-zone {
    border-color: rgba(220, 53, 69, .18);
    background: #fff8f8;
}
.yw-saved-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.yw-saved-card {
    overflow: hidden;
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(6, 59, 143, .10);
    box-shadow: 0 20px 50px rgba(6, 59, 143, .10);
}
.yw-saved-media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: linear-gradient(135deg, #f2faf7, #eef3ff);
}
.yw-saved-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}
.yw-saved-card:hover .yw-saved-media img {
    transform: scale(1.04);
}
.yw-saved-media span {
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yw-brand-blue);
    font-size: 42px;
}
.yw-saved-media b {
    position: absolute;
    top: 12px;
    right: 12px;
    border-radius: 999px;
    padding: 6px 10px;
    background: var(--yw-brand-orange);
    color: #fff;
    font-size: 12px;
}
.yw-saved-body {
    padding: 16px;
}
.yw-saved-top,
.yw-saved-meta,
.yw-saved-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.yw-saved-top {
    justify-content: space-between;
}
.yw-saved-top span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-weight: 900;
    color: var(--yw-ink);
}
.yw-saved-top i {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #effaf7;
    color: #0a8f7a;
}
.yw-saved-top em {
    font-style: normal;
    border-radius: 999px;
    padding: 5px 9px;
    background: #fff1e8;
    color: var(--yw-brand-orange);
    font-weight: 900;
    font-size: 12px;
}
.yw-saved-body h3 {
    margin: 12px 0 8px;
    font-size: 20px;
    line-height: 1.25;
    color: var(--yw-ink);
}
.yw-saved-body h3 a {
    color: inherit;
}
.yw-saved-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--yw-muted);
    font-size: 13px;
}
.yw-saved-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-top: 12px;
}
.yw-saved-price small {
    color: var(--yw-muted);
}
.yw-saved-price strong {
    color: var(--yw-brand-blue);
    font-size: 23px;
}
.yw-saved-price del {
    color: #94a19d;
}
.yw-saved-workflow {
    margin-top: 10px;
    min-height: 48px;
    color: var(--yw-muted);
    font-size: 13px;
}
.yw-saved-actions {
    margin-top: 14px;
}
.yw-saved-actions .btn {
    min-height: 42px;
    border-radius: 999px;
    font-weight: 900;
}
.yw-user-pagination {
    margin-top: 18px;
}
.yw-booking-modal {
    color: var(--yw-ink, #081f1b);
}
.yw-booking-modal-hero {
    border-radius: 20px;
    padding: 20px;
    margin-bottom: 14px;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-primary) 0%, #0a8f7a 70%, var(--yw-accent) 150%);
}
.yw-booking-modal-hero span {
    display: inline-flex;
    border-radius: 999px;
    padding: 5px 10px;
    background: rgba(255,255,255,.14);
    font-weight: 900;
}
.yw-booking-modal-hero h3 {
    margin: 10px 0;
    color: #fff;
    font-size: 24px;
}
.yw-booking-modal-facts {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.yw-booking-modal-facts b {
    border-radius: 999px;
    padding: 7px 10px;
    background: rgba(255,255,255,.15);
    font-size: 12px;
}
.yw-booking-modal-tabs {
    gap: 8px;
    overflow-x: auto;
    flex-wrap: nowrap;
    border-bottom: 0;
}
.yw-booking-modal-tabs .nav-link {
    white-space: nowrap;
    border-radius: 999px;
    border: 1px solid rgba(6,59,143,.14);
    color: #52645f;
    font-weight: 900;
}
.yw-booking-modal-tabs .nav-link.active {
    background: var(--yw-primary);
    color: #fff;
}
.yw-booking-modal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}
.yw-booking-modal-panel {
    border-radius: 18px;
    padding: 16px;
    background: #f7fbfa;
    border: 1px solid rgba(6,59,143,.1);
}
.yw-booking-modal-panel h4 {
    margin: 0 0 10px;
    color: var(--yw-primary);
    font-size: 17px;
}
.yw-booking-modal-panel ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.yw-booking-modal-panel li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    border-bottom: 1px solid rgba(6,59,143,.08);
}
.yw-booking-modal-panel li:last-child {
    border-bottom: 0;
}
.yw-booking-modal-panel span,
.yw-booking-modal-panel p {
    color: #52645f;
}
.yw-booking-modal-summary {
    border-radius: 18px;
    padding: 14px;
    background: #fff;
    border: 1px solid rgba(6,59,143,.1);
}
.yw-booking-note-form .form-control {
    border-radius: 16px;
    min-height: 130px;
}
.yw-booking-note-form .btn {
    min-height: 44px;
    border-radius: 999px;
    font-weight: 900;
}
.yw-auth-page {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 56px 16px;
    background: radial-gradient(circle at top left, rgba(255,107,47,.12), transparent 28%), linear-gradient(135deg, #f5fbf9 0%, #eef5ff 100%);
}
.yw-auth-card {
    width: min(100%, 500px);
    border-radius: 28px;
    padding: 26px;
    background: #fff;
    border: 1px solid rgba(6,59,143,.12);
    box-shadow: 0 24px 70px rgba(6,59,143,.14);
}
.yw-auth-card--wide {
    width: min(100%, 680px);
}
.yw-auth-brand {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 20px;
}
.yw-auth-brand span {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: linear-gradient(135deg, var(--yw-primary), var(--yw-accent));
    color: #fff;
    font-size: 26px;
    font-weight: 950;
}
.yw-auth-brand h1 {
    margin: 0 0 6px;
    font-size: 30px;
    color: #081f1b;
}
.yw-auth-brand p {
    margin: 0;
    color: #52645f;
}
.yw-auth-form .form-group label {
    font-weight: 850;
    color: #081f1b;
}
.yw-auth-form .form-control {
    min-height: 50px;
    border-radius: 16px;
    border: 1px solid rgba(8,31,27,.14);
    padding: 0 14px;
}
.yw-auth-form .form-submit {
    width: 100%;
    min-height: 52px;
    border-radius: 18px;
    font-weight: 950;
    background: var(--yw-accent);
    border-color: var(--yw-accent);
}
.yw-auth-helper {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 10px;
    align-items: center;
    margin-bottom: 16px;
    border-radius: 18px;
    padding: 12px;
    background: #effaf7;
    color: #52645f;
}
.yw-auth-helper i {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--yw-primary);
    color: #fff;
}
.yw-auth-row,
.yw-auth-switch {
    color: #52645f;
}
.yw-auth-row a,
.yw-auth-switch a {
    color: var(--yw-primary);
    font-weight: 900;
}
.yw-auth-social .btn {
    min-height: 42px;
    border-radius: 999px;
    font-weight: 850;
}
.yw-auth-modal .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(6,59,143,.24);
}
.yw-auth-modal .modal-header {
    align-items: center;
    border-bottom: 0;
    padding: 20px 22px;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-primary) 0%, #0a8f7a 70%, var(--yw-accent) 150%);
}
.yw-auth-modal .modal-header span {
    display: block;
    color: rgba(255,255,255,.78);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
}
.yw-auth-modal .modal-title {
    margin: 2px 0 0;
    color: #fff;
    font-size: 24px;
}
.yw-auth-modal .modal-body {
    padding: 22px;
}
.yw-modal-close {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 0;
    background: rgba(255,255,255,.16);
    color: #fff;
}

@media (max-width: 991px) {
    .yw-checkout-hero,
    .yw-user-hero,
    .yw-success-hero {
        align-items: flex-start;
        flex-direction: column;
        border-radius: 24px;
        padding: 24px;
    }
    .yw-checkout-summary {
        position: static;
        margin-top: 16px;
    }
    .yw-trip-card {
        grid-template-columns: 50px 1fr;
    }
    .yw-trip-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        max-width: none;
    }
    .yw-saved-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .yw-checkout-page,
    .yw-booking-success-page,
    .yw-user-app-page {
        padding-bottom: 92px;
    }
    .yw-checkout-hero,
    .yw-user-hero,
    .yw-success-hero {
        margin-left: -8px;
        margin-right: -8px;
        border-radius: 0 0 28px 28px;
        padding: 22px 18px;
    }
    .yw-checkout-hero h1,
    .yw-user-hero h1,
    .yw-success-hero h1 {
        font-size: 30px;
    }
    .yw-checkout-steps {
        display: flex;
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: none;
    }
    .yw-checkout-steps span {
        min-width: 150px;
    }
    .yw-checkout-card,
    .yw-profile-card,
    .yw-trip-card {
        border-radius: 22px;
        padding: 16px;
    }
    .yw-checkout-doc-guide {
        grid-template-columns: 1fr;
    }
    .yw-form-section-card {
        padding: 14px;
    }
    .yw-trip-card {
        grid-template-columns: 44px 1fr;
        gap: 12px;
    }
    .yw-trip-card-icon {
        width: 44px;
        height: 44px;
        border-radius: 15px;
        font-size: 18px;
    }
    .yw-trip-card h3 {
        font-size: 18px;
    }
    .yw-trip-actions .btn {
        flex: 1 1 120px;
        justify-content: center;
    }
    .yw-profile-savebar {
        bottom: 86px;
    }
    .yw-profile-savebar .btn,
    .yw-checkout-actions .btn {
        width: 100%;
    }
    .yw-saved-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .yw-saved-card {
        border-radius: 22px;
    }
    .yw-saved-media {
        aspect-ratio: 16 / 11;
    }
    .yw-saved-actions .btn {
        flex: 1 1 120px;
    }
    .yw-booking-modal-grid {
        grid-template-columns: 1fr;
    }
    .yw-checkout-info-page {
        align-items: flex-start;
        padding-top: 18px;
    }
    .yw-checkout-info-card {
        grid-template-columns: 1fr;
        padding: 20px;
        border-radius: 24px;
    }
    .yw-checkout-info-icon {
        width: 64px;
        height: 64px;
        border-radius: 22px;
        font-size: 26px;
    }
    .yw-checkout-info-actions {
        min-width: 0;
        grid-template-columns: 1fr;
    }
    .yw-booking-modal-hero h3 {
        font-size: 20px;
    }
    .yw-auth-page {
        align-items: flex-start;
        padding: 24px 12px 100px;
    }
    .yw-auth-card {
        border-radius: 24px;
        padding: 18px;
    }
    .yw-auth-brand h1 {
        font-size: 26px;
    }
    .yw-auth-modal .modal-dialog {
        margin: 10px;
    }
    .yw-auth-modal .modal-content {
        border-radius: 24px;
    }
}

.yw-service-search-page .yw-flight-card {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr) minmax(170px, 220px);
    gap: 18px;
    align-items: center;
    border: 1px solid rgba(6, 31, 103, .12) !important;
    border-radius: 8px;
    margin-bottom: 18px !important;
    padding: 18px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(6, 31, 103, .1);
}

.yw-flight-card__airline,
.yw-flight-card__route,
.yw-flight-card__price {
    min-width: 0;
}

.yw-flight-card__airline {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.yw-flight-airline-logo {
    width: 62px;
    height: 62px;
    border: 1px solid rgba(6, 31, 103, .12);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--yw-cloud);
    overflow: hidden;
}

.yw-flight-airline-logo img {
    max-width: 80%;
    max-height: 80%;
    object-fit: contain;
}

.yw-flight-airline-logo i {
    color: var(--yw-forest);
    font-size: 24px;
}

.yw-flight-card__airline span,
.yw-flight-card__price span,
.yw-flight-card__price small {
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 800;
}

.yw-flight-card__airline strong {
    display: block;
    color: var(--yw-ink);
    font-size: 17px;
    line-height: 1.25;
    font-weight: 950;
}

.yw-flight-card__airline small {
    display: block;
    margin-top: 3px;
    color: var(--yw-coral);
    font-size: 11px;
    font-weight: 900;
}

.yw-flight-card__route {
    display: grid;
    grid-template-columns: minmax(90px, 1fr) minmax(110px, 150px) minmax(90px, 1fr);
    gap: 14px;
    align-items: center;
}

.yw-flight-point {
    display: grid;
    gap: 3px;
}

.yw-flight-point--right {
    text-align: right;
}

.yw-flight-point strong {
    color: var(--yw-ink);
    font-size: 28px;
    line-height: 1;
    font-weight: 950;
}

.yw-flight-point span {
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 850;
}

.yw-flight-point em {
    color: var(--yw-forest);
    font-style: normal;
    font-size: 13px;
    font-weight: 950;
}

.yw-flight-line {
    display: grid;
    gap: 5px;
    align-items: center;
    justify-items: center;
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 900;
}

.yw-flight-line:before,
.yw-flight-line:after {
    content: "";
    width: 100%;
    height: 1px;
    background: rgba(6, 31, 103, .16);
}

.yw-flight-line i {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--yw-forest);
    transform: rotate(45deg);
}

.yw-flight-card__meta {
    grid-column: 2 / 3;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.yw-flight-card__meta span {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 999px;
    padding: 0 11px;
    color: var(--yw-muted);
    background: var(--yw-cloud);
    font-size: 11px;
    font-weight: 850;
}

.yw-flight-card__meta i {
    color: var(--yw-coral);
}

.yw-flight-card__price {
    grid-column: 3;
    grid-row: 1 / span 2;
    display: grid;
    gap: 5px;
    justify-items: end;
    text-align: right;
}

.yw-flight-card__price strong {
    color: var(--yw-ink);
    font-size: 26px;
    line-height: 1.05;
    font-weight: 950;
}

.yw-flight-card__price .btn {
    min-height: 46px;
    border: 0 !important;
    border-radius: 999px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 20px;
    background: linear-gradient(135deg, var(--yw-coral), var(--yw-sun)) !important;
    color: var(--yw-ink) !important;
    font-size: 13px;
    font-weight: 950;
}

.yw-flight-book-modal .modal-dialog {
    max-width: 860px;
}

.yw-flight-book-modal .modal-content {
    border-radius: 8px !important;
    overflow: hidden;
}

.yw-flight-book-modal .modal-body {
    padding: 0;
}

.yw-flight-book-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 4;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .9) !important;
    opacity: 1;
}

.yw-flight-modal-loading {
    min-height: 280px;
    display: grid;
    place-items: center;
    gap: 10px;
    color: var(--yw-forest);
    font-weight: 900;
}

.yw-flight-modal-card {
    background: var(--yw-cloud);
}

.yw-flight-modal-head {
    padding: 24px;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-ink), var(--yw-forest) 62%, var(--yw-teal));
}

.yw-flight-modal-airline {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding-right: 54px;
}

.yw-flight-modal-airline img {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    padding: 8px;
    background: #fff;
    object-fit: contain;
}

.yw-flight-modal-airline span {
    display: block;
    color: rgba(255,255,255,.72);
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

.yw-flight-modal-airline h3 {
    margin: 4px 0 0;
    color: #fff;
    font-size: 25px;
    line-height: 1.15;
    font-weight: 950;
}

.yw-flight-modal-airline small {
    display: block;
    color: var(--yw-sun);
    font-size: 12px;
    font-weight: 900;
}

.yw-flight-modal-route {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 160px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    margin-top: 22px;
}

.yw-flight-modal-route > div {
    display: grid;
    gap: 3px;
}

.yw-flight-modal-route > div:last-child {
    text-align: right;
}

.yw-flight-modal-route strong {
    color: #fff;
    font-size: 28px;
    line-height: 1;
    font-weight: 950;
}

.yw-flight-modal-route span,
.yw-flight-modal-route em {
    color: rgba(255,255,255,.76);
    font-style: normal;
    font-size: 13px;
    font-weight: 850;
}

.yw-flight-modal-route-line {
    justify-items: center;
}

.yw-flight-modal-route-line i {
    color: var(--yw-sun);
}

.yw-flight-fare-list {
    display: grid;
    gap: 12px;
    padding: 18px;
}

.yw-flight-fare-card {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) minmax(220px, 1.4fr) minmax(150px, auto);
    gap: 14px;
    align-items: center;
    border: 1px solid rgba(6,31,103,.12);
    border-radius: 8px;
    padding: 16px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(6,31,103,.08);
}

.yw-flight-fare-main,
.yw-flight-fare-buy {
    display: grid;
    gap: 4px;
}

.yw-flight-fare-main span,
.yw-flight-fare-main small {
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 850;
}

.yw-flight-fare-main strong {
    color: var(--yw-ink);
    font-size: 18px;
    font-weight: 950;
}

.yw-flight-fare-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.yw-flight-fare-meta span {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(6,31,103,.1);
    border-radius: 999px;
    padding: 0 11px;
    color: var(--yw-muted);
    background: var(--yw-cloud);
    font-size: 12px;
    font-weight: 850;
}

.yw-flight-fare-meta strong {
    color: var(--yw-ink);
}

.yw-flight-fare-buy {
    justify-items: end;
}

.yw-flight-fare-buy > span {
    color: var(--yw-forest);
    font-size: 18px;
    font-weight: 950;
}

.yw-flight-stepper {
    min-height: 42px;
    display: grid;
    grid-template-columns: 42px 48px 42px;
    align-items: center;
    border: 1px solid rgba(6,31,103,.12);
    border-radius: 999px;
    overflow: hidden;
    background: #fff;
}

.yw-flight-stepper button {
    height: 42px;
    border: 0;
    color: var(--yw-forest);
    background: var(--yw-mist);
}

.yw-flight-stepper input {
    width: 48px;
    border: 0;
    color: var(--yw-ink);
    background: #fff;
    text-align: center;
    font-weight: 950;
}

.yw-flight-alert {
    margin: 0 18px 12px;
}

.yw-flight-modal-footer {
    position: sticky;
    bottom: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    border-top: 1px solid rgba(6,31,103,.12);
    padding: 14px 18px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 -12px 28px rgba(6,31,103,.08);
    backdrop-filter: blur(14px);
}

.yw-flight-modal-footer span {
    display: block;
    color: var(--yw-muted);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.yw-flight-modal-footer strong {
    color: var(--yw-forest);
    font-size: 24px;
    line-height: 1.1;
    font-weight: 950;
}

.yw-flight-modal-footer button {
    min-height: 50px;
    border: 0;
    border-radius: 999px;
    padding: 0 24px;
    color: var(--yw-ink);
    background: linear-gradient(135deg, var(--yw-coral), var(--yw-sun));
    font-weight: 950;
}

.yw-flight-modal-footer button.is-disabled,
.yw-flight-modal-footer button:disabled {
    cursor: not-allowed;
    opacity: .55;
}

@media (max-width: 991px) {
    .yw-service-search-page .yw-flight-card {
        grid-template-columns: 1fr;
    }

    .yw-flight-card__price,
    .yw-flight-card__meta {
        grid-column: auto;
        grid-row: auto;
        justify-items: stretch;
        text-align: left;
    }

    .yw-flight-card__price .btn {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .yw-service-search-page .yw-flight-card {
        border-radius: 22px;
        padding: 15px;
    }

    .yw-flight-card__airline {
        grid-template-columns: 54px minmax(0, 1fr);
    }

    .yw-flight-airline-logo {
        width: 54px;
        height: 54px;
        border-radius: 18px;
    }

    .yw-flight-card__route {
        grid-template-columns: minmax(0, 1fr) 80px minmax(0, 1fr);
        gap: 8px;
    }

    .yw-flight-point strong {
        font-size: 23px;
    }

    .yw-flight-point em {
        max-width: 110px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .yw-flight-line span {
        font-size: 10px;
    }

    .yw-flight-card__meta {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: max-content;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .yw-flight-card__meta::-webkit-scrollbar {
        display: none;
    }

    .yw-flight-book-modal .modal-dialog {
        align-items: flex-end;
        min-height: 100%;
        margin: 0;
    }

    .yw-flight-book-modal .modal-content {
        max-height: 92vh;
        border-radius: 26px 26px 0 0 !important;
    }

    .yw-flight-book-modal .modal-body {
        overflow-y: auto;
    }

    .yw-flight-modal-head {
        padding: 20px 16px;
    }

    .yw-flight-modal-airline {
        grid-template-columns: 54px minmax(0, 1fr);
        padding-right: 44px;
    }

    .yw-flight-modal-airline img {
        width: 54px;
        height: 54px;
        border-radius: 18px;
    }

    .yw-flight-modal-route {
        grid-template-columns: minmax(0, 1fr) 80px minmax(0, 1fr);
        gap: 8px;
    }

    .yw-flight-modal-route strong {
        font-size: 23px;
    }

    .yw-flight-fare-list {
        padding: 14px;
    }

    .yw-flight-fare-card {
        grid-template-columns: 1fr;
        border-radius: 22px;
    }

    .yw-flight-fare-buy {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        justify-items: stretch;
    }

    .yw-flight-modal-footer {
        padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
    }
}

html {
    scroll-behavior: smooth;
}

body.frontend-page {
    background: var(--yw-cloud);
    color: var(--yw-ink);
    font-family: "Poppins", Arial, Helvetica, sans-serif;
    text-rendering: optimizeLegibility;
}

body.frontend-page a {
    color: var(--yw-forest);
    transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

body.frontend-page a:hover {
    color: var(--yw-coral);
    text-decoration: none;
}

body.frontend-page .container {
    max-width: 1180px;
}

.yatriwala-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--yw-ink) !important;
    min-width: max-content;
}

.yatriwala-brand--image {
    line-height: 1;
}

.yatriwala-brand:hover {
    color: var(--yw-ink) !important;
}

.yatriwala-brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--yw-forest), var(--yw-teal) 58%, var(--yw-coral));
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(6, 31, 103, 0.2);
}

.yatriwala-brand-mark--image {
    overflow: hidden;
    padding: 0;
    background: #fff;
}

.yatriwala-brand-mark--image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.yatriwala-brand-logo {
    display: block;
    width: clamp(154px, 13vw, 220px);
    height: clamp(44px, 4.6vw, 58px);
    max-width: 100%;
    object-fit: contain;
    object-position: left center;
    border-radius: 0;
    filter: drop-shadow(0 6px 14px rgba(6, 31, 103, 0.1));
}

.yatriwala-brand-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.yatriwala-brand-name {
    font-size: 21px;
    line-height: 1;
    font-weight: 800;
    color: var(--yw-ink);
}

.yatriwala-brand-line {
    font-size: 11px;
    line-height: 1.2;
    font-weight: 600;
    color: var(--yw-muted);
}

.yatriwala-header {
    position: sticky;
    top: 0;
    z-index: 1020;
    background: rgba(245, 248, 255, 0.92);
    border-bottom: 1px solid var(--yw-border);
    box-shadow: 0 10px 34px rgba(6, 31, 103, 0.06);
    backdrop-filter: blur(18px);
}

.bc_wrap .bc_topbar {
    background: var(--yw-forest);
    color: rgba(255, 255, 255, 0.82);
    border: 0;
    font-size: 13px;
}

.bc_wrap .bc_topbar a,
.bc_wrap .bc_topbar .content .topbar-right .topbar-items li a {
    color: #fff;
    font-weight: 600;
}

.bc_wrap .bc_topbar .content {
    min-height: 38px;
}

.bc_wrap .bc_topbar .topbar-left {
    color: rgba(255, 255, 255, 0.82);
}

.bc_wrap .bc_header.yatriwala-header .content,
#header.yatriwala-header .header-sticky-menu {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.bc_wrap .bc_header.yatriwala-header .header-left,
#header.yatriwala-header .header-left {
    display: flex;
    align-items: center;
    gap: 34px;
    min-width: 0;
}

.bc_wrap .bc_header.yatriwala-header .bc-menu > ul,
#header.yatriwala-header #bc_main-menu > ul,
#header.yatriwala-header .main-menu {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    padding: 0;
}

.yatriwala-fallback-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.bc_wrap .bc_header.yatriwala-header .bc-menu ul li a,
#header.yatriwala-header #bc_main-menu ul li a {
    border-radius: 999px;
    color: var(--yw-ink);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 700;
    padding: 11px 14px;
}

.bc_wrap .bc_header.yatriwala-header .bc-menu ul li a small,
#header.yatriwala-header #bc_main-menu ul li a small,
.bc_wrap .bc_header.yatriwala-header .bc-menu-mobile .g-menu > ul > li > a small {
    border-radius: 999px;
    padding: 3px 7px;
    color: #fff;
    background: var(--yw-coral);
    font-size: 9px;
    line-height: 1;
    font-weight: 900;
    white-space: nowrap;
}

.bc_wrap .bc_header.yatriwala-header .bc-menu ul li:hover > a,
.bc_wrap .bc_header.yatriwala-header .bc-menu ul li.current-menu-item > a,
#header.yatriwala-header #bc_main-menu ul li:hover > a,
#header.yatriwala-header #bc_main-menu ul li.current-menu-item > a {
    color: var(--yw-forest);
    background: rgba(6, 58, 168, 0.1);
}

.bc_wrap .bc_header.yatriwala-header .bc-menu ul li > .menu-dropdown,
#header.yatriwala-header #bc_main-menu ul li > .menu-dropdown {
    border: 1px solid var(--yw-border);
    border-radius: 18px;
    box-shadow: var(--yw-soft-shadow);
    padding: 10px;
}

.yatriwala-header-actions,
.header-right.yatriwala-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: max-content;
}

.yatriwala-header-actions .topbar-items,
.yatriwala-header-actions .bc_list {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.yatriwala-header-actions .topbar-items > li,
.yatriwala-header-actions .bc_list > li {
    padding: 0 !important;
    margin: 0 !important;
}

.yatriwala-header-actions .login,
.yatriwala-header-actions .is_login,
.yatriwala-ghost-link {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid var(--yw-border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--yw-ink) !important;
    font-size: 14px;
    font-weight: 700;
}

.yatriwala-header-actions .signup,
.yatriwala-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: var(--yw-coral);
    color: #fff !important;
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(255, 100, 24, 0.26);
}

.yatriwala-header-actions .signup:hover,
.yatriwala-cta:hover {
    color: #fff !important;
    background: #e85312;
    transform: translateY(-1px);
}

.bc_wrap .bc_header.yatriwala-header .bc-more-menu,
#header.yatriwala-header .toggle-menu,
#header.yatriwala-header .toggle-menu--user {
    width: 44px;
    height: 44px;
    border: 1px solid var(--yw-border);
    border-radius: 16px;
    background: #fff;
    color: var(--yw-forest);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.bc_wrap .bc_header.yatriwala-header .bc-more-menu i {
    font-size: 18px;
}

.bc_wrap .bc_header.yatriwala-header .bc-menu-mobile {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(86vw, 360px);
    display: block !important;
    transform: translateX(-105%);
    overflow-y: auto;
    background: #fff;
    border-right: 1px solid var(--yw-border);
    box-shadow: var(--yw-shadow);
    transition: transform 0.24s ease;
    z-index: 1100;
}

.bc_wrap .bc_header.yatriwala-header .bc-menu-mobile.active {
    transform: translateX(0);
}

.bc_wrap .bc_header.yatriwala-header .bc-menu-mobile .user-profile {
    background: var(--yw-cloud);
    border-bottom: 1px solid var(--yw-border);
    padding: 22px;
}

.bc_wrap .bc_header.yatriwala-header .bc-menu-mobile .b-close {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: #fff;
    color: var(--yw-forest);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px rgba(6, 31, 103, 0.08);
}

.bc_wrap .bc_header.yatriwala-header .bc-menu-mobile .g-menu {
    padding: 16px 20px 28px;
}

.bc_wrap .bc_header.yatriwala-header .bc-menu-mobile .g-menu ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.bc_wrap .bc_header.yatriwala-header .bc-menu-mobile .g-menu > ul > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 46px;
    border-radius: 14px;
    padding: 0 12px;
    color: var(--yw-ink);
    font-size: 15px;
    font-weight: 800;
}

.bc-effect-bg {
    background: rgba(6, 31, 103, 0.38);
    backdrop-filter: blur(3px);
}

.page-template-content {
    background:
        radial-gradient(circle at 12% 8%, rgba(6, 58, 168, 0.09), transparent 28%),
        linear-gradient(180deg, #fbfcff 0%, var(--yw-cloud) 42%, #fff 100%);
}

.page-template-content .bc-section {
    padding-top: 76px;
    padding-bottom: 76px;
}

.page-template-content .bc-section:first-child {
    padding-top: 0;
}

.page-template-content .bc-form-search-all {
    position: relative;
    min-height: 660px;
    display: flex;
    align-items: center;
    overflow: visible;
    background-position: center !important;
    background-size: cover !important;
    border-radius: 0 0 44px 44px;
    isolation: isolate;
}

.page-template-content .bc-form-search-all:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(6, 31, 103, 0.78) 0%, rgba(6, 31, 103, 0.45) 44%, rgba(6, 31, 103, 0.12) 100%),
        linear-gradient(0deg, rgba(6, 31, 103, 0.24), rgba(6, 31, 103, 0.08));
    border-radius: inherit;
}

.page-template-content .bc-form-search-all .text-heading {
    max-width: 760px;
    color: #fff;
    font-size: 64px;
    line-height: 1.04;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 0 18px;
    text-align: left;
}

.page-template-content .bc-form-search-all .sub-heading {
    max-width: 610px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 18px;
    line-height: 1.7;
    font-weight: 500;
    margin-bottom: 34px;
    text-align: left;
}

.page-template-content .bc-form-search-all.carousel_v2 .effect,
.page-template-content .bc-form-search-all.carousel .effect {
    position: absolute;
    inset: 0;
    z-index: -2;
    border-radius: inherit;
    overflow: hidden;
}

.page-template-content .bc-form-search-all .effect .item,
.page-template-content .bc-form-search-all .effect .item-bg {
    min-height: 660px;
    background-position: center !important;
    background-size: cover !important;
}

.page-template-content .bc-form-search-all .g-form-control {
    max-width: 1080px;
    margin-top: 20px;
    border: 1px solid rgba(255, 255, 255, 0.56);
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--yw-shadow);
    overflow: hidden;
    backdrop-filter: blur(16px);
}

.page-template-content .bc-form-search-all .g-form-control .nav-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px;
    border: 0;
    background: rgba(237, 243, 238, 0.72);
}

.page-template-content .bc-form-search-all .g-form-control .nav-tabs li {
    margin: 0;
}

.page-template-content .bc-form-search-all .g-form-control .nav-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 16px;
    border: 0;
    border-radius: 999px;
    color: var(--yw-muted);
    font-size: 14px;
    font-weight: 800;
}

.page-template-content .bc-form-search-all .g-form-control .nav-tabs a.active,
.page-template-content .bc-form-search-all .g-form-control .nav-tabs a:hover {
    background: var(--yw-forest);
    color: #fff;
}

.page-template-content .bc-form-search-all .g-form-control .tab-content {
    padding: 0;
    background: #fff;
}

.page-template-content .bc_form {
    display: flex;
    align-items: stretch;
    margin: 0;
}

.page-template-content .bc_form .g-field-search {
    flex: 1;
    min-width: 0;
}

.page-template-content .bc_form .g-field-search > .row {
    min-height: 92px;
    margin: 0;
    align-items: stretch;
}

.page-template-content .bc_form .g-field-search [class*="col-"] {
    display: flex;
    align-items: center;
    min-height: 92px;
    padding: 18px 22px;
    border-right: 1px solid var(--yw-border) !important;
}

.page-template-content .bc_form .form-group {
    width: 100%;
    margin-bottom: 0;
}

.page-template-content .bc_form .field-icon,
.page-template-content .bc_form .input-icon {
    color: var(--yw-teal);
}

.page-template-content .bc_form .form-control,
.page-template-content .bc_form .smart-search .parent_text,
.page-template-content .bc_form .render,
.page-template-content .bc_form .dropdown-toggle {
    color: var(--yw-ink) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.page-template-content .bc_form label,
.page-template-content .bc_form .form-group > label,
.page-template-content .bc_form .field-label {
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.page-template-content .bc_form .g-button-submit {
    display: flex;
    align-items: stretch;
    padding: 12px;
}

.page-template-content .bc_form .btn-search {
    min-width: 168px;
    min-height: 66px;
    border: 0;
    border-radius: 22px;
    background: var(--yw-coral) !important;
    color: #fff !important;
    font-size: 15px;
    font-weight: 800;
    box-shadow: 0 16px 28px rgba(255, 100, 24, 0.24);
}

.page-template-content .bc_form .btn-search:hover {
    background: #dc5b3c !important;
    transform: translateY(-1px);
}

.page-template-content .bc-list-tour,
.page-template-content .bc-list-hotel,
.page-template-content .bc-list-locations,
.page-template-content .bc-list-space,
.page-template-content .bc-list-car,
.page-template-content .bc-list-event,
.page-template-content .bc-list-news {
    padding: 0;
}

.page-template-content .bc-list-tour > .container > .title,
.page-template-content .bc-list-hotel .title,
.page-template-content .bc-list-locations .title,
.page-template-content .bc-list-space .title,
.page-template-content .bc-list-car .title,
.page-template-content .bc-list-event .title,
.page-template-content .bc-list-news .title {
    max-width: 720px;
    margin: 0 auto 14px;
    color: var(--yw-ink);
    font-size: 42px;
    line-height: 1.16;
    font-weight: 800;
    letter-spacing: 0;
    text-align: center;
}

.page-template-content .bc-list-tour .sub-title,
.page-template-content .bc-list-hotel .sub-title,
.page-template-content .bc-list-locations .sub-title,
.page-template-content .bc-list-space .sub-title,
.page-template-content .bc-list-car .sub-title,
.page-template-content .bc-list-event .sub-title,
.page-template-content .bc-list-news .sub-title {
    max-width: 690px;
    margin: 0 auto 38px;
    color: var(--yw-muted);
    font-size: 16px;
    line-height: 1.7;
    text-align: center;
}

.page-template-content .list-item .row {
    row-gap: 30px;
}

.page-template-content .item-loop,
.page-template-content .item-tour,
.page-template-content .item-loop-wrap,
.page-template-content .bc-list-tour.box_shadow .list-item .item,
.page-template-content .item-hotel,
.search-result-page .item-loop-wrap,
.search-result-page .item-tour,
.yw-tour-card {
    height: 100%;
    border: 1px solid var(--yw-border) !important;
    border-radius: 8px !important;
    background: var(--yw-card);
    box-shadow: var(--yw-soft-shadow);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.page-template-content .item-loop:hover,
.page-template-content .item-tour:hover,
.page-template-content .item-loop-wrap:hover,
.page-template-content .bc-list-tour.box_shadow .list-item .item:hover,
.page-template-content .item-hotel:hover,
.search-result-page .item-loop-wrap:hover,
.search-result-page .item-tour:hover,
.yw-tour-card:hover {
    transform: translateY(-4px);
    border-color: rgba(6, 58, 168, 0.24) !important;
    box-shadow: 0 26px 54px rgba(6, 31, 103, 0.14);
}

.page-template-content .item-loop .thumb-image,
.page-template-content .item-tour .thumb-image,
.page-template-content .item .header-thumb,
.page-template-content .item-hotel .thumb-image,
.search-result-page .item-loop .thumb-image,
.search-result-page .item-tour .thumb-image,
.yw-tour-card .thumb-image,
.yw-tour-card .header-thumb {
    position: relative;
    height: auto !important;
    aspect-ratio: 1.52;
    margin: 0;
    border-radius: 0;
    overflow: hidden;
    background: var(--yw-mist);
}

.page-template-content .item-loop .thumb-image img,
.page-template-content .item-tour .thumb-image img,
.page-template-content .item .header-thumb img,
.page-template-content .item-hotel .thumb-image img,
.search-result-page .item-loop .thumb-image img,
.search-result-page .item-tour .thumb-image img,
.yw-tour-card .thumb-image img,
.yw-tour-card .header-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.34s ease;
}

.page-template-content .item-loop:hover .thumb-image img,
.page-template-content .item-tour:hover .thumb-image img,
.page-template-content .item:hover .header-thumb img,
.page-template-content .item-hotel:hover .thumb-image img {
    transform: scale(1.05);
}

.page-template-content .featured,
.page-template-content .sale_info {
    position: absolute;
    z-index: 3;
    top: 18px !important;
    left: 18px !important;
    right: auto !important;
    width: auto !important;
    height: auto !important;
    min-height: 30px;
    transform: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border-radius: 999px;
    background: var(--yw-sun) !important;
    color: var(--yw-ink) !important;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
}

.page-template-content .sale_info {
    left: auto !important;
    right: 18px !important;
    background: var(--yw-coral) !important;
    color: #fff !important;
}

.page-template-content .service-wishlist {
    top: 18px !important;
    right: 18px !important;
    width: 42px !important;
    height: 42px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    color: var(--yw-coral);
    box-shadow: 0 10px 20px rgba(6, 31, 103, 0.12);
}

.yw-tour-card__activity {
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 12px;
    background: linear-gradient(135deg, rgba(6, 58, 168, .12), rgba(247, 184, 75, .18));
}

.yw-tour-card__activity span {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--yw-forest);
    font-size: 13px;
    font-weight: 950;
}

.yw-tour-card__activity strong {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    color: var(--yw-ink);
    font-size: 12px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 950;
}

.yw-tour-card__activity small {
    color: var(--yw-muted);
    font-size: 11px;
    font-weight: 850;
    white-space: nowrap;
}

.yw-tour-card__chips {
    position: absolute;
    z-index: 4;
    top: 12px;
    left: 12px;
    right: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    pointer-events: none;
}

.yw-tour-card__chips span,
.yw-tour-card__chips b {
    min-height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    color: var(--yw-ink);
    background: rgba(255, 255, 255, .92);
    font-size: 11px;
    line-height: 1;
    font-weight: 950;
    box-shadow: 0 8px 18px rgba(6, 31, 103, .12);
}

.yw-tour-card__chips b {
    color: #fff;
    background: #6758f3;
}

.yw-tour-card .location {
    padding: 13px 16px 0 !important;
    color: var(--yw-muted) !important;
    font-size: 12px;
    font-weight: 850;
}

.yw-tour-card .item-title,
.yw-tour-card .title-address {
    padding: 10px 16px 8px !important;
}

.yw-tour-card .item-title a,
.yw-tour-card .title-address .title a {
    color: var(--yw-ink);
    font-size: 17px;
    line-height: 1.28;
    font-weight: 950;
}

.yw-tour-card .info,
.yw-tour-card .caption {
    display: grid;
    gap: 12px;
    padding: 10px 16px 16px !important;
    border-top: 1px solid rgba(6, 31, 103, .08);
    margin-top: 8px;
}

.yw-tour-card .duration {
    color: var(--yw-muted) !important;
    font-size: 13px;
    font-weight: 800;
}

.yw-tour-card__category {
    margin: 6px 0 0;
    color: var(--yw-teal);
    font-size: 12px;
    font-weight: 950;
}

.yw-tour-card__highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.yw-tour-card__highlights span {
    min-height: 32px;
    border: 1px solid rgba(6, 31, 103, .08);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 10px;
    color: var(--yw-muted);
    background: #fbfcff;
    font-size: 12px;
    font-weight: 900;
}

.yw-tour-card__highlights i {
    color: var(--yw-teal);
}

.yw-tour-card__seats {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 7px 9px;
}

.yw-tour-card__seats span {
    color: #ef233c;
    font-size: 12px;
    font-weight: 950;
}

.yw-tour-card__seats small {
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 800;
}

.yw-tour-card__seats i {
    grid-column: 1 / -1;
    position: relative;
    height: 4px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(6, 31, 103, .08);
}

.yw-tour-card__seats i:before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--seat-progress, 52%);
    border-radius: inherit;
    background: #ef4444;
}

.yw-tour-card .g-price {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
}

.yw-tour-card__details {
    min-height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    color: #fff !important;
    background: var(--yw-forest);
    font-size: 12px;
    font-weight: 950;
}

.yw-package-includes {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px;
    padding: 0 16px 8px;
}

.yw-package-includes span {
    min-width: 0;
    min-height: 48px;
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 8px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: var(--yw-muted);
    background: #fbfcff;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
}

.yw-package-includes span.is-active {
    color: var(--yw-forest);
    background: rgba(6, 58, 168, .08);
    border-color: rgba(6, 58, 168, .22);
}

.yw-package-includes i {
    font-size: 15px;
}

.page-template-content .item-title,
.page-template-content .title-address,
.page-template-content .item-loop .item-title {
    padding: 18px 22px 8px !important;
}

.page-template-content .item-title a,
.page-template-content .title-address .title a,
.page-template-content .item-loop .item-title a {
    color: var(--yw-ink);
    font-size: 18px;
    line-height: 1.35;
    font-weight: 800;
}

.page-template-content .item-loop .location,
.page-template-content .item-tour .location,
.page-template-content .item .duration,
.page-template-content .service-review,
.page-template-content .review {
    color: var(--yw-muted) !important;
    font-size: 13px;
    font-weight: 600;
}

.page-template-content .item-loop .info,
.page-template-content .item-tour .info,
.page-template-content .item .caption {
    padding: 10px 22px 22px !important;
    border-top: 1px solid rgba(6, 31, 103, 0.07);
    margin-top: 10px;
}

.page-template-content .g-price .prefix,
.page-template-content .g-price .fr_text {
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 700;
}

.page-template-content .g-price .text-price {
    color: var(--yw-forest) !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}

.page-template-content .g-price .onsale {
    color: rgba(6, 31, 103, 0.4) !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: line-through;
}

/* Yatriwala holiday package product cards */
.yw-tour-card {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 22px !important;
    background: #fff;
    box-shadow: 0 18px 42px rgba(6, 31, 103, .1);
}

.yw-tour-card > .featured {
    display: none !important;
}

.page-template-content .yw-tour-card .thumb-image,
.search-result-page .yw-tour-card .thumb-image,
.yw-tour-card .thumb-image,
.yw-tour-card .header-thumb {
    aspect-ratio: 1.22;
}

.yw-tour-card__topline,
.yw-tour-card__activity {
    min-height: 58px;
    padding: 12px 16px;
}

.yw-tour-card__activity span {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    font-size: 15px;
}

.yw-tour-card__activity strong {
    font-size: 13px;
}

.yw-tour-card__activity small {
    margin-left: auto;
    color: var(--yw-forest);
    font-size: 11px;
}

.yw-tour-card__image-link {
    display: block;
    width: 100%;
    height: 100%;
}

.yw-tour-card .sale_info,
.page-template-content .yw-tour-card .sale_info,
.search-result-page .yw-tour-card .sale_info {
    top: 15px !important;
    right: -25px !important;
    left: auto !important;
    width: 96px !important;
    min-width: 96px !important;
    height: 30px !important;
    min-height: 30px !important;
    border-radius: 0 !important;
    padding: 0 !important;
    transform: rotate(45deg) !important;
    background: #d80f3e !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    letter-spacing: 0;
    box-shadow: 0 8px 18px rgba(216, 15, 62, .22);
}

.yw-tour-card .service-wishlist,
.page-template-content .yw-tour-card .service-wishlist,
.search-result-page .yw-tour-card .service-wishlist {
    top: auto !important;
    right: 14px !important;
    bottom: 14px !important;
    width: 46px !important;
    height: 46px !important;
    color: #fff;
    background: rgba(6, 58, 168, .88);
    box-shadow: 0 12px 28px rgba(6, 31, 103, .2);
    backdrop-filter: blur(8px);
}

.yw-tour-card .service-wishlist.active,
.yw-tour-card .service-wishlist.is-active {
    color: #fff;
    background: var(--yw-coral);
}

.yw-tour-card__quick-actions {
    position: absolute;
    right: 14px;
    bottom: 68px;
    z-index: 4;
    display: grid;
    gap: 8px;
}

.yw-tour-card__quick-actions button,
.yw-tour-card__secondary-actions button {
    border: 0;
    cursor: pointer;
}

.yw-tour-card__quick-actions button {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yw-ink);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 10px 24px rgba(6, 31, 103, .18);
    backdrop-filter: blur(8px);
}

.yw-tour-card__quick-actions button.is-active {
    color: #fff;
    background: var(--yw-coral);
}

.yw-tour-card__secondary-actions {
    display: flex;
    gap: 8px;
}

.yw-tour-card__secondary-actions button {
    min-height: 38px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 12px;
    color: var(--yw-forest);
    background: rgba(6, 58, 168, .08);
    font-size: 12px;
    font-weight: 900;
}

.yw-tour-card__secondary-actions button.is-active {
    color: #fff;
    background: var(--yw-coral);
}

.page-template-content .yw-tour-card .location,
.search-result-page .yw-tour-card .location,
.yw-tour-card .location {
    min-height: 24px;
    padding: 16px 20px 0 !important;
    color: var(--yw-muted) !important;
    font-size: 13px;
    font-weight: 850;
}

.page-template-content .yw-tour-card .item-title,
.search-result-page .yw-tour-card .item-title,
.yw-tour-card .item-title,
.yw-tour-card .title-address {
    padding: 14px 20px 10px !important;
}

.page-template-content .yw-tour-card .item-title a,
.search-result-page .yw-tour-card .item-title a,
.yw-tour-card .item-title a,
.yw-tour-card .title-address .title a {
    color: var(--yw-ink);
    font-size: 20px;
    line-height: 1.22;
    font-weight: 950;
}

.yw-tour-card .service-review {
    display: none;
}

.yw-package-includes {
    padding: 0 20px 14px;
}

.yw-package-includes span {
    min-height: 56px;
    border-radius: 8px;
    font-size: 10px;
    gap: 6px;
}

.yw-package-includes i {
    font-size: 16px;
}

.yw-tour-card__departure {
    display: grid;
    gap: 8px;
    margin: 0 20px 10px;
    padding: 12px 0 0;
    border-top: 1px solid var(--yw-border);
}

.yw-tour-card__departure span {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--yw-muted);
    font-size: 12px;
    line-height: 1.25;
    font-weight: 850;
}

.yw-tour-card__departure i {
    width: 20px;
    color: var(--yw-coral);
    text-align: center;
}

.yw-tour-card__value-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 20px 12px;
}

.yw-tour-card__value-strip span {
    min-height: 34px;
    border: 1px solid var(--yw-border);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 12px;
    color: var(--yw-muted);
    background: #fbfcff;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.yw-tour-card__value-strip i {
    color: var(--yw-forest);
}

.yw-tour-card__mobile-summary {
    display: none;
}

.page-template-content .yw-tour-card .info,
.search-result-page .yw-tour-card .info,
.yw-tour-card .info,
.yw-tour-card .caption {
    flex: 1;
    align-content: start;
    padding: 14px 20px 18px !important;
    margin-top: 0;
    gap: 14px;
}

.yw-tour-card__highlights span {
    min-height: 34px;
    padding: 0 12px;
    background: #fbfcff;
}

.yw-tour-card .g-price {
    align-items: flex-end;
    margin-top: 2px;
}

.yw-tour-card .g-price .prefix,
.yw-tour-card .g-price .fr_text {
    color: var(--yw-muted);
    font-size: 14px;
    font-weight: 700;
    text-transform: lowercase;
}

.yw-tour-card .g-price .price {
    display: grid;
    justify-items: end;
    line-height: 1.05;
}

.yw-tour-card .g-price .onsale {
    color: #e63b4f !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    text-decoration: line-through;
}

.yw-tour-card .g-price .text-price {
    color: #172040 !important;
    font-size: 24px !important;
    font-weight: 950 !important;
}

.yw-tour-card__details {
    width: 100%;
    min-height: 48px;
    border-radius: 999px;
    background: var(--yw-forest);
    font-size: 13px;
}

.yw-tour-card__mobile-actions {
    display: none;
}

.yw-action-toast {
    position: fixed;
    left: 50%;
    bottom: 96px;
    z-index: 9999;
    max-width: calc(100vw - 32px);
    border-radius: 999px;
    padding: 12px 16px;
    color: #fff;
    background: var(--yw-ink);
    box-shadow: 0 18px 42px rgba(6, 31, 103, .24);
    font-size: 13px;
    font-weight: 900;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 12px);
    transition: opacity .18s ease, transform .18s ease;
}

.yw-action-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.yw-compare-tray {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9997;
    width: min(430px, calc(100vw - 32px));
    border: 1px solid rgba(0, 93, 139, .16);
    border-radius: 24px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 22px 55px rgba(0, 19, 42, .18);
    padding: 12px;
    color: var(--yw-ink);
    opacity: 0;
    transform: translateY(14px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
    backdrop-filter: blur(18px);
}

.yw-compare-tray[hidden] {
    display: none !important;
}

.yw-compare-tray.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.yw-compare-tray__head {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.yw-compare-tray__head span,
.yw-compare-tray__head strong {
    font-size: 13px;
    line-height: 1.2;
}

.yw-compare-tray__head span {
    font-weight: 900;
}

.yw-compare-tray__head strong {
    color: var(--yw-blue);
}

.yw-compare-tray__head button,
.yw-compare-tray__remove {
    min-width: 44px;
    min-height: 40px;
    border: 0;
    border-radius: 999px;
    background: rgba(0, 93, 139, .09);
    color: var(--yw-ink);
    font-weight: 900;
    cursor: pointer;
}

.yw-compare-tray__items {
    display: grid;
    gap: 8px;
}

.yw-compare-tray__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40px;
    align-items: center;
    gap: 8px;
}

.yw-compare-tray__item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-width: 0;
    min-height: 52px;
    border: 1px solid var(--yw-border);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(0, 93, 139, .08), rgba(255, 111, 68, .08));
    padding: 8px 10px;
    color: var(--yw-ink);
    text-decoration: none;
}

.yw-compare-tray__item span {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--yw-teal);
    color: #fff;
    font-weight: 900;
}

.yw-compare-tray__item strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    line-height: 1.2;
}

.yw-compare-tray__remove {
    min-width: 36px;
    min-height: 36px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(0, 19, 42, .1);
    font-size: 18px;
}

@media (max-width: 767px) {
    .yw-compare-tray {
        left: 12px;
        right: 12px;
        bottom: calc(96px + env(safe-area-inset-bottom));
        width: auto;
        border-radius: 22px;
        padding: 10px;
        box-shadow: 0 18px 45px rgba(0, 19, 42, .16);
    }

    .yw-compare-tray__head {
        grid-template-columns: 1fr auto auto;
        margin-bottom: 8px;
    }

    .yw-compare-tray__items {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 2px;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .yw-compare-tray__row {
        flex: 0 0 82%;
        scroll-snap-align: start;
    }

    .yw-compare-tray__item {
        min-height: 48px;
        border-radius: 15px;
    }
}

.yw-tour-card__mobile-price {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.yw-tour-card__mobile-price span {
    color: var(--yw-muted);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: 0;
}

.yw-tour-card__mobile-price strong {
    color: var(--yw-forest);
    font-size: 18px;
    line-height: 1;
    font-weight: 950;
    white-space: nowrap;
}

.yw-tour-card__enquire,
.yw-tour-card__book {
    min-height: 44px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    font-size: 13px;
    font-weight: 950;
    white-space: nowrap;
}

.yw-tour-card__enquire {
    color: var(--yw-forest) !important;
    background: rgba(6, 58, 168, .1);
}

.yw-tour-card__book {
    color: #fff !important;
    background: var(--yw-forest);
}

.page-template-content .destination-item {
    border-radius: 30px;
    overflow: hidden;
    box-shadow: var(--yw-soft-shadow);
    transform: translateZ(0);
}

.page-template-content .destination-item .image {
    min-height: 330px;
    border-radius: 30px;
    background-size: cover !important;
    background-position: center !important;
}

.page-template-content .destination-item .effect {
    background: linear-gradient(180deg, rgba(6, 31, 103, 0.05), rgba(6, 31, 103, 0.68)) !important;
}

.page-template-content .destination-item .content {
    padding: 28px !important;
}

.page-template-content .destination-item .title {
    color: #fff;
    font-size: 26px;
    font-weight: 900;
}

.search-result-page {
    background: var(--yw-cloud);
}

.search-result-page .banner {
    border-radius: 0 0 38px 38px;
    background-position: center !important;
}

.search-result-page .search-form-wrapper,
.search-result-page .sidebar-item,
.search-result-page .bc-list-item .topbar-search,
.yw-package-search-page .search-form-wrapper,
.yw-package-search-page .sidebar-item,
.yw-package-search-page .bc-list-item .topbar-search {
    border: 1px solid var(--yw-border);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--yw-soft-shadow);
}

.search-result-page .bc-list-item .topbar-search,
.yw-package-search-page .bc-list-item .topbar-search {
    padding: 18px 22px;
}

.bc_search_tour .bc_banner {
    min-height: 280px;
    display: flex;
    align-items: center;
    background:
        linear-gradient(120deg, rgba(13, 41, 36, .84), rgba(15, 118, 110, .44)),
        var(--yw-forest);
}

.bc_search_tour.yw-package-search-page--umrah .bc_banner {
    background:
        linear-gradient(120deg, rgba(0, 39, 93, .9), rgba(255, 111, 68, .46)),
        var(--yw-blue);
}

.bc_search_tour .bc_banner h1 {
    max-width: 820px;
    margin: 0;
    color: #fff !important;
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1.08;
    font-weight: 950;
}

.yw-package-search-hero {
    max-width: 880px;
    display: grid;
    gap: 14px;
}

.yw-package-search-hero span {
    width: max-content;
    min-height: 34px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    padding: 0 14px;
    color: #fff;
    background: rgba(255,255,255,.12);
    font-size: 13px;
    font-weight: 950;
    backdrop-filter: blur(10px);
}

.yw-package-search-hero p {
    max-width: 720px;
    margin: 0;
    color: rgba(255,255,255,.88);
    font-size: 17px;
    line-height: 1.65;
    font-weight: 700;
}

.yw-package-hero-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 820px;
}

.yw-package-hero-chips em {
    min-height: 42px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 14px;
    color: #fff;
    background: rgba(255,255,255,.14);
    font-size: 13px;
    font-style: normal;
    font-weight: 950;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .08);
    backdrop-filter: blur(10px);
}

.yw-package-hero-chips i {
    color: var(--yw-sun);
    font-size: 15px;
}

.bc_search_tour .bc_form_search {
    position: relative;
    z-index: 4;
    margin-top: -48px;
}

.bc_search_tour .bc_form_search .container > .row > .col-12 {
    overflow: hidden;
    border: 1px solid var(--yw-border);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 24px 58px rgba(6, 31, 103, .12);
}

.bc_search_tour .bc_form {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.bc_search_tour .yw-search-service-tabs,
.yw-service-search-page .yw-search-service-tabs {
    flex: 0 0 100%;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    padding: 16px 18px 0;
    background: #fff;
}

.bc_search_tour .yw-search-service-tabs a,
.yw-service-search-page .yw-search-service-tabs a {
    min-height: 54px;
    border: 1px solid var(--yw-border);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--yw-ink) !important;
    background: #fbfcff;
    font-size: 14px;
    font-weight: 950;
    text-decoration: none !important;
}

.bc_search_tour .yw-search-service-tabs a i,
.yw-service-search-page .yw-search-service-tabs a i {
    color: var(--yw-teal);
    font-size: 17px;
}

.bc_search_tour .yw-search-service-tabs a.is-active,
.yw-service-search-page .yw-search-service-tabs a.is-active {
    color: #fff !important;
    border-color: var(--yw-forest);
    background: var(--yw-forest);
    box-shadow: 0 10px 24px rgba(13, 72, 61, .18);
}

.bc_search_tour .yw-search-service-tabs a.is-active i,
.yw-service-search-page .yw-search-service-tabs a.is-active i {
    color: #fff;
}

.bc_search_tour .bc_form .g-field-search {
    flex: 1 1 auto;
    min-width: 0;
}

.bc_search_tour .bc_form .g-field-search > .row {
    min-height: 82px;
    margin: 0;
    align-items: stretch;
}

.bc_search_tour .bc_form .g-field-search [class*="col-"] {
    display: flex;
    align-items: center;
    min-height: 82px;
    padding: 18px 22px;
    border-right: 1px solid var(--yw-border) !important;
}

.bc_search_tour .bc_form .form-group {
    width: 100%;
    margin-bottom: 0;
}

.bc_search_tour .bc_form .g-button-submit {
    flex: 0 0 auto;
    display: flex;
    align-items: stretch;
    padding: 0 16px 0 0;
}

.bc_search_tour .bc_form .btn-search {
    min-width: 172px;
    min-height: 82px;
    border: 0;
    border-radius: 0 8px 8px 0;
    background: var(--yw-coral) !important;
    color: #fff !important;
    font-weight: 900;
    text-transform: uppercase;
}

.search-result-page .bc-list-item .topbar-search .text,
.yw-package-search-page .bc-list-item .topbar-search .text {
    color: var(--yw-ink) !important;
    font-weight: 800 !important;
    text-transform: none !important;
}

.yw-package-list-shell {
    position: relative;
}

.yw-package-filter-backdrop,
.yw-package-filter-panel__head,
.yw-filter-toggle {
    display: none;
}

.yw-package-filter-panel {
    position: sticky;
    top: 104px;
}

.yw-package-filter-panel .bc_filter {
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 18px 45px rgba(6, 31, 103, .09);
}

.yw-package-results-title {
    display: grid;
    gap: 2px;
}

.yw-package-results-title span {
    color: var(--yw-teal);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0;
}

.yw-package-results-title .result-count {
    margin: 0 !important;
}

.yw-package-commerce-bar {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    margin: 0 0 14px;
    padding: 2px 2px 10px;
    scrollbar-width: none;
}

.yw-package-commerce-bar::-webkit-scrollbar {
    display: none;
}

.yw-package-commerce-bar a {
    flex: 0 0 auto;
    min-height: 46px;
    border: 1px solid rgba(6, 58, 168, .14);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 0 16px;
    color: var(--yw-ink) !important;
    background: #fff;
    font-size: 13px;
    font-weight: 950;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(6, 31, 103, .06);
}

.yw-package-commerce-bar a i {
    color: var(--yw-coral);
    font-size: 15px;
}

.yw-package-commerce-bar a.is-active {
    color: #fff !important;
    border-color: transparent;
    background: linear-gradient(135deg, var(--yw-forest), var(--yw-teal));
    box-shadow: 0 16px 30px rgba(6, 58, 168, .18);
}

.yw-package-commerce-bar a.is-active i {
    color: var(--yw-sun);
}

.yw-active-filter-row,
.yw-package-feed-prompts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
}

.yw-active-filter-row strong,
.yw-active-filter-row span,
.yw-package-feed-prompts span {
    min-height: 38px;
    border: 1px solid var(--yw-border);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 13px;
    background: #fff;
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 9px 20px rgba(6, 31, 103, .06);
}

.yw-active-filter-row strong {
    border-color: rgba(255, 100, 24, .32);
    background: rgba(255, 100, 24, .1);
    color: var(--yw-coral);
}

.yw-package-feed-prompts span {
    border-color: rgba(6, 58, 168, .14);
    background: rgba(10, 89, 216, .06);
    color: var(--yw-forest);
}

.yw-package-feed-prompts i {
    color: var(--yw-coral);
}

.search-result-page .bc-list-item .topbar-search .control,
.yw-package-search-page .bc-list-item .topbar-search .control {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.yw-filter-chip-list,
.yw-filter-services {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.yw-filter-title {
    display: grid;
    gap: 4px;
}

.yw-filter-title span {
    color: var(--yw-teal);
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0;
}

.yw-filter-title strong {
    color: var(--yw-ink);
    font-size: 18px;
    font-weight: 950;
    line-height: 1.2;
}

.yw-filter-quick {
    margin: 0 0 18px;
    padding: 16px;
    border: 1px solid var(--yw-border);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255, 154, 31, .12), transparent 44%),
        rgba(10, 89, 216, .05);
}

.yw-filter-kicker {
    margin-bottom: 10px;
    color: var(--yw-ink);
    font-size: 13px;
    font-weight: 950;
}

.yw-filter-quick-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.yw-filter-budget-chip {
    min-height: 42px;
    border: 1px solid rgba(6, 31, 103, .14);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    color: var(--yw-forest);
    background: #fff;
    font-size: 13px;
    font-weight: 950;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(6, 31, 103, .06);
}

.yw-filter-budget-chip.is-active,
.yw-filter-budget-chip:hover,
.yw-filter-budget-chip:focus {
    border-color: var(--yw-coral);
    background: var(--yw-coral);
    color: #fff;
}

.yw-filter-chip,
.yw-filter-service {
    display: block;
    margin: 0;
    cursor: pointer;
}

.yw-filter-chip input,
.yw-filter-service input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.yw-filter-chip span,
.yw-filter-service span {
    min-height: 42px;
    border: 1px solid var(--yw-border);
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0 13px;
    color: var(--yw-muted);
    background: #fbfcff;
    font-size: 13px;
    font-weight: 900;
}

.yw-filter-service i {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yw-teal);
    background: rgba(6, 58, 168, .1);
}

.yw-filter-chip input:checked + span,
.yw-filter-service input:checked + span {
    color: #fff;
    border-color: var(--yw-forest);
    background: var(--yw-forest);
}

.yw-filter-service input:checked + span i {
    color: var(--yw-forest);
    background: #fff;
}

.yw-filter-sheet-actions {
    display: none;
}

.yw-filter-reset,
.yw-filter-apply {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    cursor: pointer;
}

.search-result-page .bc_form_filter,
.search-result-page .filter-item,
.search-result-page .sidebar-item .item-title,
.search-result-page .sidebar-item .item-content,
.yw-package-search-page .bc_form_filter,
.yw-package-search-page .filter-item,
.yw-package-search-page .sidebar-item .item-title,
.yw-package-search-page .sidebar-item .item-content {
    border-color: var(--yw-border) !important;
}

.search-result-page .bc_form_filter .form-control,
.search-result-page .bc_form_filter input,
.search-result-page .bc_form_filter select,
.search-result-page .sidebar-item input,
.search-result-page .sidebar-item select,
.yw-package-search-page .bc_form_filter .form-control,
.yw-package-search-page .bc_form_filter input,
.yw-package-search-page .bc_form_filter select,
.yw-package-search-page .sidebar-item input,
.yw-package-search-page .sidebar-item select {
    border-color: var(--yw-border) !important;
    border-radius: 8px !important;
    background: #fbfcff !important;
    color: var(--yw-ink) !important;
    font-weight: 700;
}

.search-result-page .filter-title,
.search-result-page .sidebar-title,
.search-result-page .bc_form_filter h3,
.search-result-page .bc_form_filter label,
.yw-package-search-page .filter-title,
.yw-package-search-page .sidebar-title,
.yw-package-search-page .bc_form_filter h3,
.yw-package-search-page .bc_form_filter label {
    color: var(--yw-ink) !important;
    font-weight: 900 !important;
}

.yw-service-search-page {
    background:
        radial-gradient(circle at 12% 0%, rgba(6, 58, 168, .08), transparent 28%),
        var(--yw-cloud);
}

.bc_search_hotel .bc_banner,
.bc_search_flight .bc_banner,
.bc_search_visa .bc_banner {
    min-height: 280px;
    display: flex;
    align-items: center;
    background:
        linear-gradient(120deg, rgba(13, 41, 36, .84), rgba(15, 118, 110, .44)),
        var(--yw-forest);
}

.bc_search_hotel .bc_banner h1,
.bc_search_flight .bc_banner h1,
.bc_search_visa .bc_banner h1 {
    max-width: 820px;
    margin: 0;
    color: #fff !important;
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1.08;
    font-weight: 950;
}

.bc_search_hotel .bc_form_search,
.bc_search_flight .bc_form_search,
.bc_search_visa .bc_form_search {
    position: relative;
    z-index: 4;
    margin-top: -48px;
}

.bc_search_hotel .bc_form_search .container > .row > [class*="col-"],
.bc_search_flight .bc_form_search .container > .row > [class*="col-"],
.bc_search_visa .bc_form_search .container > .row > .col-12 {
    overflow: hidden;
    border: 1px solid var(--yw-border);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 24px 58px rgba(6, 31, 103, .12);
}

.bc_search_hotel .bc_form,
.bc_search_flight .bc_form,
.bc_search_visa .bc_form {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.bc_search_hotel .bc_form .g-field-search,
.bc_search_flight .bc_form .g-field-search,
.bc_search_visa .bc_form .g-field-search {
    flex: 1 1 auto;
    min-width: 0;
}

.bc_search_hotel .bc_form .g-field-search > .row,
.bc_search_flight .bc_form .g-field-search > .row,
.bc_search_visa .bc_form .g-field-search > .row {
    min-height: 82px;
    margin: 0;
    align-items: stretch;
}

.bc_search_hotel .bc_form .g-field-search [class*="col-"],
.bc_search_flight .bc_form .g-field-search [class*="col-"],
.bc_search_visa .bc_form .g-field-search [class*="col-"] {
    display: flex;
    align-items: center;
    min-height: 82px;
    padding: 18px 22px;
    border-right: 1px solid var(--yw-border) !important;
}

.bc_search_hotel .bc_form .form-group,
.bc_search_flight .bc_form .form-group,
.bc_search_visa .bc_form .form-group {
    width: 100%;
    margin-bottom: 0;
}

.bc_search_hotel .bc_form .g-button-submit,
.bc_search_flight .bc_form .g-button-submit,
.bc_search_visa .bc_form .g-button-submit {
    flex: 0 0 auto;
    display: flex;
    align-items: stretch;
    padding: 0 16px 0 0;
}

.bc_search_hotel .bc_form .btn-search,
.bc_search_flight .bc_form .btn-search,
.bc_search_visa .bc_form .btn-search {
    min-width: 152px;
    min-height: 82px;
    border: 0;
    border-radius: 0 24px 24px 0;
    background: linear-gradient(135deg, var(--yw-coral), var(--yw-sun)) !important;
    color: #fff !important;
    font-weight: 900;
    text-transform: uppercase;
}

.yw-service-list-shell {
    padding-bottom: 60px;
}

.yw-service-search-page .item-hotel,
.yw-service-search-page .item-tour,
.yw-service-search-page .card.item-loop-wrap {
    overflow: hidden;
    border: 1px solid var(--yw-border) !important;
    border-radius: 22px !important;
    background: #fff;
    box-shadow: var(--yw-soft-shadow);
}

.yw-service-search-page .item-hotel .thumb-image,
.yw-service-search-page .item-tour .thumb-image {
    aspect-ratio: 1.34;
    height: auto !important;
}

.yw-service-search-page .item-hotel .thumb-image img,
.yw-service-search-page .item-tour .thumb-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.yw-service-search-page .item-hotel .item-title a,
.yw-service-search-page .item-tour .item-title a {
    color: var(--yw-ink);
    font-size: 18px;
    line-height: 1.28;
    font-weight: 950;
}

.yw-service-search-page .item-hotel .location,
.yw-service-search-page .item-tour .location,
.yw-service-search-page .item-hotel .service-review,
.yw-service-search-page .item-tour .service-review,
.yw-service-search-page .item-tour .duration {
    padding-left: 18px !important;
    padding-right: 18px !important;
    color: var(--yw-muted) !important;
    font-size: 13px;
    font-weight: 850;
}

.yw-service-card-includes {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    padding: 10px 18px 8px;
}

.yw-service-card-includes span {
    min-height: 48px;
    min-width: 0;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 8px;
    color: var(--yw-muted);
    background: #fbfcff;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    text-align: center;
}

.yw-service-card-includes span.is-active {
    color: var(--yw-forest);
    border-color: rgba(6, 58, 168, .22);
    background: rgba(6, 58, 168, .08);
}

.yw-service-card-includes i {
    font-size: 15px;
}

.yw-service-search-page .item-hotel .info,
.yw-service-search-page .item-tour .info {
    padding: 14px 18px 18px !important;
    border-top: 1px solid rgba(6, 31, 103, .08);
}

.yw-service-search-page .item-hotel .g-price,
.yw-service-search-page .item-tour .g-price {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
}

.yw-service-search-page .item-hotel .g-price .text-price,
.yw-service-search-page .item-tour .g-price .text-price {
    color: var(--yw-forest) !important;
    font-size: 20px !important;
    font-weight: 950 !important;
}

.yw-service-search-page .card.item-loop-wrap {
    padding: 0 !important;
}

.yw-service-search-page .card.item-loop-wrap .card-img-top {
    width: 100%;
    max-height: 120px;
    object-fit: contain;
    padding: 18px;
    border-radius: 8px;
    background: #fbfcff;
}

.yw-service-search-page .card.item-loop-wrap .card-body {
    margin: 0 !important;
    padding: 14px 16px !important;
}

.yw-service-search-page .card.item-loop-wrap .card-title {
    color: var(--yw-ink) !important;
    font-size: 17px !important;
    line-height: 1.25;
    font-weight: 950 !important;
}

.yw-service-search-page .card.item-loop-wrap .btn-choose-flight,
.yw-service-search-page .card.item-loop-wrap .btn-disabled {
    min-height: 44px;
    border: 0;
    border-radius: 999px;
    background: var(--yw-forest) !important;
    color: #fff !important;
    font-size: 13px;
    font-weight: 950;
}

.yw-empty-state {
    width: 100%;
    border: 1px solid rgba(6, 58, 168, .13);
    border-radius: 24px;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 14px;
    padding: 22px;
    color: var(--yw-ink);
    background:
        radial-gradient(circle at 0% 0%, rgba(6, 58, 168, .1), transparent 28%),
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(245, 248, 255, .96));
    box-shadow: var(--yw-soft-shadow);
}

.yw-empty-state__icon {
    width: 64px;
    height: 64px;
    border-radius: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, #063aa8, #ff6a21);
    box-shadow: 0 16px 30px rgba(6, 58, 168, .18);
}

.yw-empty-state__icon i {
    font-size: 25px;
}

.yw-empty-state__copy {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.yw-empty-state__copy strong {
    display: block;
    color: var(--yw-ink);
    font-size: clamp(21px, 2.2vw, 28px);
    line-height: 1.12;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.yw-empty-state__copy p {
    max-width: 720px;
    margin: 0;
    color: var(--yw-muted);
    font-size: 14px;
    line-height: 1.55;
    font-weight: 750;
}

.yw-empty-state__chips,
.yw-empty-state__actions {
    grid-column: 2;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.yw-empty-state__chips span {
    min-height: 38px;
    border: 1px solid rgba(6, 58, 168, .12);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    color: var(--yw-forest);
    background: rgba(255, 255, 255, .78);
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.yw-empty-state__actions a {
    min-height: 46px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    color: #fff !important;
    background: var(--yw-forest);
    font-size: 13px;
    font-weight: 950;
    text-decoration: none !important;
}

.yw-empty-state__actions a + a {
    color: var(--yw-forest) !important;
    background: rgba(6, 58, 168, .1);
}

.bc_banner,
.bc-page .page-template-content .bc_banner,
.single .bc_banner {
    overflow: hidden;
    border-radius: 0 0 38px 38px;
    background-position: center !important;
    background-size: cover !important;
}

.bc_banner:before {
    background: linear-gradient(90deg, rgba(6, 31, 103, 0.74), rgba(6, 31, 103, 0.18)) !important;
}

.bc_banner h1,
.bc_banner .title,
.bc_banner .breadcrumb,
.bc_banner .breadcrumb a {
    color: #fff !important;
}

.bc_detail_tour,
.bc_detail_hotel,
.bc_detail_space,
.bc_detail_car,
.bc_detail_event,
.bc_detail_boat {
    background:
        radial-gradient(circle at 10% 0%, rgba(6, 58, 168, 0.08), transparent 26%),
        var(--yw-cloud);
}

.bc_detail_tour .bc-content,
.bc_detail_tour .bc_content,
.bc_detail_hotel .bc-content,
.bc_detail_hotel .bc_content,
.bc_detail_space .bc-content,
.bc_detail_space .bc_content,
.bc_detail_car .bc-content,
.bc_detail_car .bc_content,
.bc_detail_event .bc-content,
.bc_detail_event .bc_content,
.bc_detail_boat .bc-content,
.bc_detail_boat .bc_content,
.booking-page,
.checkout-page {
    color: var(--yw-ink);
}

.yw-tour-detail-hero {
    position: relative;
    overflow: hidden;
    padding: 54px 0 52px;
    color: #fff;
    background:
        radial-gradient(circle at 78% 12%, rgba(247, 184, 75, 0.24), transparent 28%),
        linear-gradient(120deg, #0d2924 0%, #0a59d8 58%, #25b4ad 100%);
}

.yw-tour-detail-hero__crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
    color: rgba(255, 255, 255, .76);
    font-size: 14px;
    font-weight: 750;
}

.yw-tour-detail-hero__crumbs a,
.yw-tour-detail-hero__crumbs strong {
    color: #fff !important;
}

.yw-tour-detail-hero h1 {
    max-width: 940px;
    margin: 0;
    color: #fff;
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.06;
    letter-spacing: 0;
    font-weight: 950;
}

.yw-tour-detail-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.yw-tour-detail-hero__meta span {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 13px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    font-size: 14px;
    font-weight: 850;
    backdrop-filter: blur(10px);
}

.bc_detail_tour .bc_banner {
    max-width: 1180px;
    min-height: 310px;
    margin: -26px auto 0;
    border: 10px solid #fff;
    border-radius: 28px;
    box-shadow: 0 24px 56px rgba(6, 31, 103, .16);
}

.bc_detail_tour .bc_banner .container {
    min-height: 290px;
}

.bc_detail_tour .bc_content {
    padding: 38px 0 70px;
}

.bc_detail_tour .bc_content > .container > .row {
    align-items: flex-start;
}

.bc_detail_tour .g-header,
.bc_detail_hotel .g-header,
.bc_detail_space .g-header,
.bc_detail_car .g-header,
.bc_detail_event .g-header,
.bc_detail_boat .g-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
    border: 1px solid var(--yw-border) !important;
    border-radius: 8px;
    padding: 24px !important;
    background: #fff;
    box-shadow: var(--yw-soft-shadow);
}

.bc_detail_tour .g-header .title,
.bc_detail_tour .g-header h2,
.bc_detail_hotel .g-header .title,
.bc_detail_space .g-header .title,
.bc_detail_car .g-header .title,
.bc_detail_event .g-header .title,
.bc_detail_boat .g-header .title,
.bc-content h1,
.bc-content h2,
.bc-content h3 {
    color: var(--yw-ink) !important;
    letter-spacing: 0;
    font-weight: 900 !important;
}

.bc_detail_tour .g-header h2 {
    margin: 0;
    font-size: 26px;
    line-height: 1.18;
}

.bc_detail_tour .g-header .address {
    margin: 8px 0 0;
    color: var(--yw-muted);
    font-weight: 750;
}

.bc_detail_tour .g-header .review-score {
    min-width: 220px;
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(6, 58, 168, .1), rgba(247, 184, 75, .16));
    padding: 14px;
}

.bc_detail_tour .g-tour-feature,
.bc_detail_space .g-space-feature,
.bc_detail_hotel .g-attributes,
.bc_detail_car .g-attributes,
.bc_detail_event .g-attributes,
.bc_detail_boat .g-attributes {
    border: 0 !important;
    margin: 24px 0 32px !important;
}

.bc_detail_tour .g-tour-feature > .row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
}

.bc_detail_tour .g-tour-feature > .row > [class*="col-"] {
    max-width: none;
    padding: 0;
}

.bc_detail_tour .g-tour-feature .item,
.bc_detail_space .g-space-feature .item,
.bc_detail_hotel .g-attributes .item,
.bc_detail_car .g-attributes .item,
.bc_detail_event .g-attributes .item,
.bc_detail_boat .g-attributes .item {
    min-height: 104px;
    border: 1px solid var(--yw-border);
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px !important;
    background: #fff;
    box-shadow: 0 10px 24px rgba(6, 31, 103, 0.06);
}

.bc_detail_tour .g-tour-feature .icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(6, 58, 168, .1);
}

.bc_detail_tour .g-tour-feature .item i,
.bc_detail_space .g-space-feature .item i,
.bc_detail_hotel .g-attributes .item i,
.bc_detail_car .g-attributes .item i {
    color: var(--yw-teal) !important;
    font-size: 25px;
}

.bc_detail_tour .g-tour-feature .name {
    margin: 0 0 4px;
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.bc_detail_tour .g-tour-feature .value {
    margin: 0;
    color: var(--yw-ink);
    font-size: 14px;
    line-height: 1.35;
    font-weight: 850;
}

.bc_single_book_wrap,
.bc_tour_book,
.tour-sale-box,
.hotel-room-book,
.booking-form,
.booking-review,
.bc-enquiry-form,
.form-send-enquiry,
.single-sidebar,
.bravo_single_book_wrap {
    border: 1px solid var(--yw-border) !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: var(--yw-soft-shadow) !important;
    overflow: hidden;
}

.bc_detail_tour .col-lg-3 {
    position: sticky;
    top: 106px;
}

.bc_detail_tour .bc_single_book_wrap {
    border-color: rgba(6, 58, 168, .18) !important;
    box-shadow: 0 22px 54px rgba(6, 31, 103, .12) !important;
}

.yw-book-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 20px;
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 154, 31, .22), transparent 36%),
        linear-gradient(135deg, var(--yw-ink), var(--yw-forest) 58%, var(--yw-teal));
}

.yw-book-sheet-head div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.yw-book-sheet-head span {
    color: rgba(255, 255, 255, .72);
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.yw-book-sheet-head strong {
    color: #fff;
    font-size: 20px;
    line-height: 1.15;
    font-weight: 950;
}

.yw-book-sheet-head button {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    cursor: pointer;
}

.bc_single_book_wrap .tour-sale-box,
.bravo_single_book_wrap .tour-sale-box {
    border: 0 !important;
    box-shadow: none !important;
}

.yw-expert-card {
    margin-bottom: 18px;
    padding: 18px !important;
}

.yw-expert-card__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.yw-expert-card__head h4 {
    margin: 0 0 4px;
    color: var(--yw-ink);
    font-size: 17px;
    line-height: 1.2;
    font-weight: 900;
}

.yw-expert-card__head p {
    margin: 0;
    color: var(--yw-muted);
    font-size: 12px;
    line-height: 1.35;
    font-weight: 650;
}

.yw-expert-card__trust,
.yw-expert-card__contact {
    display: grid;
    gap: 10px;
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
}

.yw-expert-card__trust li,
.yw-expert-card__contact a {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--yw-ink);
    font-size: 13px;
    line-height: 1.3;
    font-weight: 750;
}

.yw-expert-card__trust i,
.yw-expert-card__contact i {
    width: 18px;
    color: var(--yw-teal);
    text-align: center;
}

.yw-expert-card__contact {
    padding-top: 14px;
    border-top: 1px solid var(--yw-border);
}

.yw-expert-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 48px;
    border-radius: 999px;
    background: var(--yw-forest);
    color: #fff !important;
    font-weight: 900;
}

.tour-sale-box .sale-box,
.bc_single_book_wrap .sale_class,
.bc_single_book_wrap .form-head,
.booking-form .form-head,
.hotel-room-book .form-head {
    color: var(--yw-ink) !important;
    background: linear-gradient(135deg, rgba(6, 58, 168, 0.1), rgba(247, 184, 75, 0.14)) !important;
    border-bottom: 1px solid var(--yw-border) !important;
}

.bc_single_book_wrap .tour-sale-box {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
    width: 86px;
    height: 86px;
    background: linear-gradient(135deg, transparent 50%, #ef233c 50%) !important;
}

.bc_single_book_wrap .sale_class {
    position: absolute;
    right: 4px;
    top: 18px;
    width: auto;
    color: #fff !important;
    background: transparent !important;
    transform: rotate(45deg);
    font-size: 14px;
    font-weight: 950;
}

.bc_single_book_wrap .form-head {
    padding: 18px 24px 16px !important;
}

.bc_single_book_wrap .form-head .price .label {
    color: var(--yw-muted);
    font-size: 13px;
    font-weight: 850;
}

.bc_single_book_wrap .form-head .price .text-lg {
    color: var(--yw-forest) !important;
    font-size: 30px !important;
    line-height: 1;
    font-weight: 950 !important;
}

.bc_single_book_wrap .form-head .price .onsale {
    color: rgba(6, 31, 103, .46) !important;
    font-size: 16px;
    text-decoration: line-through;
}

.yw-book-price-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--yw-border);
    background: #fff;
}

.yw-book-price-summary div {
    min-width: 0;
    min-height: 78px;
    border: 1px solid rgba(6, 31, 103, .11);
    border-radius: 18px;
    display: grid;
    align-content: center;
    gap: 4px;
    padding: 10px;
    background: linear-gradient(145deg, rgba(6, 58, 168, .06), rgba(255, 154, 31, .09));
}

.yw-book-price-summary i {
    color: var(--yw-coral);
    font-size: 15px;
}

.yw-book-price-summary span {
    color: var(--yw-muted);
    font-size: 10px;
    line-height: 1.1;
    font-weight: 950;
    text-transform: uppercase;
}

.yw-book-price-summary strong {
    min-width: 0;
    color: var(--yw-ink);
    font-size: 13px;
    line-height: 1.18;
    font-weight: 950;
    overflow-wrap: break-word;
}

.bc_single_book_wrap .nav-enquiry {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-bottom: 1px solid var(--yw-border);
}

.bc_single_book_wrap .nav-enquiry .enquiry-item {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--yw-ink);
    font-weight: 950;
}

.bc_single_book_wrap .nav-enquiry .enquiry-item.active {
    color: var(--yw-coral);
    border-bottom: 3px solid var(--yw-coral);
}

.yw-book-step-rail,
.yw-book-trust {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 12px 20px;
    scrollbar-width: none;
}

.yw-book-step-rail::-webkit-scrollbar,
.yw-book-trust::-webkit-scrollbar {
    display: none;
}

.yw-book-step-rail {
    border-bottom: 1px solid var(--yw-border);
    background: rgba(6, 58, 168, .04);
}

.yw-book-step-rail span,
.yw-book-trust span {
    flex: 1 0 auto;
    min-height: 38px;
    border: 1px solid rgba(6, 58, 168, .14);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 12px;
    color: var(--yw-forest);
    background: #fff;
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
}

.yw-book-trust {
    padding-top: 10px;
    padding-bottom: 0;
}

.yw-book-helper {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    margin: 12px 20px 0;
    border: 1px solid rgba(255, 100, 24, .18);
    border-radius: 18px;
    padding: 11px 12px;
    color: var(--yw-muted);
    background: rgba(255, 154, 31, .1);
    font-size: 12px;
    line-height: 1.45;
    font-weight: 800;
}

.yw-book-helper i {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--yw-coral);
}

.yw-book-trust span {
    flex: 0 0 auto;
    color: var(--yw-muted);
    background: rgba(6, 58, 168, .06);
}

.bc_single_book_wrap .form-content,
.bc_single_book_wrap .submit-group,
.bc_single_book_wrap .form-send-enquiry {
    padding-right: 24px;
    padding-left: 24px;
}

.bc_single_book_wrap .submit-group {
    padding-bottom: 24px;
}

.yw-book-live-summary {
    display: grid;
    gap: 8px;
    margin: 0 0 16px;
    border: 1px dashed rgba(6, 58, 168, .22);
    border-radius: 20px;
    padding: 14px;
    background: rgba(6, 58, 168, .05);
}

.yw-book-live-summary div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.yw-book-live-summary span,
.yw-book-submit-note span {
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 850;
}

.yw-book-live-summary strong {
    color: var(--yw-forest);
    font-size: 18px;
    line-height: 1;
    font-weight: 950;
    white-space: nowrap;
}

.yw-book-live-summary p {
    margin: 0;
    color: var(--yw-muted);
    font-size: 12px;
    line-height: 1.5;
    font-weight: 760;
}

.bc_single_book_wrap .form-group,
.booking-form .form-group,
.hotel-room-book .form-group,
.bc-enquiry-form .form-group,
.form-send-enquiry .form-group {
    margin-bottom: 16px;
}

.bc_single_book_wrap .date-wrapper,
.bc_single_book_wrap .guest-wrapper,
.bc_single_book_wrap .extra-price-wrap {
    min-height: 64px;
    border: 1px solid var(--yw-border);
    border-radius: 18px;
    padding: 13px 14px;
    background: #fbfcff;
}

.bc_single_book_wrap .date-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
}

.bc_single_book_wrap .date-wrapper .arrow {
    color: var(--yw-coral);
    font-size: 20px;
}

.bc_single_book_wrap .render,
.bc_single_book_wrap .check-in-render {
    color: var(--yw-ink) !important;
    font-weight: 900 !important;
}

.bc_single_book_wrap .input-number-group {
    min-height: 42px;
    border: 1px solid rgba(6, 58, 168, .14);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 8px;
    background: #fff;
}

.bc_single_book_wrap .input-number-group i {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yw-forest);
    background: rgba(6, 58, 168, .08);
    font-size: 20px;
    cursor: pointer;
}

.bc_single_book_wrap .input-number-group input {
    width: 42px;
    min-height: 34px;
    border: 0 !important;
    padding: 0 !important;
    text-align: center;
    background: transparent !important;
}

.bc_single_book_wrap input,
.bc_single_book_wrap textarea,
.bc_single_book_wrap select,
.booking-page input,
.booking-page textarea,
.booking-page select,
.checkout-page input,
.checkout-page textarea,
.checkout-page select,
.bc-enquiry-form input,
.bc-enquiry-form textarea,
.form-send-enquiry input,
.form-send-enquiry textarea {
    border: 1px solid var(--yw-border) !important;
    border-radius: 8px !important;
    background: #fbfcff !important;
    color: var(--yw-ink) !important;
    font-size: 15px !important;
    font-weight: 700;
    box-shadow: none !important;
}

.bc_single_book_wrap input:focus,
.bc_single_book_wrap textarea:focus,
.bc_single_book_wrap select:focus,
.booking-page input:focus,
.booking-page textarea:focus,
.booking-page select:focus,
.checkout-page input:focus,
.checkout-page textarea:focus,
.checkout-page select:focus {
    border-color: rgba(6, 58, 168, 0.54) !important;
    box-shadow: 0 0 0 4px rgba(6, 58, 168, 0.1) !important;
}

.bc_single_book_wrap label,
.booking-page label,
.checkout-page label,
.bc-enquiry-form label {
    color: var(--yw-muted);
    font-size: 13px;
    font-weight: 900;
}

.bc_single_book_wrap .btn,
.booking-form .btn,
.hotel-room-book .btn,
.bc-enquiry-form .btn,
.form-send-enquiry .btn,
.booking-page .btn,
.checkout-page .btn {
    min-height: 46px;
    border-radius: 8px !important;
    font-weight: 900 !important;
}

.bc_single_book_wrap .submit-group .btn,
.bc_single_book_wrap .form-send-enquiry .btn {
    width: 100%;
    min-height: 58px;
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--yw-forest), #2c7faf) !important;
    border: 0 !important;
    font-size: 17px;
}

.yw-book-submit-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 10px;
}

.yw-book-submit-note i {
    color: var(--yw-forest);
}

.yw-core-bottom-nav {
    display: none;
}

.yw-mobile-book-bar {
    display: none;
}

.bc_detail_tour .bc-more-book-mobile {
    display: none !important;
}

.yw-package-actions {
    border: 1px solid var(--yw-border);
    border-radius: 8px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    background: #fff;
    box-shadow: var(--yw-soft-shadow);
    margin: 24px 0 16px;
}

.yw-package-actions a,
.yw-package-actions button {
    min-height: 56px;
    border: 0;
    border-right: 1px solid var(--yw-border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--yw-ink) !important;
    background: transparent;
    font-size: 13px;
    font-weight: 950;
    cursor: pointer;
}

.yw-package-actions a:last-child,
.yw-package-actions button:last-child {
    border-right: 0;
}

.yw-package-actions i {
    color: var(--yw-teal);
    font-size: 16px;
}

.yw-package-tabs {
    position: sticky;
    top: 86px;
    z-index: 8;
    min-height: 58px;
    border: 1px solid var(--yw-border);
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    overflow-x: auto;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 12px 28px rgba(6, 31, 103, .08);
    backdrop-filter: blur(14px);
    scrollbar-width: none;
    margin-bottom: 20px;
}

.yw-package-tabs::-webkit-scrollbar {
    display: none;
}

.yw-package-tabs a {
    flex: 0 0 auto;
    min-height: 40px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    color: var(--yw-ink) !important;
    font-size: 13px;
    font-weight: 950;
}

.yw-package-tabs a:hover,
.yw-package-tabs a:focus {
    color: #fff !important;
    background: var(--yw-forest);
}

.yw-package-snapshot {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 24px;
}

.yw-package-snapshot span {
    min-height: 86px;
    border: 1px solid var(--yw-border);
    border-radius: 8px;
    display: grid;
    place-items: center;
    gap: 7px;
    padding: 12px;
    color: var(--yw-muted);
    background: #fff;
    font-size: 13px;
    font-weight: 950;
    text-align: center;
    box-shadow: 0 10px 24px rgba(6, 31, 103, .06);
}

.yw-package-snapshot span.is-active {
    color: var(--yw-forest);
    border-color: rgba(6, 58, 168, .24);
    background: rgba(6, 58, 168, .07);
}

.yw-package-snapshot i {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--yw-forest);
    font-size: 18px;
}

.yw-section-head {
    margin-bottom: 20px;
}

.yw-section-head span {
    display: inline-flex;
    min-height: 30px;
    border-radius: 999px;
    align-items: center;
    padding: 0 12px;
    color: var(--yw-forest);
    background: rgba(6, 58, 168, .09);
    font-size: 12px;
    font-weight: 950;
}

.yw-section-head h3 {
    margin: 10px 0 6px !important;
    font-size: 30px;
    line-height: 1.15;
}

.yw-section-head p {
    max-width: 680px;
    margin: 0;
    color: var(--yw-muted);
    font-size: 15px;
    line-height: 1.6;
    font-weight: 700;
}

.yw-itinerary {
    margin: 34px 0;
}

.yw-itinerary__list {
    display: grid;
    gap: 14px;
}

.yw-itinerary-day {
    border: 1px solid var(--yw-border);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    box-shadow: var(--yw-soft-shadow);
}

.yw-itinerary-day summary {
    min-height: 82px;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
}

.yw-itinerary-day summary::-webkit-details-marker {
    display: none;
}

.yw-itinerary-day__count {
    flex: 0 0 auto;
    min-width: 68px;
    min-height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    color: #fff;
    background: var(--yw-forest);
    font-size: 13px;
    font-weight: 950;
}

.yw-itinerary-day__title {
    flex: 1;
    min-width: 0;
    display: grid;
    gap: 4px;
}

.yw-itinerary-day__title strong {
    color: var(--yw-ink);
    font-size: 18px;
    line-height: 1.25;
    font-weight: 950;
}

.yw-itinerary-day__title small {
    color: var(--yw-muted);
    font-size: 13px;
    font-weight: 800;
}

.yw-itinerary-day summary > i {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yw-ink);
    background: var(--yw-mist);
    transition: transform .2s ease;
}

.yw-itinerary-day[open] summary > i {
    transform: rotate(180deg);
}

.yw-itinerary-day__body {
    border-top: 1px solid var(--yw-border);
    display: grid;
    grid-template-columns: minmax(220px, 33%) 1fr;
    gap: 0;
}

.yw-itinerary-day__image {
    min-height: 260px;
    background: var(--yw-mist);
}

.yw-itinerary-day__image img {
    width: 100%;
    height: 100%;
    min-height: 260px;
    object-fit: cover;
}

.yw-itinerary-day__content {
    display: grid;
    gap: 18px;
    padding: 22px;
}

.yw-itinerary-day__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.yw-itinerary-day__chips span {
    min-height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 12px;
    color: var(--yw-forest);
    background: rgba(6, 58, 168, .08);
    font-size: 12px;
    font-weight: 900;
}

.yw-itinerary-day__overview,
.yw-itinerary-day__overview p {
    color: var(--yw-muted);
    font-size: 15px;
    line-height: 1.7;
    font-weight: 650;
}

.yw-itinerary-day__group h4 {
    margin: 0 0 8px;
    color: var(--yw-ink);
    font-size: 15px;
    font-weight: 950;
}

.yw-itinerary-day__group ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.yw-itinerary-day__group li {
    position: relative;
    padding-left: 24px;
    color: var(--yw-ink);
    font-size: 14px;
    line-height: 1.45;
    font-weight: 750;
}

.yw-itinerary-day__group li:before {
    content: "\f00c";
    position: absolute;
    left: 0;
    top: 1px;
    color: var(--yw-teal);
    font-family: FontAwesome;
}

.yw-itinerary-day__group--optional li:before {
    content: "\f067";
    color: var(--yw-coral);
}

.yw-itinerary-day__notes {
    border-radius: 8px;
    padding: 14px;
    background: rgba(247, 184, 75, .13);
}

.yw-itinerary-day__notes p {
    margin: 0;
    color: var(--yw-ink);
    font-size: 13px;
    line-height: 1.55;
    font-weight: 750;
}

.yw-itinerary-day__map {
    justify-self: start;
    min-height: 40px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 14px;
    color: #fff !important;
    background: var(--yw-forest);
    font-size: 13px;
    font-weight: 950;
}

.yw-package-commerce {
    margin: 34px 0;
}

.yw-package-commerce__intro,
.yw-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}

.yw-package-commerce__intro {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.yw-detail-card,
.yw-detail-section,
.yw-policy-grid details {
    border: 1px solid var(--yw-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--yw-soft-shadow);
}

.yw-detail-card {
    padding: 18px;
}

.yw-detail-card__title,
.yw-detail-section__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.yw-detail-card__title {
    justify-content: flex-start;
}

.yw-detail-card__title i {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--yw-forest);
}

.yw-detail-card__title strong,
.yw-detail-section__head h4 {
    margin: 0;
    color: var(--yw-ink);
    font-size: 18px;
    line-height: 1.25;
    font-weight: 950;
}

.yw-detail-card p,
.yw-detail-section p,
.yw-policy-grid p {
    margin: 0;
    color: var(--yw-muted);
    font-size: 14px;
    line-height: 1.65;
    font-weight: 700;
}

.yw-detail-section {
    padding: 20px;
    margin-bottom: 18px;
}

.yw-detail-section__head span {
    min-height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    padding: 0 11px;
    color: var(--yw-forest);
    background: rgba(6, 58, 168, .09);
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
}

.yw-highlight-list,
.yw-route-chain,
.yw-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.yw-highlight-list span,
.yw-route-chain span,
.yw-chip-list span,
.yw-pill {
    min-height: 34px;
    border: 1px solid rgba(6, 58, 168, .18);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    color: var(--yw-forest);
    background: rgba(6, 58, 168, .07);
    font-size: 12px;
    font-weight: 900;
}

.yw-route-chain span {
    position: relative;
}

.yw-route-chain span:not(:last-child)::after {
    content: "\f105";
    margin-left: 7px;
    color: var(--yw-muted);
    font-family: FontAwesome;
}

.yw-hotel-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.yw-hotel-option {
    border: 1px solid var(--yw-border);
    border-radius: 8px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 0;
    background: #fbfcff;
}

.yw-hotel-option img,
.yw-hotel-option__fallback {
    width: 100%;
    min-height: 190px;
    height: 100%;
    object-fit: cover;
    background: var(--yw-mist);
}

.yw-hotel-option__fallback {
    display: grid;
    place-items: center;
    color: var(--yw-forest);
    font-size: 32px;
}

.yw-hotel-option > div:last-child {
    min-width: 0;
    display: grid;
    gap: 10px;
    padding: 16px;
}

.yw-hotel-option h5 {
    margin: 0;
    color: var(--yw-ink);
    font-size: 18px;
    line-height: 1.25;
    font-weight: 950;
}

.yw-hotel-option__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.yw-hotel-option__meta span {
    min-height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 10px;
    color: var(--yw-muted);
    background: #fff;
    font-size: 12px;
    font-weight: 850;
}

.yw-hotel-option__meta i,
.yw-mini-card i,
.yw-chip-list i {
    color: var(--yw-teal);
}

.yw-mini-list,
.yw-check-list,
.yw-policy-grid {
    display: grid;
    gap: 12px;
}

.yw-mini-card,
.yw-check-list > div {
    border: 1px solid var(--yw-border);
    border-radius: 8px;
    display: flex;
    gap: 14px;
    padding: 14px;
    background: #fbfcff;
}

.yw-mini-card > i {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(6, 58, 168, .09);
    font-size: 18px;
}

.yw-mini-card strong,
.yw-check-list strong {
    display: block;
    margin-bottom: 4px;
    color: var(--yw-ink);
    font-size: 15px;
    line-height: 1.3;
    font-weight: 950;
}

.yw-mini-card p,
.yw-check-list span {
    display: block;
    margin: 0 0 4px;
    color: var(--yw-muted);
    font-size: 13px;
    font-weight: 800;
}

.yw-mini-card small {
    display: block;
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 750;
}

.yw-mini-card span {
    display: inline-flex;
    margin-top: 8px;
    color: var(--yw-forest);
    font-size: 12px;
    font-weight: 900;
}

.yw-mini-card em {
    display: block;
    margin-top: 8px;
    color: var(--yw-muted);
    font-size: 13px;
    font-style: normal;
    line-height: 1.5;
    font-weight: 700;
}

.yw-check-list > div {
    display: block;
}

.yw-check-list p {
    margin-top: 8px;
}

.yw-policy-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 18px;
}

.yw-policy-grid details {
    overflow: hidden;
}

.yw-policy-grid summary {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 16px;
    color: var(--yw-ink);
    cursor: pointer;
    font-weight: 950;
    list-style: none;
}

.yw-policy-grid summary::-webkit-details-marker {
    display: none;
}

.yw-policy-grid details[open] summary i {
    transform: rotate(180deg);
}

.yw-policy-grid details p {
    border-top: 1px solid var(--yw-border);
    padding: 15px 16px 18px;
}

.yw-tour-app-detail {
    display: none;
}

@media (min-width: 769px) {
    .yw-service-offline-page,
    .yw-tour-app-detail--offline {
        display: block;
        width: min(100%, 1180px);
        margin: 0 auto;
        padding: 24px 0 120px;
        overflow: visible;
    }

    .yw-service-offline-page .yw-app-hero-card,
    .yw-tour-app-detail--offline .yw-app-hero-card {
        min-height: 360px;
        margin: 0 16px 18px;
    }

    .yw-service-offline-page .yw-app-hero-card__body,
    .yw-tour-app-detail--offline .yw-app-hero-card__body {
        max-width: 760px;
        padding: 32px;
    }

    .yw-service-offline-page .yw-app-price-strip,
    .yw-service-offline-page .yw-app-service-rail,
    .yw-service-offline-page .yw-app-checkout-strip,
    .yw-service-offline-page .yw-app-section-tabs,
    .yw-service-offline-page .yw-app-card,
    .yw-service-offline-page .yw-app-expert,
    .yw-tour-app-detail--offline .yw-app-price-strip,
    .yw-tour-app-detail--offline .yw-app-service-rail,
    .yw-tour-app-detail--offline .yw-app-checkout-strip,
    .yw-tour-app-detail--offline .yw-app-section-tabs,
    .yw-tour-app-detail--offline .yw-app-card,
    .yw-tour-app-detail--offline .yw-app-expert {
        margin-left: 16px;
        margin-right: 16px;
    }

    .yw-service-offline-page .yw-app-card,
    .yw-tour-app-detail--offline .yw-app-card {
        padding: 24px;
    }

    .yw-service-offline-page .yw-app-service-rail,
    .yw-tour-app-detail--offline .yw-app-service-rail {
        grid-auto-columns: minmax(130px, 1fr);
    }

    .yw-service-offline-page .yw-app-book-bar,
    .yw-tour-app-detail--offline .yw-app-book-bar {
        position: sticky;
        left: auto;
        right: auto;
        bottom: 18px;
        width: min(760px, calc(100% - 32px));
        margin: 20px auto 0;
    }
}

body.yw-book-sheet-open {
    overflow: hidden;
}

.yw-room-booking-head,
.yw-visa-book-note {
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(232, 247, 244, .9));
}

.yw-room-booking-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding: 18px;
}

.yw-room-booking-head span,
.yw-book-sheet-head span {
    color: var(--yw-orange);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0;
}

.yw-room-booking-head .heading-section {
    margin: 4px 0 6px;
    color: var(--yw-ink);
    font-size: 24px;
    line-height: 1.15;
    font-weight: 950;
}

.yw-room-booking-head p,
.yw-visa-book-note span {
    margin: 0;
    color: var(--yw-muted);
    font-size: 14px;
    line-height: 1.45;
    font-weight: 750;
}

.yw-room-trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    min-width: 220px;
}

.yw-room-trust span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    border-radius: 999px;
    padding: 0 12px;
    background: #fff;
    color: var(--yw-forest);
    box-shadow: 0 8px 22px rgba(6, 31, 103, .08);
}

.yw-visa-book-head {
    margin-bottom: 12px;
}

.yw-visa-book-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 14px;
    padding: 13px 14px;
}

.yw-visa-book-note i {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: var(--yw-forest);
    color: #fff;
}

@media (max-width: 767px) {
    .yw-room-booking-head {
        display: block;
        margin: 0 0 14px;
        padding: 15px;
        border-radius: 20px;
    }

    .yw-room-booking-head .heading-section {
        font-size: 21px;
    }

    .yw-room-trust {
        justify-content: flex-start;
        min-width: 0;
        margin-top: 12px;
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: none;
    }

    .yw-room-trust::-webkit-scrollbar {
        display: none;
    }

    .yw-room-trust span {
        flex: 0 0 auto;
        min-height: 38px;
    }
}

.yw-app-hero-card,
.yw-app-price-strip,
.yw-app-service-rail,
.yw-app-tools,
.yw-app-section-tabs,
.yw-app-snapshot,
.yw-app-card,
.yw-app-expert,
.yw-app-book-bar {
    max-width: 100%;
}

.yw-app-hero-card {
    position: relative;
    overflow: hidden;
    min-height: 420px;
    margin: 0 12px 12px;
    border-radius: 24px;
    background: var(--yw-forest);
    color: #fff;
    box-shadow: 0 18px 44px rgba(6, 31, 103, .24);
}

.yw-app-hero-card > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.yw-app-hero-card__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(6, 31, 103, .2) 0%, rgba(6, 31, 103, .12) 38%, rgba(6, 31, 103, .92) 100%),
        linear-gradient(90deg, rgba(6, 31, 103, .62), rgba(6, 31, 103, .14));
}

.yw-app-hero-card__top,
.yw-app-hero-card__body {
    position: relative;
    z-index: 1;
}

.yw-app-hero-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px;
}

.yw-app-hero-card__top a,
.yw-app-hero-card__top button {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    background: rgba(255, 255, 255, .13);
    backdrop-filter: blur(12px);
}

.yw-app-hero-card__top button {
    cursor: pointer;
}

.yw-app-hero-card__top span {
    min-width: 0;
    border-radius: 999px;
    padding: 9px 13px;
    color: #fff;
    background: rgba(255, 255, 255, .14);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0;
}

.yw-app-hero-card__body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    gap: 12px;
    padding: 18px;
}

.yw-app-hero-card__body h1 {
    max-width: 100%;
    margin: 0;
    color: #fff;
    font-size: 31px;
    line-height: 1.08;
    font-weight: 950;
    overflow-wrap: break-word;
}

.yw-app-sale {
    justify-self: start;
    min-height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    color: var(--yw-ink);
    background: var(--yw-sun);
    font-size: 13px;
    font-weight: 950;
}

.yw-app-meta-row {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    padding-bottom: 2px;
    scrollbar-width: none;
}

.yw-app-meta-row::-webkit-scrollbar,
.yw-app-section-tabs::-webkit-scrollbar,
.yw-app-service-rail::-webkit-scrollbar,
.yw-app-tools::-webkit-scrollbar,
.yw-app-horizontal::-webkit-scrollbar {
    display: none;
}

.yw-app-meta-row span {
    flex: 0 0 auto;
    min-height: 34px;
    border: 1px solid rgba(255, 255, 255, .23);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 11px;
    color: #fff;
    background: rgba(255, 255, 255, .14);
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.yw-app-price-strip {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 46px auto auto;
    align-items: center;
    gap: 8px;
    margin: 0 12px 12px;
    border: 1px solid rgba(6, 58, 168, .14);
    border-radius: 24px;
    padding: 10px;
    background: rgba(255, 255, 255, .96);
    box-shadow: var(--yw-soft-shadow);
}

.yw-app-price-strip div,
.yw-app-book-bar div {
    display: grid;
    min-width: 0;
}

.yw-app-price-strip div > span,
.yw-app-book-bar > div > span {
    color: var(--yw-muted);
    font-size: 10px;
    font-weight: 950;
    text-transform: uppercase;
}

.yw-app-price-strip strong,
.yw-app-book-bar strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--yw-forest);
    font-size: 18px;
    line-height: 1.15;
    font-weight: 950;
    white-space: nowrap;
}

.yw-app-price-strip del {
    color: var(--yw-coral);
    font-size: 11px;
    font-weight: 850;
}

.yw-app-price-strip a,
.yw-app-price-strip button,
.yw-app-book-bar a,
.yw-app-book-bar button,
.yw-app-expert a,
.yw-app-expert button {
    min-width: 0;
    min-height: 44px;
    border: 0;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    color: #fff !important;
    background: var(--yw-forest);
    font-size: 13px;
    font-weight: 950;
    white-space: nowrap;
    cursor: pointer;
}

.yw-app-price-strip button i,
.yw-app-book-bar a i,
.yw-app-book-bar button i {
    margin-right: 6px;
    font-size: 13px;
}

.yw-app-price-strip a {
    width: 46px;
    padding: 0;
    background: rgba(6, 58, 168, .1);
    color: var(--yw-forest) !important;
}

.yw-app-price-strip button:first-of-type,
.yw-app-book-bar a:first-of-type,
.yw-app-book-bar button:first-of-type {
    color: var(--yw-forest) !important;
    background: rgba(6, 58, 168, .1);
}

.yw-app-price-strip button:last-of-type,
.yw-app-book-bar a:last-of-type,
.yw-app-book-bar button:last-of-type {
    color: #fff !important;
    background: var(--yw-coral);
    box-shadow: 0 12px 24px rgba(255, 100, 24, .26);
}

.yw-app-service-rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(82px, 1fr);
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    margin: 0 12px 12px;
    scrollbar-width: none;
}

.yw-app-service-rail span {
    min-width: 0;
    min-height: 76px;
    border: 1px solid rgba(6, 58, 168, .14);
    border-radius: 20px;
    display: grid;
    place-items: center;
    gap: 6px;
    padding: 10px 8px;
    color: var(--yw-muted);
    background: #fff;
    font-size: 11px;
    font-weight: 950;
    text-align: center;
    overflow: hidden;
    box-shadow: var(--yw-soft-shadow);
}

.yw-app-service-rail i {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yw-forest);
    background: rgba(6, 58, 168, .1);
    font-size: 16px;
}

.yw-app-service-rail span.is-active {
    color: var(--yw-forest);
    border-color: rgba(6, 58, 168, .28);
    background: linear-gradient(135deg, rgba(6, 58, 168, .09), rgba(255, 154, 31, .13));
}

.yw-app-tools {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(76px, 1fr);
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    margin: 0 12px 12px;
    padding-bottom: 2px;
    scrollbar-width: none;
}

.yw-app-tools a,
.yw-app-tools button {
    min-width: 0;
    min-height: 58px;
    border: 1px solid rgba(6, 58, 168, .14);
    border-radius: 18px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: var(--yw-ink) !important;
    background: #fff;
    font-size: 11px;
    font-weight: 950;
    box-shadow: 0 12px 28px rgba(6, 31, 103, .07);
    cursor: pointer;
}

.yw-app-tools .service-wishlist {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 0 10px !important;
    color: var(--yw-ink) !important;
}

.yw-app-tools .service-wishlist.active,
.yw-app-tools .service-wishlist.is-active {
    color: var(--yw-coral) !important;
    border-color: rgba(255, 100, 24, .24);
    background: rgba(255, 100, 24, .08);
}

.yw-app-tools i {
    color: var(--yw-coral);
    font-size: 18px;
}

.yw-app-checkout-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0 12px 12px;
}

.yw-app-checkout-strip div {
    min-width: 0;
    min-height: 68px;
    border: 1px solid rgba(6, 58, 168, .14);
    border-radius: 20px;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 10px;
    background: linear-gradient(145deg, #fff, rgba(234, 241, 255, .88));
    box-shadow: 0 12px 28px rgba(6, 31, 103, .07);
}

.yw-app-checkout-strip span {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--yw-forest);
    font-size: 13px;
    font-weight: 950;
}

.yw-app-checkout-strip strong {
    min-width: 0;
    color: var(--yw-ink);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 950;
    overflow-wrap: break-word;
}

.yw-app-quote-builder {
    margin: 10px 12px 12px;
    border: 1px solid rgba(0, 93, 139, .14);
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(0, 93, 139, .08), rgba(255, 111, 68, .08)),
        #fff;
    box-shadow: 0 18px 45px rgba(0, 19, 42, .1);
    padding: 16px;
}

.yw-app-duration-chips {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    margin: 0 -16px 12px;
    padding: 0 16px 2px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
}

.yw-app-duration-chips::-webkit-scrollbar {
    display: none;
}

.yw-app-duration-chips button {
    flex: 0 0 auto;
    min-height: 42px;
    border: 1px solid rgba(0, 93, 139, .16);
    border-radius: 999px;
    background: #fff;
    color: var(--yw-blue);
    padding: 0 14px;
    font-size: 13px;
    font-weight: 950;
    white-space: nowrap;
    scroll-snap-align: start;
}

.yw-app-duration-chips button:first-child {
    border-color: transparent;
    background: var(--yw-blue);
    color: #fff;
}

.yw-app-quote-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.yw-app-quote-grid button {
    min-width: 0;
    min-height: 118px;
    border: 1px solid rgba(0, 93, 139, .14);
    border-radius: 18px;
    background: rgba(255, 255, 255, .86);
    display: grid;
    align-content: start;
    gap: 7px;
    padding: 13px;
    text-align: left;
    box-shadow: 0 12px 28px rgba(0, 19, 42, .06);
    cursor: pointer;
}

.yw-app-quote-grid i {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-blue), var(--yw-coral));
    font-size: 16px;
}

.yw-app-quote-grid span {
    color: var(--yw-ink);
    font-size: 13px;
    font-weight: 950;
    line-height: 1.2;
}

.yw-app-quote-grid strong {
    color: var(--yw-muted);
    font-size: 11px;
    line-height: 1.35;
    font-weight: 850;
}

.yw-app-quote-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 12px;
}

.yw-app-quote-actions a,
.yw-app-quote-actions button {
    min-height: 46px;
    border: 0;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 950;
    text-align: center;
}

.yw-app-quote-actions button {
    color: #fff;
    background: var(--yw-coral);
    box-shadow: 0 14px 28px rgba(255, 100, 24, .24);
    cursor: pointer;
}

.yw-app-quote-actions a {
    color: var(--yw-blue) !important;
    background: #fff;
    border: 1px solid rgba(0, 93, 139, .14);
}

.yw-app-section-tabs {
    position: sticky;
    top: 0;
    z-index: 9;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    margin: 0 0 12px;
    padding: 10px 12px;
    background: rgba(245, 248, 255, .96);
    backdrop-filter: blur(14px);
    scrollbar-width: none;
}

.yw-app-section-tabs a {
    flex: 0 0 auto;
    min-height: 38px;
    border: 1px solid rgba(6, 58, 168, .16);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    padding: 0 14px;
    color: var(--yw-forest) !important;
    background: #fff;
    font-size: 12px;
    font-weight: 950;
}

.yw-app-snapshot {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0 12px 12px;
}

.yw-app-snapshot div,
.yw-app-card,
.yw-app-expert {
    border: 1px solid rgba(6, 58, 168, .14);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--yw-soft-shadow);
}

.yw-app-snapshot div {
    min-width: 0;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 2px 10px;
    align-items: center;
    padding: 12px;
}

.yw-app-snapshot i {
    grid-row: span 2;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yw-forest);
    background: rgba(6, 58, 168, .1);
}

.yw-app-snapshot strong {
    min-width: 0;
    color: var(--yw-ink);
    font-size: 14px;
    line-height: 1.2;
    font-weight: 950;
    overflow-wrap: break-word;
}

.yw-app-snapshot span {
    color: var(--yw-muted);
    font-size: 11px;
    font-weight: 850;
}

.yw-app-card {
    margin: 0 12px 12px;
    padding: 16px;
}

.yw-app-card__head {
    display: grid;
    gap: 4px;
    margin-bottom: 12px;
}

.yw-app-card__head span {
    color: var(--yw-coral);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.yw-app-card__head strong {
    color: var(--yw-ink);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 950;
}

.yw-app-card p,
.yw-app-rich,
.yw-app-rich p,
.yw-app-accordion p {
    margin: 0;
    color: var(--yw-muted);
    font-size: 14px;
    line-height: 1.65;
    font-weight: 720;
}

.yw-app-rich {
    max-height: 180px;
    overflow: auto;
}

.yw-app-chip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.yw-app-chip-grid span {
    min-height: 34px;
    border: 1px solid rgba(6, 58, 168, .14);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 11px;
    color: var(--yw-forest);
    background: rgba(6, 58, 168, .07);
    font-size: 12px;
    font-weight: 900;
}

.yw-app-route {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    margin-top: 12px;
    padding-bottom: 2px;
    scrollbar-width: none;
}

.yw-app-route span {
    flex: 0 0 auto;
    min-height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    color: var(--yw-ink);
    background: var(--yw-mist);
    font-size: 12px;
    font-weight: 950;
}

.yw-app-route::-webkit-scrollbar {
    display: none;
}

.yw-app-itinerary,
.yw-app-accordion,
.yw-app-info-list {
    display: grid;
    gap: 10px;
}

.yw-app-day,
.yw-app-accordion details,
.yw-app-info-list div {
    border: 1px solid var(--yw-border);
    border-radius: 20px;
    overflow: hidden;
    background: #fbfcff;
}

.yw-app-day summary,
.yw-app-accordion summary {
    min-height: 58px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 24px;
    gap: 4px 10px;
    align-items: center;
    padding: 12px;
    color: var(--yw-ink);
    cursor: pointer;
    list-style: none;
}

.yw-app-day summary::-webkit-details-marker,
.yw-app-accordion summary::-webkit-details-marker {
    display: none;
}

.yw-app-day summary span {
    color: var(--yw-coral);
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.yw-app-day summary strong {
    min-width: 0;
    color: var(--yw-ink);
    font-size: 15px;
    line-height: 1.25;
    font-weight: 950;
}

.yw-app-day summary i,
.yw-app-accordion summary i {
    grid-row: span 2;
    justify-self: end;
    color: var(--yw-forest);
}

.yw-app-day[open] summary i,
.yw-app-accordion details[open] summary i {
    transform: rotate(180deg);
}

.yw-app-day__body {
    display: grid;
    gap: 12px;
    border-top: 1px solid var(--yw-border);
    padding: 12px;
}

.yw-app-day__body img {
    width: 100%;
    max-height: 190px;
    border-radius: 18px;
    object-fit: cover;
}

.yw-app-day__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.yw-app-day__meta span {
    min-height: 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    color: var(--yw-muted);
    background: #fff;
    font-size: 11px;
    font-weight: 850;
}

.yw-app-day ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.yw-app-day li {
    position: relative;
    padding-left: 22px;
    color: var(--yw-ink);
    font-size: 13px;
    line-height: 1.45;
    font-weight: 800;
}

.yw-app-day li:before {
    content: "\f00c";
    position: absolute;
    left: 0;
    top: 1px;
    color: var(--yw-teal);
    font-family: FontAwesome;
}

/* Day text written by the itinerary builder: a <ul> of plain bullets with the
   places in <b>. The check-mark list above stays for the activities list. */
.yw-app-day__desc ul {
    gap: 6px;
}

.yw-app-day__desc li {
    padding-left: 16px;
    color: var(--yw-muted);
    font-weight: 600;
}

.yw-app-day__desc li:before {
    content: "";
    top: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--yw-coral);
}

.yw-app-day__desc b,
.yw-app-day__desc strong {
    color: var(--yw-ink);
    font-weight: 900;
}

/* "Download itinerary (PDF)" in the Day by day card head. */
.yw-app-card__action {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    margin-top: 6px;
    padding: 0 14px;
    border: 1px solid var(--yw-line);
    border-radius: 999px;
    color: var(--yw-ink);
    background: #fff;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.yw-app-card__action i {
    color: var(--yw-coral);
}

.yw-app-card__action:hover,
.yw-app-card__action:focus {
    border-color: var(--yw-coral);
    color: var(--yw-ink);
    text-decoration: none;
}

.yw-app-optional {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.yw-app-optional strong {
    width: 100%;
    color: var(--yw-ink);
    font-size: 13px;
    font-weight: 950;
}

.yw-app-optional span {
    min-height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    color: var(--yw-coral);
    background: rgba(255, 110, 74, .1);
    font-size: 11px;
    font-weight: 900;
}

.yw-app-horizontal {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    margin: 0 -16px;
    padding: 0 16px 4px;
    scrollbar-width: none;
}

.yw-app-hotel {
    flex: 0 0 245px;
    border: 1px solid var(--yw-border);
    border-radius: 22px;
    overflow: hidden;
    background: #fbfcff;
}

.yw-app-hotel img,
.yw-app-hotel > div:first-child {
    width: 100%;
    height: 132px;
    object-fit: cover;
    background: var(--yw-mist);
}

.yw-app-hotel > div:first-child {
    display: grid;
    place-items: center;
    color: var(--yw-forest);
    font-size: 28px;
}

.yw-app-hotel strong,
.yw-app-hotel span {
    display: block;
    padding: 0 12px;
}

.yw-app-hotel strong {
    margin-top: 12px;
    color: var(--yw-ink);
    font-size: 15px;
    line-height: 1.25;
    font-weight: 950;
}

.yw-app-hotel span {
    margin: 6px 0 12px;
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 800;
}

.yw-app-related {
    padding-left: 0;
    padding-right: 0;
}

.yw-app-related .yw-app-card__head {
    padding-left: 16px;
    padding-right: 16px;
}

.yw-app-related__rail {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 0 16px 4px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.yw-app-related__rail::-webkit-scrollbar {
    display: none;
}

.yw-app-related-card {
    flex: 0 0 min(286px, calc(100vw - 56px));
    overflow: hidden;
    border: 1px solid rgba(6, 58, 168, .14);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(6, 31, 103, .08);
    scroll-snap-align: start;
}

.yw-app-related-card__media {
    position: relative;
    display: block;
    width: 100%;
    height: 156px;
    overflow: hidden;
    color: var(--yw-forest) !important;
    background: linear-gradient(135deg, var(--yw-mist), #fff);
}

.yw-app-related-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.yw-app-related-card:hover .yw-app-related-card__media img {
    transform: scale(1.035);
}

.yw-app-related-card__media > span {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    font-size: 32px;
}

.yw-app-related-card__media em {
    position: absolute;
    top: 12px;
    right: 12px;
    min-height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    color: #fff;
    background: var(--yw-coral);
    font-size: 11px;
    font-style: normal;
    font-weight: 950;
    box-shadow: 0 10px 22px rgba(255, 100, 24, .24);
}

.yw-app-related-card__body {
    display: grid;
    gap: 8px;
    padding: 13px;
}

.yw-app-related-card__body > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--yw-muted);
    font-size: 11px;
    font-weight: 900;
}

.yw-app-related-card__body > span i,
.yw-app-related-card__meta i {
    color: var(--yw-coral);
}

.yw-app-related-card h3 {
    margin: 0;
    color: var(--yw-ink);
    font-size: 16px;
    line-height: 1.25;
    font-weight: 950;
}

.yw-app-related-card h3 a {
    color: inherit !important;
}

.yw-app-related-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.yw-app-related-card__meta small {
    min-height: 30px;
    border: 1px solid rgba(6, 58, 168, .12);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 9px;
    color: var(--yw-muted);
    background: rgba(234, 241, 255, .62);
    font-size: 11px;
    font-weight: 900;
}

.yw-app-related-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-top: 1px solid rgba(6, 31, 103, .09);
    padding-top: 10px;
}

.yw-app-related-card__foot strong {
    color: var(--yw-forest);
    font-size: 17px;
    line-height: 1.1;
    font-weight: 950;
}

.yw-app-related-card__foot a {
    min-height: 38px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    color: #fff !important;
    background: var(--yw-forest);
    font-size: 12px;
    font-weight: 950;
}

.yw-app-info-list div {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 3px 10px;
    align-items: center;
    padding: 12px;
}

.yw-app-info-list i {
    grid-row: span 2;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yw-forest);
    background: rgba(6, 58, 168, .09);
}

.yw-app-info-list strong {
    color: var(--yw-ink);
    font-size: 14px;
    font-weight: 950;
}

.yw-app-info-list span {
    color: var(--yw-muted);
    font-size: 12px;
    line-height: 1.45;
    font-weight: 800;
}

.yw-app-action-grid,
.yw-app-support-grid {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.yw-app-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.yw-app-action-grid a,
.yw-app-action-grid button,
.yw-app-support-grid span {
    min-width: 0;
    min-height: 48px;
    border: 1px solid rgba(6, 58, 168, .14);
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    color: var(--yw-ink) !important;
    background: #fbfcff;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 900;
}

.yw-app-action-grid a,
.yw-app-action-grid button {
    justify-content: center;
    cursor: pointer;
}

.yw-app-action-grid button {
    border-color: transparent;
    color: #fff !important;
    background: var(--yw-forest);
}

.yw-app-action-grid i,
.yw-app-support-grid i {
    color: var(--yw-coral);
    font-size: 15px;
}

.yw-app-action-grid button i {
    color: #fff;
}

.yw-app-accordion summary {
    display: flex;
    justify-content: space-between;
    color: var(--yw-ink);
    font-size: 14px;
    font-weight: 950;
}

.yw-app-accordion details > p,
.yw-app-accordion details > .yw-app-chip-grid {
    border-top: 1px solid var(--yw-border);
    padding: 12px;
}

.yw-app-accordion details > .yw-app-chip-grid {
    margin-top: 0;
}

.yw-app-expert {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    margin: 0 12px 178px;
    padding: 14px;
}

.yw-app-expert .yatriwala-brand-mark {
    width: 48px;
    height: 48px;
}

.yw-app-expert strong {
    color: var(--yw-ink);
    font-size: 15px;
    font-weight: 950;
}

.yw-app-expert p {
    margin: 4px 0 0;
    color: var(--yw-muted);
    font-size: 12px;
    line-height: 1.45;
    font-weight: 750;
}

.yw-app-expert button {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 4px;
}

.yw-app-book-bar {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: calc(86px + env(safe-area-inset-bottom));
    z-index: 1040;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: center;
    border: 1px solid rgba(6, 58, 168, .18);
    border-radius: 24px;
    padding: 9px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 18px 44px rgba(6, 31, 103, .2);
    backdrop-filter: blur(16px);
}

.yw-app-book-bar p {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 2px 4px 0;
    color: var(--yw-muted);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 850;
}

.yw-app-book-bar p i {
    color: var(--yw-forest);
}

.bc-list-tour-related,
.bc-list-space-related,
.bc-list-hotel-related,
.bc-list-car-related {
    padding-top: 54px;
    border-top: 1px solid var(--yw-border);
}

.modal-content,
.login-register .modal-content,
.bravo-form-login,
.bravo-form-register,
.bc-form-login,
.bc-form-register,
.form-login,
.form-register {
    border: 1px solid var(--yw-border) !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: var(--yw-shadow) !important;
    overflow: hidden;
}

.modal-header,
.modal-footer {
    border-color: var(--yw-border) !important;
}

.modal-title,
.login-register h4,
.bravo-form-login h4,
.bravo-form-register h4 {
    color: var(--yw-ink) !important;
    font-weight: 900 !important;
}

.login-register input,
.bravo-form-login input,
.bravo-form-register input,
.bc-form-login input,
.bc-form-register input {
    border: 1px solid var(--yw-border) !important;
    border-radius: 8px !important;
    background: #fbfcff !important;
    color: var(--yw-ink) !important;
    font-weight: 700;
}

.user-dashboard,
.bc-user-dashboard,
.dashboard-content,
.profile-service-tabs,
.bc-user-profile {
    background: var(--yw-cloud) !important;
}

.user-dashboard .sidebar-user,
.bc-user-dashboard .sidebar-user,
.user-dashboard .dashboard-sidebar,
.bc-user-dashboard .dashboard-sidebar,
.dashboard-content .card,
.dashboard-content .panel,
.profile-service-tabs .card,
.bc-user-profile .card {
    border: 1px solid var(--yw-border) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: var(--yw-soft-shadow) !important;
}

.user-dashboard .dashboard-title,
.bc-user-dashboard .dashboard-title,
.dashboard-content h1,
.dashboard-content h2,
.dashboard-content h3 {
    color: var(--yw-ink) !important;
    font-weight: 900 !important;
}

.dashboard-content .table,
.booking-history-manager .table,
.user-dashboard table {
    overflow: hidden;
    border: 1px solid var(--yw-border);
    border-radius: 8px;
    background: #fff;
}

.dashboard-content .table thead th,
.booking-history-manager .table thead th,
.user-dashboard table thead th {
    border: 0 !important;
    color: var(--yw-muted);
    background: #eef4ef;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.dashboard-content .table td,
.booking-history-manager .table td,
.user-dashboard table td {
    border-color: rgba(6, 31, 103, 0.07) !important;
    color: var(--yw-soft-ink);
    font-weight: 650;
}

.page-template-content .card,
.booking-page .card,
.checkout-page .card,
.bc-content .card {
    border: 1px solid var(--yw-border) !important;
    border-radius: 8px !important;
    box-shadow: var(--yw-soft-shadow);
}

.page-template-content .card-header,
.booking-page .card-header,
.checkout-page .card-header,
.bc-content .card-header {
    border-color: var(--yw-border) !important;
    background: #eef4ef !important;
    color: var(--yw-ink);
    font-weight: 900;
}

.btn.btn-primary,
.btn-primary,
.st-btn.st-btn-primary {
    border-color: var(--yw-coral) !important;
    background: var(--yw-coral) !important;
    color: #fff !important;
    border-radius: 999px;
    font-weight: 800;
    box-shadow: none;
}

.btn.btn-primary:hover,
.btn-primary:hover,
.st-btn.st-btn-primary:hover {
    border-color: #dc5b3c !important;
    background: #dc5b3c !important;
    color: #fff !important;
}

.yatriwala-footer {
    margin-top: 0;
    color: rgba(255, 255, 255, 0.78);
    background:
        linear-gradient(135deg, #061f67 0%, #063aa8 58%, #0a59d8 100%) !important;
}

.yatriwala-footer .mailchimp,
.yatriwala-footer .yatriwala-footer-cta {
    padding: 48px 0;
    background: rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.yatriwala-footer .media {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 0;
}

.yatriwala-footer .media-left i,
.yatriwala-footer-icon {
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.12);
    color: var(--yw-sun);
    font-size: 26px;
}

.yatriwala-footer h4,
.yatriwala-footer .title,
.yatriwala-footer .solo-title-footer h4 {
    color: #fff !important;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 800;
    margin: 0 0 14px;
}

.yatriwala-footer .media-heading {
    margin-bottom: 6px;
    font-size: 24px;
}

.yatriwala-footer p {
    color: rgba(255, 255, 255, 0.72);
}

.yatriwala-footer .subcribe-form .form-group {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
}

.yatriwala-footer .subcribe-form .form-control {
    min-height: 48px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: var(--yw-ink);
    padding: 0 18px;
    font-weight: 700;
}

.yatriwala-footer .subcribe-form .btn-submit {
    min-height: 48px;
    padding: 0 20px;
    border: 0;
    border-radius: 999px;
    background: var(--yw-sun);
    color: var(--yw-ink);
    font-weight: 900;
}

.yatriwala-footer .main-footer {
    padding: 62px 0 42px;
    background: transparent !important;
}

.yatriwala-footer .footer-brand {
    max-width: 320px;
    margin-bottom: 26px;
}

.yatriwala-footer .footer-brand .yatriwala-brand--image {
    display: inline-flex;
    padding: 10px 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 40px rgba(6, 31, 103, 0.18);
}

.yatriwala-footer .footer-brand .yatriwala-brand-logo {
    width: min(260px, 100%);
    height: 72px;
}

.yatriwala-footer .footer-brand .yatriwala-brand-name,
.yatriwala-footer .footer-brand .yatriwala-brand-line {
    color: #fff;
}

.yatriwala-footer .footer-brand p {
    margin-top: 16px;
    line-height: 1.7;
}

.yatriwala-footer ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

.yatriwala-footer .nav-footer .context,
.yatriwala-footer .widget_nav_menu,
.yatriwala-footer .context {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.8;
}

.yatriwala-footer .nav-footer a,
.yatriwala-footer .widget_nav_menu a,
.yatriwala-footer .context a {
    color: rgba(255, 255, 255, 0.78);
}

.yatriwala-footer .nav-footer a:hover,
.yatriwala-footer .widget_nav_menu a:hover,
.yatriwala-footer .context a:hover {
    color: var(--yw-sun);
}

.yatriwala-footer .copy-right,
.yatriwala-footer .bc_footer-solo--sub {
    padding: 22px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.08) !important;
    color: rgba(255, 255, 255, 0.66);
}

.yatriwala-footer .copy-right .context,
.yatriwala-footer .bc_footer-solo--sub {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.yatriwala-footer .f-visa,
.yatriwala-footer .bc_footer--copy-right {
    float: none !important;
    text-align: right;
}

#header.yatriwala-header {
    box-shadow: 0 10px 34px rgba(6, 31, 103, 0.06) !important;
}

#header.yatriwala-header .header-left.header-left--8 .logo img {
    display: none;
}

#header.yatriwala-header #bc_main-menu.bc_main--menu8 {
    width: auto !important;
}

#header.yatriwala-header .header-right--8 {
    gap: 10px;
}

#header.yatriwala-header .toggle-menu svg rect,
#header.yatriwala-header .toggle-menu--user svg path {
    fill: var(--yw-forest);
}

.main-footer--solo.yatriwala-footer {
    padding: 0;
}

.main-footer--solo.yatriwala-footer .wpb-content-wrapper,
.main-footer--solo.yatriwala-footer .vc_row {
    width: auto !important;
    max-width: none !important;
    left: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.main-footer--solo.yatriwala-footer .bc_footer-solo {
    padding: 62px 0 0;
    background: transparent !important;
}

.main-footer--solo.yatriwala-footer ul {
    padding-left: 0;
    list-style: none;
}

@media (max-width: 1199px) {
    .bc_wrap .bc_header.yatriwala-header .header-left,
    #header.yatriwala-header .header-left {
        gap: 22px;
    }

    .bc_wrap .bc_header.yatriwala-header .bc-menu ul li a,
    #header.yatriwala-header #bc_main-menu ul li a {
        padding: 10px 11px;
        font-size: 13px;
    }
}

@media (max-width: 991px) {
    .bc_wrap .bc_topbar {
        display: none;
    }

    .bc_wrap .bc_header.yatriwala-header .content,
    #header.yatriwala-header .header-sticky-menu {
        min-height: 72px;
    }

    .bc_wrap .bc_header.yatriwala-header .bc-menu,
    #header.yatriwala-header #bc_main-menu {
        display: none !important;
    }

    .bc_wrap .bc_header.yatriwala-header .bc-more-menu,
    #header.yatriwala-header .toggle-menu,
    #header.yatriwala-header .toggle-menu--user {
        display: inline-flex;
    }

    .yatriwala-header-actions .topbar-items,
    .yatriwala-header-actions .bc_list {
        display: none;
    }

    .page-template-content .bc-section {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .page-template-content .bc-form-search-all {
        min-height: 610px;
        border-radius: 0 0 30px 30px;
    }

    .page-template-content .bc-form-search-all .text-heading {
        max-width: 620px;
        font-size: 44px;
    }

    .page-template-content .bc-form-search-all .sub-heading {
        font-size: 16px;
    }

    .page-template-content .bc_form {
        flex-direction: column;
    }

    .page-template-content .bc_form .g-field-search > .row {
        min-height: 0;
    }

    .page-template-content .bc_form .g-field-search [class*="col-"] {
        min-height: 76px;
        border-right: 0 !important;
        border-bottom: 1px solid var(--yw-border);
    }

    .page-template-content .bc_form .g-button-submit {
        padding: 12px;
    }

    .page-template-content .bc_form .btn-search {
        width: 100%;
        min-height: 58px;
    }

    .bc_detail_tour .g-tour-feature,
    .bc_detail_tour .g-tour-feature > .row,
    .bc_detail_space .g-space-feature,
    .bc_detail_hotel .g-attributes,
    .bc_detail_car .g-attributes,
    .bc_detail_event .g-attributes,
    .bc_detail_boat .g-attributes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bc_detail_tour .col-lg-3 {
        position: static;
        top: auto;
        margin-top: 26px;
    }

    .page-template-content .bc-list-tour > .container > .title,
    .page-template-content .bc-list-hotel .title,
    .page-template-content .bc-list-locations .title,
    .page-template-content .bc-list-space .title,
    .page-template-content .bc-list-car .title,
    .page-template-content .bc-list-event .title,
    .page-template-content .bc-list-news .title {
        font-size: 34px;
    }
}

@media (max-width: 767px) {
    html,
    body,
    body.frontend-page,
    .frontend-page,
    .bc_wrap,
    .bc_detail_tour,
    .page-template-content {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    body.frontend-page .container {
        max-width: 100%;
        padding-left: 18px;
        padding-right: 18px;
    }

    .bc_search_tour .bc_banner,
    .bc_search_hotel .bc_banner,
    .bc_search_flight .bc_banner,
    .bc_search_visa .bc_banner {
        min-height: 230px;
        border-radius: 0 0 26px 26px;
        align-items: flex-end;
        padding-bottom: 72px;
    }

    .bc_search_tour .bc_banner .container,
    .bc_search_tour .bc_form_search .container,
    .bc_search_tour > .container,
    .bc_search_hotel .bc_banner .container,
    .bc_search_hotel .bc_form_search .container,
    .bc_search_hotel > .container,
    .bc_search_flight .bc_banner .container,
    .bc_search_flight .bc_form_search .container,
    .bc_search_flight > .container,
    .bc_search_visa .bc_banner .container,
    .bc_search_visa .bc_form_search .container,
    .bc_search_visa > .container {
        width: 100%;
        max-width: 100%;
        padding-left: 16px;
        padding-right: 16px;
    }

    .bc_search_tour .bc_banner h1,
    .bc_search_hotel .bc_banner h1,
    .bc_search_flight .bc_banner h1,
    .bc_search_visa .bc_banner h1 {
        font-size: 30px;
        line-height: 1.12;
        max-width: 100%;
        overflow-wrap: break-word;
    }

    .yw-package-search-hero {
        gap: 10px;
    }

    .yw-package-search-hero span {
        min-height: 30px;
        font-size: 11px;
    }

    .yw-package-search-hero p {
        font-size: 14px;
        line-height: 1.55;
        max-width: 100%;
        overflow-wrap: break-word;
    }

    .yw-package-hero-chips {
        flex-wrap: nowrap;
        overflow-x: auto;
        max-width: calc(100vw - 32px);
        margin: 0 -16px;
        padding: 0 16px 2px;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .yw-package-hero-chips::-webkit-scrollbar {
        display: none;
    }

    .yw-package-hero-chips em {
        flex: 0 0 auto;
        min-height: 38px;
        max-width: 82vw;
        font-size: 12px;
        white-space: nowrap;
        scroll-snap-align: start;
    }

    .bc_search_tour .bc_form_search,
    .bc_search_hotel .bc_form_search,
    .bc_search_flight .bc_form_search,
    .bc_search_visa .bc_form_search {
        margin-top: -56px;
    }

    .bc_search_tour .bc_form_search .row,
    .bc_search_hotel .bc_form_search .row,
    .bc_search_flight .bc_form_search .row,
    .bc_search_visa .bc_form_search .row {
        margin-left: 0;
        margin-right: 0;
    }

    .bc_search_tour .bc_form_search .col-12,
    .bc_search_hotel .bc_form_search [class*="col-"],
    .bc_search_flight .bc_form_search [class*="col-"],
    .bc_search_visa .bc_form_search .col-12 {
        padding-left: 0;
        padding-right: 0;
    }

    .bc_search_tour .bc_form_search .container > .row > .col-12,
    .bc_search_hotel .bc_form_search .container > .row > [class*="col-"],
    .bc_search_flight .bc_form_search .container > .row > [class*="col-"],
    .bc_search_visa .bc_form_search .container > .row > .col-12 {
        max-width: 100%;
        overflow: hidden;
        border-radius: 22px;
    }

    .bc_search_tour .bc_form,
    .bc_search_hotel .bc_form,
    .bc_search_flight .bc_form,
    .bc_search_visa .bc_form {
        flex-direction: column;
        max-width: 100%;
    }

    .bc_search_tour .yw-search-service-tabs,
    .yw-service-search-page .yw-search-service-tabs {
        grid-template-columns: repeat(5, 60px);
        gap: 6px;
        padding: 12px 10px 6px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .bc_search_tour .yw-search-service-tabs::-webkit-scrollbar,
    .yw-service-search-page .yw-search-service-tabs::-webkit-scrollbar {
        display: none;
    }

    .bc_search_tour .yw-search-service-tabs a,
    .yw-service-search-page .yw-search-service-tabs a {
        min-height: 62px;
        border-radius: 16px;
        flex-direction: column;
        gap: 6px;
        scroll-snap-align: start;
        font-size: 11px;
        line-height: 1;
    }

    .bc_search_tour .yw-search-service-tabs a i,
    .yw-service-search-page .yw-search-service-tabs a i {
        font-size: 22px;
    }

    .bc_search_tour .bc_form .g-field-search,
    .bc_search_hotel .bc_form .g-field-search,
    .bc_search_flight .bc_form .g-field-search,
    .bc_search_visa .bc_form .g-field-search {
        width: 100%;
    }

    .bc_search_tour .bc_form .g-field-search > .row,
    .bc_search_hotel .bc_form .g-field-search > .row,
    .bc_search_flight .bc_form .g-field-search > .row,
    .bc_search_visa .bc_form .g-field-search > .row {
        display: block;
        width: 100%;
        min-height: 0;
        margin-left: 0;
        margin-right: 0;
    }

    .bc_search_tour .bc_form .g-field-search [class*="col-"],
    .bc_search_hotel .bc_form .g-field-search [class*="col-"],
    .bc_search_flight .bc_form .g-field-search [class*="col-"],
    .bc_search_visa .bc_form .g-field-search [class*="col-"] {
        width: 100%;
        max-width: 100%;
        min-height: 68px;
        padding: 12px 16px;
        border-right: 0 !important;
        border-bottom: 1px solid var(--yw-border);
        flex: 0 0 100%;
    }

    .bc_search_tour .bc_form .render,
    .bc_search_tour .bc_form .dropdown,
    .bc_search_tour .bc_form .form-control,
    .bc_search_tour .bc_form .smart-search,
    .bc_search_tour .bc_form .input-search,
    .bc_search_tour .bc_form .date-wrapper,
    .bc_search_tour .bc_form .field-icon,
    .bc_search_hotel .bc_form .render,
    .bc_search_hotel .bc_form .dropdown,
    .bc_search_hotel .bc_form .form-control,
    .bc_search_hotel .bc_form .smart-search,
    .bc_search_hotel .bc_form .input-search,
    .bc_search_hotel .bc_form .date-wrapper,
    .bc_search_hotel .bc_form .field-icon,
    .bc_search_flight .bc_form .render,
    .bc_search_flight .bc_form .dropdown,
    .bc_search_flight .bc_form .form-control,
    .bc_search_flight .bc_form .smart-search,
    .bc_search_flight .bc_form .input-search,
    .bc_search_flight .bc_form .date-wrapper,
    .bc_search_flight .bc_form .field-icon,
    .bc_search_visa .bc_form .render,
    .bc_search_visa .bc_form .dropdown,
    .bc_search_visa .bc_form .form-control,
    .bc_search_visa .bc_form .smart-search,
    .bc_search_visa .bc_form .input-search,
    .bc_search_visa .bc_form .date-wrapper,
    .bc_search_visa .bc_form .field-icon {
        max-width: 100%;
    }

    .bc_search_tour .bc_form .g-button-submit,
    .bc_search_hotel .bc_form .g-button-submit,
    .bc_search_flight .bc_form .g-button-submit,
    .bc_search_visa .bc_form .g-button-submit {
        width: 100%;
        padding: 10px 16px 14px;
    }

    .bc_search_tour .bc_form .btn-search,
    .bc_search_hotel .bc_form .btn-search,
    .bc_search_flight .bc_form .btn-search,
    .bc_search_visa .bc_form .btn-search {
        width: 100%;
        min-width: 0;
        min-height: 52px;
        border-radius: 14px;
    }

    .bc_search_hotel .bc_banner,
    .bc_search_flight .bc_banner,
    .bc_search_visa .bc_banner {
        min-height: 188px;
        padding-bottom: 54px;
    }

    .bc_search_hotel .bc_form_search,
    .bc_search_flight .bc_form_search,
    .bc_search_visa .bc_form_search {
        margin-top: -42px;
    }

    .bc_search_hotel .yw-search-service-tabs,
    .bc_search_flight .yw-search-service-tabs,
    .bc_search_visa .yw-search-service-tabs {
        padding-top: 10px;
        padding-bottom: 5px;
    }

    .bc_search_hotel .yw-search-service-tabs a,
    .bc_search_flight .yw-search-service-tabs a,
    .bc_search_visa .yw-search-service-tabs a {
        min-height: 54px;
    }

    .bc_search_hotel .bc_form .g-field-search [class*="col-"],
    .bc_search_flight .bc_form .g-field-search [class*="col-"],
    .bc_search_visa .bc_form .g-field-search [class*="col-"] {
        min-height: 58px;
        padding-top: 9px;
        padding-bottom: 9px;
    }

    .bc_search_hotel .bc_form .btn-search,
    .bc_search_flight .bc_form .btn-search,
    .bc_search_visa .bc_form .btn-search {
        min-height: 48px;
    }

    .bc_search_hotel .bc_banner,
    .bc_search_flight .bc_banner,
    .bc_search_visa .bc_banner {
        overflow: hidden;
    }

    .bc_search_hotel .yw-package-search-hero,
    .bc_search_flight .yw-package-search-hero,
    .bc_search_visa .yw-package-search-hero {
        max-width: calc(100vw - 32px);
    }

    .bc_search_hotel .yw-package-search-hero p,
    .bc_search_flight .yw-package-search-hero p,
    .bc_search_visa .yw-package-search-hero p {
        display: -webkit-box;
        max-width: 100%;
        overflow: hidden;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        font-size: 13px;
        line-height: 1.45;
    }

    .bc_search_hotel .yw-search-service-tabs,
    .bc_search_flight .yw-search-service-tabs,
    .bc_search_visa .yw-search-service-tabs {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .bc_search_hotel .yw-search-service-tabs::-webkit-scrollbar,
    .bc_search_flight .yw-search-service-tabs::-webkit-scrollbar,
    .bc_search_visa .yw-search-service-tabs::-webkit-scrollbar {
        display: none;
    }

    .search-result-page .bc-list-item .topbar-search,
    .yw-package-search-page .bc-list-item .topbar-search {
        position: sticky;
        top: 0;
        z-index: 11;
        margin: 0 -2px 18px;
        border-radius: 18px;
        padding: 13px;
    }

    .search-result-page .bc-list-item .topbar-search,
    .search-result-page .bc-list-item .topbar-search .control,
    .yw-package-search-page .bc-list-item .topbar-search,
    .yw-package-search-page .bc-list-item .topbar-search .control {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

    .yw-package-results-title span {
        font-size: 10px;
    }

    .yw-package-results-title .result-count {
        font-size: 17px !important;
        line-height: 1.15;
    }

    .yw-package-commerce-bar {
        position: sticky;
        top: 78px;
        z-index: 10;
        margin: -7px -10px 14px;
        padding: 0 10px 10px;
        background: linear-gradient(180deg, rgba(245, 248, 255, .98), rgba(245, 248, 255, 0));
    }

    .yw-package-commerce-bar a {
        min-height: 42px;
        padding: 0 13px;
        font-size: 12px;
        box-shadow: 0 8px 18px rgba(6, 31, 103, .07);
    }

    .yw-filter-toggle {
        min-height: 42px;
        border: 1px solid var(--yw-border);
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 0 13px;
        color: var(--yw-forest);
        background: #fff;
        font-size: 13px;
        font-weight: 950;
    }

    .yw-package-search-page .bc-form-order .item.orderby,
    .search-result-page .bc-form-order .item.orderby {
        min-height: 42px;
        border: 1px solid var(--yw-border);
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 0 12px;
        color: var(--yw-forest);
        background: #fff;
        font-size: 13px;
        font-weight: 950;
        white-space: nowrap;
    }

    .yw-package-search-page .bc-form-order .item.orderby .item-title,
    .search-result-page .bc-form-order .item.orderby .item-title {
        font-size: 0;
    }

    .yw-package-search-page .bc-form-order .item.orderby .item-title:before,
    .search-result-page .bc-form-order .item.orderby .item-title:before {
        content: "Sort";
        font-size: 13px;
    }

    .yw-package-search-page .bc-form-order .item.orderby .dropdown-toggle,
    .search-result-page .bc-form-order .item.orderby .dropdown-toggle {
        color: var(--yw-ink);
        font-size: 12px;
        font-weight: 950;
    }

    .yw-package-filter-backdrop {
        position: fixed;
        inset: 0;
        z-index: 2000;
        display: block;
        visibility: hidden;
        opacity: 0;
        background: rgba(6, 31, 103, .44);
        transition: opacity .2s ease, visibility .2s ease;
    }

    .yw-package-filter-panel {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 2001;
        max-height: min(88vh, 760px);
        border-radius: 30px 30px 0 0;
        overflow-y: auto;
        padding: 14px 18px calc(20px + env(safe-area-inset-bottom));
        background:
            linear-gradient(180deg, #fff 0%, #fff 58%, var(--yw-cloud) 100%);
        box-shadow: 0 -28px 80px rgba(6, 31, 103, .28);
        transform: translateY(105%);
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transition: transform .24s ease, opacity .2s ease, visibility .2s ease;
        -webkit-overflow-scrolling: touch;
    }

    .yw-package-filter-panel .bc_filter {
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .yw-package-filter-panel__head {
        position: sticky;
        top: -14px;
        z-index: 5;
        min-height: 54px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: -14px -16px 14px;
        padding: 12px 16px;
        background: rgba(255,255,255,.95);
        border-bottom: 1px solid var(--yw-border);
        backdrop-filter: blur(12px);
    }

    .yw-package-filter-panel__head:before {
        content: "";
        position: absolute;
        left: 50%;
        top: 7px;
        width: 48px;
        height: 5px;
        border-radius: 999px;
        transform: translateX(-50%);
        background: rgba(6, 31, 103, .18);
    }

    .yw-package-filter-panel__head strong {
        color: var(--yw-ink);
        font-size: 18px;
        font-weight: 950;
    }

    .yw-package-filter-panel__head button {
        width: 42px;
        height: 42px;
        border: 1px solid var(--yw-border);
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: var(--yw-ink);
        background: #fff;
    }

    body.yw-filters-open .yw-package-filter-backdrop {
        visibility: visible;
        opacity: 1;
    }

    body.yw-filters-open .yw-package-filter-panel {
        transform: translateY(0);
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }

    body.yw-filters-open {
        overflow: hidden;
    }

    .yw-package-filter-panel .bc_form_filter {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .yw-package-filter-panel .g-filter-item {
        margin-bottom: 12px !important;
        border: 1px solid var(--yw-border) !important;
        border-radius: 20px !important;
        overflow: hidden;
        background: rgba(255, 255, 255, .92);
        box-shadow: 0 14px 30px rgba(6, 31, 103, .06);
    }

    .yw-package-filter-panel .g-filter-item .item-title {
        min-height: 50px;
        padding: 0 14px !important;
        border: 0 !important;
        background: transparent !important;
    }

    .yw-package-filter-panel .g-filter-item .item-content {
        padding: 0 14px 14px !important;
        border: 0 !important;
    }

    .yw-filter-title {
        margin-bottom: 12px;
    }

    .yw-filter-quick {
        margin-bottom: 12px;
        border-radius: 22px;
    }

    .yw-filter-quick-row {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: none;
    }

    .yw-filter-quick-row::-webkit-scrollbar {
        display: none;
    }

    .yw-filter-budget-chip {
        flex: 0 0 auto;
        min-height: 46px;
        padding: 0 18px;
    }

    .yw-filter-chip-list,
    .yw-filter-services {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .yw-filter-chip span,
    .yw-filter-service span {
        min-height: 48px;
        justify-content: center;
        padding: 0 12px;
    }

    .yw-filter-sheet-actions {
        position: sticky;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 6;
        display: grid;
        grid-template-columns: .85fr 1.15fr;
        gap: 10px;
        margin: 18px -2px 0;
        padding: 12px 0 calc(14px + env(safe-area-inset-bottom));
        background: linear-gradient(180deg, rgba(255,255,255,0), #fff 24%);
    }

    .yw-filter-reset,
    .yw-filter-apply {
        min-height: 54px;
        border-radius: 18px;
        font-weight: 950;
    }

    .yw-filter-reset {
        border: 1px solid var(--yw-border);
        color: var(--yw-forest);
        background: #fff;
    }

    .yw-filter-apply {
        border: 0;
        color: #fff;
        background: linear-gradient(135deg, var(--yw-coral), var(--yw-sun));
        box-shadow: 0 16px 30px rgba(255, 100, 24, .26);
    }

    .yw-empty-state {
        grid-template-columns: 1fr;
        gap: 12px;
        margin: 0 0 10px;
        border-radius: 24px;
        padding: 18px;
        text-align: left;
    }

    .yw-empty-state__icon {
        width: 58px;
        height: 58px;
        border-radius: 20px;
    }

    .yw-empty-state__copy strong {
        font-size: 23px;
    }

    .yw-empty-state__chips,
    .yw-empty-state__actions {
        grid-column: auto;
    }

    .yw-empty-state__chips {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 2px;
        scrollbar-width: none;
    }

    .yw-empty-state__chips::-webkit-scrollbar {
        display: none;
    }

    .yw-empty-state__chips span {
        flex: 0 0 auto;
    }

    .yw-empty-state__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .yw-empty-state__actions a {
        min-width: 0;
        padding: 0 10px;
        font-size: 12px;
        text-align: center;
    }

    .bc_wrap .bc_header.yatriwala-header .content,
    #header.yatriwala-header .header-sticky-menu {
        gap: 10px;
        min-height: 64px;
        padding-left: 14px;
        padding-right: 14px;
    }

    .bc_wrap .bc_header.yatriwala-header .header-left,
    #header.yatriwala-header .header-left {
        width: 100%;
        justify-content: space-between;
        gap: 10px;
    }

    .yatriwala-brand {
        min-width: 0;
        gap: 9px;
    }

    .yatriwala-brand-logo {
        width: min(158px, 42vw);
        height: 44px;
    }

    .yatriwala-brand-mark {
        width: 40px;
        height: 40px;
        border-radius: 14px;
        font-size: 20px;
    }

    .yatriwala-brand-name {
        font-size: 19px;
        max-width: 190px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .yatriwala-brand-line {
        display: none;
    }

    .yatriwala-cta {
        min-height: 40px;
        padding: 0 13px;
        font-size: 13px;
    }

    .page-template-content .bc-form-search-all {
        min-height: auto;
        align-items: stretch;
        padding: 72px 0 30px;
        border-radius: 0 0 24px 24px;
        background-size: cover;
        background-position: center;
    }

    .page-template-content .bc-form-search-all:before {
        background:
            linear-gradient(180deg, rgba(6, 31, 103, 0.26) 0%, rgba(6, 31, 103, 0.76) 68%, rgba(6, 31, 103, 0.9) 100%);
    }

    .page-template-content .bc-form-search-all .text-heading {
        font-size: 34px;
        line-height: 1.12;
        margin-bottom: 14px;
        max-width: min(100%, 320px);
    }

    .page-template-content .bc-form-search-all .sub-heading {
        margin-bottom: 24px;
        font-size: 15px;
        line-height: 1.6;
    }

    .page-template-content .bc-form-search-all .g-form-control {
        width: calc(100vw - 28px);
        max-width: calc(100vw - 28px);
        margin-left: auto;
        margin-right: auto;
        border-radius: 24px;
        overflow: hidden;
        box-shadow: 0 18px 44px rgba(6, 31, 103, 0.16);
    }

    .page-template-content .bc-form-search-all .g-form-control .nav-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 10px;
        max-width: 100%;
        -webkit-overflow-scrolling: touch;
    }

    .page-template-content .bc-form-search-all .g-form-control .nav-tabs a {
        white-space: nowrap;
        min-height: 38px;
        padding: 0 13px;
        font-size: 13px;
    }

    .page-template-content .bc_form .g-field-search [class*="col-"] {
        min-height: 68px;
        padding: 14px 16px;
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    .page-template-content .bc_form .g-field-search > .row {
        display: block;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    .page-template-content .bc_form .render,
    .page-template-content .bc_form .dropdown,
    .page-template-content .bc_form .form-control,
    .page-template-content .bc_form .smart-search,
    .page-template-content .bc_form .input-search,
    .page-template-content .bc_form .date-wrapper,
    .page-template-content .bc_form .field-icon {
        max-width: 100%;
    }

    .page-template-content .bc_form .g-button-submit {
        width: 100%;
        padding: 14px 16px 18px;
    }

    .page-template-content .bc_form .btn-search {
        width: 100%;
        min-height: 56px;
        border-radius: 12px;
    }

    .page-template-content .bc-list-hotel .list-item,
    .page-template-content .bc-list-space .list-item,
    .page-template-content .bc-list-car .list-item,
    .page-template-content .bc-list-tour .list-item,
    .page-template-content .bc-list-event .list-item,
    .page-template-content .bc-list-locations .list-item,
    .page-template-content .bc-list-news .list-item {
        margin-left: 0;
        margin-right: 0;
    }

    .page-template-content .item-loop,
    .page-template-content .item-loop-wrap,
    .page-template-content .bc-list-tour .item,
    .page-template-content .destination-item {
        max-width: 100%;
        border-radius: 18px;
        overflow: hidden;
    }

    .yw-package-includes {
        grid-template-columns: repeat(5, minmax(58px, 1fr));
        overflow-x: auto;
        padding-bottom: 12px;
        scrollbar-width: none;
    }

    .yw-package-includes::-webkit-scrollbar {
        display: none;
    }

    .page-template-content .bc-list-tour .list-item > .row {
        display: flex;
        flex-wrap: nowrap;
        gap: 16px;
        margin-left: -18px;
        margin-right: -18px;
        padding: 0 18px 14px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .page-template-content .bc-list-tour .list-item > .row::-webkit-scrollbar {
        display: none;
    }

    .page-template-content .bc-list-tour .list-item > .row > [class*="col-"] {
        flex: 0 0 min(88vw, 370px);
        max-width: min(88vw, 370px);
        padding-left: 0;
        padding-right: 0;
        scroll-snap-align: start;
    }

    .search-result-page .bc-list-item .list-item > .row,
    .yw-package-search-page .bc-list-item .list-item > .row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: flex-start;
        gap: 18px;
        margin-left: 0;
        margin-right: 0;
        padding: 0 0 118px;
        overflow: visible;
        scroll-snap-type: none;
    }

    .search-result-page .bc-list-item .list-item > .row::-webkit-scrollbar,
    .yw-package-search-page .bc-list-item .list-item > .row::-webkit-scrollbar {
        display: none;
    }

    .search-result-page .bc-list-item .list-item > .row > [class*="col-"],
    .yw-package-search-page .bc-list-item .list-item > .row > [class*="col-"] {
        width: 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
        scroll-snap-align: none;
    }

    .search-result-page .bc-list-item .list-item .yw-tour-card,
    .yw-package-search-page .bc-list-item .list-item .yw-tour-card {
        width: 100%;
        max-width: 100%;
        margin-right: 0;
        border-radius: 24px !important;
    }

    .search-result-page .bc-list-item .list-item .yw-tour-card .thumb-image,
    .yw-package-search-page .bc-list-item .list-item .yw-tour-card .thumb-image {
        aspect-ratio: 1.15;
    }

    .yw-service-search-page .yw-service-list-shell {
        padding: 18px 0 108px;
    }

    .yw-service-search-page .yw-service-list-shell > .row {
        margin-left: 0;
        margin-right: 0;
    }

    .yw-service-search-page .yw-service-list-shell > .row > [class*="col-"] {
        padding-left: 0;
        padding-right: 0;
    }

    .yw-service-search-page .ajax-search-result .list-item > .row,
    .yw-service-search-page .bc-list-item > .list-item > .row {
        display: flex;
        flex-wrap: nowrap;
        gap: 14px;
        width: auto;
        margin-left: -16px;
        margin-right: -16px;
        padding: 0 16px 16px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .yw-service-search-page .ajax-search-result .list-item > .row::-webkit-scrollbar,
    .yw-service-search-page .bc-list-item > .list-item > .row::-webkit-scrollbar {
        display: none;
    }

    .yw-service-search-page .ajax-search-result .list-item > .row > [class*="col-"],
    .yw-service-search-page .bc-list-item > .list-item > .row > [class*="col-"] {
        flex: 0 0 min(86vw, 350px);
        max-width: min(86vw, 350px);
        padding-left: 0;
        padding-right: 0;
        scroll-snap-align: start;
    }

    .yw-service-search-page .item-hotel,
    .yw-service-search-page .item-tour,
    .yw-service-search-page .card.item-loop-wrap {
        width: 100%;
        margin-bottom: 0 !important;
        border-radius: 24px !important;
        box-shadow: 0 18px 42px rgba(6, 31, 103, .12);
        transform: none !important;
    }

    .yw-service-search-page .item-hotel .thumb-image,
    .yw-service-search-page .item-tour .thumb-image {
        aspect-ratio: 1.18;
    }

    .yw-service-search-page .item-hotel .item-title,
    .yw-service-search-page .item-tour .item-title {
        padding: 13px 18px 8px !important;
    }

    .yw-service-search-page .item-hotel .item-title a,
    .yw-service-search-page .item-tour .item-title a {
        font-size: 20px;
        line-height: 1.18;
    }

    .yw-service-search-page .card.item-loop-wrap > a {
        margin: 0 !important;
        padding: 12px 14px 0 !important;
    }

    .yw-service-search-page .card.item-loop-wrap .card-img-top {
        max-height: 150px;
        padding: 22px 16px 8px;
    }

    .yw-service-search-page .card.item-loop-wrap .card-body {
        padding: 14px 16px 16px !important;
    }

    .yw-service-search-page .card.item-loop-wrap .card-title {
        font-size: 20px !important;
        line-height: 1.18;
    }

    .yw-service-search-page .card.item-loop-wrap .border-bottom {
        margin-left: 16px !important;
        margin-right: 16px !important;
    }

    .yw-service-search-page .bc-pagination {
        padding-bottom: 120px;
    }

    .page-template-content .bc-list-tour .owl-carousel .owl-stage {
        display: flex;
    }

    .page-template-content .bc-list-tour .owl-carousel .owl-item {
        display: flex;
        height: auto;
    }

    .page-template-content .bc-list-tour .owl-carousel .owl-item .yw-tour-card {
        width: 100%;
    }

    .yw-tour-card,
    .page-template-content .yw-tour-card,
    .search-result-page .yw-tour-card {
        border-radius: 24px !important;
        box-shadow: 0 16px 40px rgba(6, 31, 103, .1);
    }

    .yw-tour-card:hover {
        transform: none;
    }

    .yw-tour-card__activity,
    .yw-tour-card__topline {
        min-height: 58px;
        padding: 12px 14px;
    }

    .yw-tour-card__activity strong {
        font-size: 13px;
    }

    .yw-tour-card__activity small {
        max-width: 96px;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .page-template-content .yw-tour-card .thumb-image,
    .search-result-page .yw-tour-card .thumb-image,
    .yw-tour-card .thumb-image,
    .yw-tour-card .header-thumb {
        aspect-ratio: 1.34;
    }

    .yw-tour-card__chips {
        top: 12px;
        left: 12px;
        right: 104px;
        gap: 7px;
    }

    .yw-tour-card__quick-actions {
        right: 12px;
        bottom: 60px;
        grid-template-columns: repeat(2, 1fr);
        gap: 7px;
    }

    .yw-tour-card__quick-actions button {
        width: 38px;
        height: 38px;
        border-radius: 14px;
        font-size: 13px;
    }

    .yw-tour-card__chips span,
    .yw-tour-card__chips b {
        min-height: 30px;
        padding: 0 10px;
        font-size: 11px;
    }

    .page-template-content .yw-tour-card .location,
    .search-result-page .yw-tour-card .location,
    .yw-tour-card .location {
        padding: 13px 18px 0 !important;
        font-size: 12px;
    }

    .page-template-content .yw-tour-card .item-title,
    .search-result-page .yw-tour-card .item-title,
    .yw-tour-card .item-title,
    .yw-tour-card .title-address {
        padding: 10px 18px 8px !important;
    }

    .page-template-content .yw-tour-card .item-title a,
    .search-result-page .yw-tour-card .item-title a,
    .yw-tour-card .item-title a,
    .yw-tour-card .title-address .title a {
        font-size: clamp(18px, 5vw, 22px);
        line-height: 1.18;
    }

    .yw-package-includes {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 6px;
        padding: 0 18px 11px;
        overflow-x: visible;
    }

    .yw-package-includes span {
        min-height: 48px;
        padding: 6px 3px;
        font-size: 8.5px;
    }

    .yw-tour-card__value-strip {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 0 18px 9px;
        scrollbar-width: none;
    }

    .yw-tour-card__value-strip::-webkit-scrollbar {
        display: none;
    }

    .yw-tour-card__value-strip span {
        flex: 0 0 auto;
        min-height: 31px;
        padding: 0 11px;
        font-size: 11px;
    }

    .yw-tour-card__mobile-summary {
        display: block;
        margin: 0 18px 10px;
        color: var(--yw-muted);
        font-size: 12px;
        line-height: 1.3;
        font-weight: 850;
    }

    .yw-tour-card__departure {
        display: none;
    }

    .page-template-content .yw-tour-card .info,
    .search-result-page .yw-tour-card .info,
    .yw-tour-card .info,
    .yw-tour-card .caption {
        flex: 0 0 auto;
        padding: 11px 18px 14px !important;
        gap: 9px;
    }

    .yw-tour-card__highlights span {
        min-height: 32px;
        font-size: 12px;
    }

    .yw-tour-card__highlights {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 2px;
        scrollbar-width: none;
    }

    .yw-tour-card__highlights::-webkit-scrollbar {
        display: none;
    }

    .yw-tour-card__highlights span {
        flex: 0 0 auto;
    }

    .yw-tour-card .g-price .text-price {
        font-size: 22px !important;
    }

    .yw-tour-card__details {
        display: none;
    }

    .yw-tour-card__mobile-actions {
        min-height: 58px;
        border: 1px solid rgba(6, 58, 168, .14);
        border-radius: 20px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(68px, auto) minmax(54px, auto);
        align-items: center;
        gap: 6px;
        margin: 2px 0 -4px;
        padding: 7px;
        background: rgba(255, 255, 255, .98);
        box-shadow: 0 12px 30px rgba(6, 31, 103, .12);
    }

    .yw-tour-card__secondary-actions {
        display: none;
    }

    .yw-tour-card__enquire,
    .yw-tour-card__book {
        min-height: 40px;
        padding: 0 10px;
        font-size: 11.5px;
    }

    .page-template-content .col-item,
    .page-template-content [class*="col-"] {
        min-width: 0;
    }

    .page-template-content .bc-section {
        padding-top: 44px;
        padding-bottom: 44px;
    }

    .page-template-content .bc-list-tour > .container > .title,
    .page-template-content .bc-list-hotel .title,
    .page-template-content .bc-list-locations .title,
    .page-template-content .bc-list-space .title,
    .page-template-content .bc-list-car .title,
    .page-template-content .bc-list-event .title,
    .page-template-content .bc-list-news .title {
        font-size: 28px;
        text-align: left;
    }

    .page-template-content .bc-list-tour .sub-title,
    .page-template-content .bc-list-hotel .sub-title,
    .page-template-content .bc-list-locations .sub-title,
    .page-template-content .bc-list-space .sub-title,
    .page-template-content .bc-list-car .sub-title,
    .page-template-content .bc-list-event .sub-title,
    .page-template-content .bc-list-news .sub-title {
        text-align: left;
        margin-bottom: 26px;
    }

    .page-template-content .destination-item .image {
        min-height: 260px;
    }

    .yw-tour-detail-hero {
        padding: 34px 0 40px;
    }

    .yw-tour-detail-hero h1 {
        font-size: 30px;
        line-height: 1.12;
    }

    .yw-tour-detail-hero__meta span {
        min-height: 34px;
        font-size: 12px;
    }

    .bc_detail_tour .bc_banner {
        min-height: 220px;
        width: calc(100% - 24px);
        margin-top: -18px;
        border-width: 6px;
        border-radius: 22px;
    }

    .bc_detail_tour .bc_banner .container {
        min-height: 208px;
    }

    .bc_detail_tour .bc_content {
        padding-top: 26px;
        padding-bottom: 176px;
    }

    .blog-breadcrumb,
    .bc_breadcrumb,
    .breadcrumbs-solo {
        display: none !important;
    }

    body {
        padding-bottom: calc(164px + env(safe-area-inset-bottom));
    }

    .bc_detail_tour {
        padding-bottom: calc(164px + env(safe-area-inset-bottom));
        background: #f5f8ff;
    }

    .bc_detail_tour .yw-tour-detail-hero,
    .bc_detail_tour .bc_banner,
    .bc_detail_tour .bc-more-book-mobile,
    .bc_detail_tour .yw-mobile-book-bar {
        display: none !important;
    }

    .yw-tour-app-detail {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow: hidden;
        padding-top: 8px;
    }

    .bc_detail_tour .bc_content {
        height: 0;
        overflow: visible;
        margin: 0;
        padding: 0 !important;
    }

    .bc_detail_tour .bc_content > .container {
        height: 0;
        min-height: 0;
        overflow: visible;
        padding-left: 0;
        padding-right: 0;
    }

    .bc_detail_tour .bc_content .col-md-12.col-lg-9,
    .bc_detail_tour .bc_content .row.end_tour_sticky,
    .bc_detail_tour .bc_content .col-lg-3 > .owner-info,
    .bc_detail_tour .bc_content .col-lg-3 > .widget-box {
        display: none !important;
    }

    .bc_detail_tour .bc_content .col-md-12.col-lg-3 {
        position: static;
        width: 0;
        max-width: 0;
        height: 0;
        min-height: 0;
        flex: 0 0 auto;
        padding: 0 !important;
    }

    .bc_detail_tour .bc_single_book_wrap.show {
        position: fixed !important;
        display: flex !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        bottom: 0;
        z-index: 3050;
        align-items: flex-end;
        padding: 16px 12px calc(16px + env(safe-area-inset-bottom)) !important;
        background: rgba(6, 31, 103, .44);
        backdrop-filter: blur(8px);
    }

    .bc_detail_tour .bc_single_book_wrap.show .bc_single_book {
        max-height: calc(100vh - 42px);
        overflow: auto;
        border: 0;
        border-radius: 24px 24px 0 0;
        box-shadow: 0 22px 56px rgba(6, 31, 103, .28);
    }

    .bc_detail_tour .bc_single_book_wrap.show .bc_single_book:before {
        content: "";
        display: block;
        width: 44px;
        height: 4px;
        margin: 10px auto 0;
        border-radius: 999px;
        background: rgba(6, 58, 168, .24);
    }

    .yw-app-hero-card {
        min-height: 360px;
        margin-left: 10px;
        margin-right: 10px;
    }

    .yw-app-hero-card__body {
        padding: 16px;
    }

    .yw-app-hero-card__body h1 {
        font-size: 29px;
    }

    .yw-app-price-strip,
    .yw-app-service-rail,
    .yw-app-tools,
    .yw-app-checkout-strip,
    .yw-app-snapshot,
    .yw-app-card,
    .yw-app-expert {
        margin-left: 10px;
        margin-right: 10px;
    }

    .yw-app-price-strip {
        display: none;
    }

    .yw-app-price-strip a {
        width: 44px;
    }

    .yw-app-price-strip button,
    .yw-app-book-bar a,
    .yw-app-book-bar button {
        padding-left: 12px;
        padding-right: 12px;
    }

    .yw-app-book-bar {
        left: 10px;
        right: auto;
        box-sizing: border-box;
        width: calc(100vw - 20px);
        max-width: none;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(86px, auto) minmax(72px, auto);
        align-items: center;
        gap: 7px;
        min-height: 62px;
        padding: 8px;
        border-radius: 21px;
        overflow: hidden;
    }

    .yw-app-book-bar > div {
        min-width: 0;
        overflow: hidden;
    }

    .yw-app-book-bar strong {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .yw-app-book-bar p {
        display: none;
    }

    .yw-core-bottom-nav {
        position: fixed;
        left: 0;
        right: 0;
        width: 100vw;
        max-width: 100vw;
        box-sizing: border-box;
        bottom: 0;
        z-index: 1035;
        min-height: calc(78px + env(safe-area-inset-bottom));
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        align-items: start;
        gap: 0;
        padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
        border-top: 1px solid rgba(6, 58, 168, .14);
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 -16px 42px rgba(6, 31, 103, .12);
        backdrop-filter: blur(18px);
    }

    .yw-core-bottom-nav a {
        min-width: 0;
        min-height: 58px;
        border-radius: 18px;
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        color: var(--yw-ink) !important;
        font-size: 11px;
        line-height: 1;
        font-weight: 950;
        text-decoration: none !important;
    }

    .yw-core-bottom-nav a i {
        color: currentColor;
        font-size: 22px;
        line-height: 1;
    }

    .yw-core-bottom-nav a.is-active {
        color: var(--yw-forest) !important;
        background: rgba(6, 58, 168, .1);
    }

    .yw-mobile-book-bar {
        position: fixed;
        left: 10px;
        right: 10px;
        bottom: 84px;
        z-index: 1040;
        min-height: 68px;
        border: 1px solid rgba(6, 58, 168, .18);
        border-radius: 22px;
        display: grid;
        grid-template-columns: 1fr auto auto;
        align-items: center;
        gap: 8px;
        padding: 10px;
        background: rgba(255, 255, 255, .95);
        box-shadow: 0 16px 42px rgba(6, 31, 103, .18);
        backdrop-filter: blur(14px);
    }

    .yw-mobile-book-bar__price {
        display: grid;
        gap: 2px;
        min-width: 0;
    }

    .yw-mobile-book-bar__price span {
        color: var(--yw-muted);
        font-size: 11px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .yw-mobile-book-bar__price strong {
        color: var(--yw-forest);
        font-size: 17px;
        line-height: 1.1;
        font-weight: 950;
        white-space: nowrap;
    }

    .yw-mobile-book-bar button,
    .yw-mobile-book-bar a {
        min-height: 46px;
        border: 0;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 14px;
        color: #fff !important;
        background: var(--yw-forest);
        font-size: 13px;
        font-weight: 950;
        white-space: nowrap;
    }

    .yw-mobile-book-bar button {
        color: var(--yw-forest) !important;
        background: rgba(6, 58, 168, .1);
    }

    .yw-app-book-bar a,
    .yw-app-book-bar button {
        min-width: 0;
        padding-left: 9px;
        padding-right: 9px;
    }

    .yw-app-book-bar a:first-of-type,
    .yw-app-book-bar button:first-of-type {
        min-width: 86px;
        width: auto;
    }

    .yw-app-book-bar a:last-of-type,
    .yw-app-book-bar button:last-of-type {
        min-width: 72px;
        width: auto;
    }

    .yw-app-book-bar a i,
    .yw-app-book-bar button i {
        display: none;
    }

    .yw-app-action-grid {
        grid-template-columns: 1fr;
    }

    .yw-package-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 18px;
    }

    .yw-package-actions a,
    .yw-package-actions button {
        min-height: 54px;
        font-size: 12px;
    }

    .yw-package-tabs {
        top: 0;
        margin-left: -6px;
        margin-right: -6px;
        border-radius: 0;
        border-left: 0;
        border-right: 0;
    }

    .yw-package-snapshot {
        grid-template-columns: repeat(5, 94px);
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: none;
    }

    .yw-package-snapshot::-webkit-scrollbar {
        display: none;
    }

    .yw-package-snapshot span {
        min-height: 82px;
        font-size: 12px;
    }

    .yw-section-head h3 {
        font-size: 24px;
    }

    .yw-section-head p {
        font-size: 14px;
    }

    .yw-itinerary-day summary {
        min-height: 74px;
        gap: 10px;
        padding: 14px;
    }

    .yw-itinerary-day__count {
        min-width: 56px;
        min-height: 38px;
        padding: 0 10px;
        font-size: 12px;
    }

    .yw-itinerary-day__title strong {
        font-size: 16px;
    }

    .yw-itinerary-day__body {
        grid-template-columns: 1fr;
    }

    .yw-itinerary-day__image,
    .yw-itinerary-day__image img {
        min-height: 220px;
    }

    .yw-itinerary-day__content {
        padding: 16px;
    }

    .yw-package-commerce__intro,
    .yw-detail-grid,
    .yw-hotel-options,
    .yw-policy-grid {
        grid-template-columns: 1fr;
    }

    .yw-package-commerce {
        margin: 24px 0;
    }

    .yw-detail-card,
    .yw-detail-section {
        padding: 16px;
    }

    .yw-detail-card__title,
    .yw-detail-section__head {
        align-items: flex-start;
    }

    .yw-detail-section__head {
        flex-direction: column;
    }

    .yw-detail-card__title strong,
    .yw-detail-section__head h4 {
        font-size: 17px;
    }

    .yw-hotel-option {
        grid-template-columns: 1fr;
    }

    .yw-hotel-option img,
    .yw-hotel-option__fallback {
        min-height: 210px;
        height: 210px;
    }

    .yw-mini-card,
    .yw-check-list > div {
        padding: 13px;
    }

    .yw-policy-grid summary {
        min-height: 54px;
    }

    .bc_detail_tour .g-header {
        display: grid;
        gap: 16px;
        padding: 18px !important;
    }

    .bc_detail_tour .g-header h2 {
        font-size: 22px;
    }

    .bc_detail_tour .g-header .review-score {
        min-width: 0;
        width: 100%;
    }

    .bc_detail_tour .g-tour-feature,
    .bc_detail_tour .g-tour-feature > .row,
    .bc_detail_space .g-space-feature,
    .bc_detail_hotel .g-attributes,
    .bc_detail_car .g-attributes,
    .bc_detail_event .g-attributes,
    .bc_detail_boat .g-attributes {
        grid-template-columns: 1fr;
    }

    .bc_detail_tour .g-tour-feature .item {
        min-height: 88px;
        padding: 14px !important;
    }

    .bc_detail_tour .g-tour-feature .icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
    }

    .bc_single_book_wrap .form-head,
    .bc_single_book_wrap .form-content,
    .bc_single_book_wrap .submit-group,
    .bc_single_book_wrap .form-send-enquiry {
        padding-right: 18px !important;
        padding-left: 18px !important;
    }

    .yw-book-price-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding-left: 14px;
        padding-right: 14px;
    }

    .yw-book-price-summary div {
        min-height: 70px;
    }

    .yw-book-helper {
        margin-left: 14px;
        margin-right: 14px;
    }

    .yatriwala-footer .media,
    .yatriwala-footer .copy-right .context,
    .yatriwala-footer .bc_footer-solo--sub {
        flex-direction: column;
        align-items: flex-start;
    }

    .yatriwala-footer .subcribe-form .form-group {
        border-radius: 24px;
        flex-direction: column;
        align-items: stretch;
    }

    .yatriwala-footer .subcribe-form .btn-submit {
        width: 100%;
    }

    .yatriwala-footer .f-visa,
    .yatriwala-footer .bc_footer--copy-right {
        text-align: left;
    }
}

@media (max-width: 420px) {
    .yatriwala-header-actions .yatriwala-cta {
        display: none;
    }

    .page-template-content .bc-form-search-all .text-heading {
        font-size: 30px;
    }

    .yw-app-hero-card {
        min-height: 330px;
    }

    .yw-app-hero-card__body h1 {
        font-size: 26px;
        line-height: 1.12;
    }

    .yw-app-price-strip,
    .yw-app-book-bar {
        gap: 6px;
    }

    .yw-app-price-strip button,
    .yw-app-book-bar a,
    .yw-app-book-bar button {
        padding-left: 10px;
        padding-right: 10px;
        font-size: 12px;
    }

    .yw-app-book-bar {
        left: 8px;
        right: auto;
        width: calc(100vw - 16px);
        max-width: none;
        gap: 5px;
    }

    .yw-app-book-bar > div {
        grid-column: 1 / -1;
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 8px;
        padding: 0 6px 4px;
    }

    .yw-app-book-bar a,
    .yw-app-book-bar button {
        width: 100% !important;
        min-height: 42px;
        padding-left: 8px;
        padding-right: 8px;
    }

    .yw-app-book-bar a i,
    .yw-app-book-bar button i {
        display: none;
    }

    .yw-app-book-bar a:first-of-type,
    .yw-app-book-bar button:first-of-type {
        grid-column: 1 / 2;
    }

    .yw-app-book-bar a:last-of-type,
    .yw-app-book-bar button:last-of-type {
        grid-column: 2 / 4;
    }

    .yw-app-checkout-strip {
        grid-template-columns: 1fr;
    }

    .yw-app-checkout-strip div {
        min-height: 54px;
    }

    .yw-book-price-summary {
        grid-template-columns: 1fr;
    }
}

#phpdebugbar,
.phpdebugbar,
.phpdebugbar-openhandler {
    display: none !important;
}

/* Site-wide theme switching removed 2026-08-08 — see matching note in
   public_html/landing/css/yatriwala-figma.css. One unified palette (above) now
   applies everywhere instead of 11 per-file variants that disagreed with each other. */

.yatriwala-theme-switch {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 196px;
    overflow-x: auto;
    min-height: 42px;
    border: 1px solid var(--yw-border);
    border-radius: 999px;
    padding: 0 12px;
    background: rgba(255, 255, 255, 0.72);
    scrollbar-width: none;
}

.yatriwala-theme-switch::-webkit-scrollbar {
    display: none;
}

.yatriwala-theme-switch button {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
    border: 0;
    border-radius: 50%;
    padding: 0;
    cursor: pointer;
    background: var(--yw-switch-color, var(--yw-forest));
    box-shadow: inset 0 0 0 4px var(--yw-card);
}

.yatriwala-theme-switch button.is-active {
    outline: 2px solid var(--yw-coral);
    outline-offset: 3px;
}

body.frontend-page[data-yw-theme="night"] .yatriwala-header,
body.frontend-page[data-yw-theme="night"] .yatriwala-theme-switch,
body.frontend-page[data-yw-theme="night"] .yatriwala-header-actions .login,
body.frontend-page[data-yw-theme="night"] .yatriwala-header-actions .is_login,
body.frontend-page[data-yw-theme="night"] .yatriwala-ghost-link {
    background: rgba(17, 24, 39, 0.86);
}

body.frontend-page[data-yw-theme="night"] .yatriwala-brand-name,
body.frontend-page[data-yw-theme="night"] .bc_wrap .bc_header.yatriwala-header .bc-menu ul li a,
body.frontend-page[data-yw-theme="night"] #header.yatriwala-header #bc_main-menu ul li a {
    color: var(--yw-ink);
}

@media (max-width: 991px) {
    .yatriwala-theme-switch {
        display: none;
    }
}

@media (max-width: 767px) {
    .yw-service-detail-page {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        padding-bottom: calc(164px + env(safe-area-inset-bottom));
        background: #f5f8ff;
    }

    .yw-service-detail-page .bc_banner {
        width: auto !important;
        min-height: 300px !important;
        margin: 8px 10px 12px !important;
        border: 0 !important;
        border-radius: 8px !important;
        overflow: hidden;
        background-size: cover !important;
        background-position: center !important;
        box-shadow: 0 20px 46px rgba(6, 31, 103, .18);
    }

    .yw-service-detail-page .bc_banner:before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(6, 31, 103, .08), rgba(6, 31, 103, .66));
        pointer-events: none;
    }

    .yw-service-detail-page .bc_banner .container {
        position: relative;
        z-index: 1;
        min-height: 300px;
    }

    .yw-flight-detail-page .bc_banner {
        min-height: 260px !important;
        background: var(--yw-forest);
    }

    .yw-flight-detail-page .travel-slick-carousel,
    .yw-flight-detail-page .travel-slick-carousel .slick-list,
    .yw-flight-detail-page .travel-slick-carousel .slick-track,
    .yw-flight-detail-page .travel-slick-carousel .js-slide,
    .yw-flight-detail-page .min-height-550 {
        min-height: 260px !important;
        height: 260px !important;
        border-radius: 8px;
        overflow: hidden;
    }

    .yw-flight-detail-page .bc_banner .mb-8 {
        margin-bottom: 0 !important;
    }

    .yw-service-detail-page .bc_content {
        padding: 0 0 calc(96px + env(safe-area-inset-bottom)) !important;
    }

    .yw-service-detail-page .bc_content > .container,
    .yw-service-detail-page .container {
        max-width: 100%;
        padding-left: 12px;
        padding-right: 12px;
    }

    .yw-service-detail-page .bc_content > .container > .row,
    .yw-service-detail-page .bc_content .row {
        margin-left: 0;
        margin-right: 0;
    }

    .yw-service-detail-page .bc_content [class*="col-"] {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .yw-service-detail-page .g-header,
    .yw-service-detail-page .g-overview,
    .yw-service-detail-page .g-rules,
    .yw-service-detail-page .g-location,
    .yw-service-detail-page .g-all-attribute,
    .yw-service-detail-page .hotel_rooms_form,
    .yw-service-detail-page .bc_single_book_wrap,
    .yw-service-detail-page .owner-info,
    .yw-service-detail-page .list-hotel-related,
    .yw-service-detail-page .review-box,
    .yw-service-detail-page .bc_content .review-list,
    .yw-service-detail-page .bc_content .form-review,
    .yw-service-detail-page .bc_content .bc-list-space-related {
        overflow: hidden;
        border: 1px solid rgba(6, 58, 168, .12);
        border-radius: 8px;
        margin: 0 0 12px !important;
        padding: 16px !important;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 16px 40px rgba(6, 31, 103, .08);
    }

    .yw-service-detail-page .g-header {
        display: grid;
        gap: 14px;
    }

    .yw-service-detail-page .g-header h1 {
        margin: 0 0 8px;
        color: var(--yw-ink);
        font-size: 28px !important;
        line-height: 1.12;
        font-weight: 950;
        overflow-wrap: break-word;
    }

    .yw-service-detail-page .g-header .address,
    .yw-service-detail-page .g-header h2.address {
        margin: 0;
        color: var(--yw-muted) !important;
        font-size: 13px !important;
        line-height: 1.45;
        font-weight: 850;
    }

    .yw-service-detail-page .g-header .right,
    .yw-service-detail-page .review-score,
    .yw-service-detail-page .review-score .head {
        width: 100%;
    }

    .yw-service-detail-page .review-score {
        border: 0;
        border-radius: 8px;
        padding: 12px;
        background: rgba(6, 58, 168, .08);
    }

    .yw-service-detail-page .review-score .score {
        border-radius: 8px;
        background: var(--yw-forest);
    }

    .yw-service-detail-page .star-rate i {
        color: var(--yw-sun);
    }

    .yw-service-detail-page h3,
    .yw-service-detail-page .g-overview h3,
    .yw-service-detail-page .g-rules h3,
    .yw-service-detail-page .g-location h3 {
        margin: 0 0 12px;
        color: var(--yw-ink);
        font-size: 20px !important;
        line-height: 1.2;
        font-weight: 950;
    }

    .yw-service-detail-page .description,
    .yw-service-detail-page .description p,
    .yw-service-detail-page .g-rules .value,
    .yw-service-detail-page .g-rules .key {
        color: var(--yw-muted);
        font-size: 14px;
        line-height: 1.65;
    }

    .yw-service-detail-page .g-rules .row {
        display: grid;
        gap: 4px;
        border-bottom: 1px solid rgba(6, 31, 103, .08);
        padding: 12px 0;
    }

    .yw-service-detail-page .g-rules .row:last-child {
        border-bottom: 0;
    }

    .yw-service-detail-page .g-rules .key {
        color: var(--yw-ink);
        font-weight: 950;
    }

    .yw-service-detail-page .fotorama,
    .yw-service-detail-page .fotorama__wrap,
    .yw-service-detail-page .fotorama__stage {
        max-width: 100% !important;
        border-radius: 8px;
        overflow: hidden;
    }

    .yw-service-detail-page .location-map,
    .yw-service-detail-page #map_content {
        min-height: 260px;
        border-radius: 8px;
        overflow: hidden;
    }

    .yw-service-detail-page .bc-more-book-mobile {
        position: fixed;
        left: 10px;
        right: 10px;
        bottom: calc(86px + env(safe-area-inset-bottom));
        z-index: 1040;
        display: block !important;
        border: 1px solid rgba(6, 58, 168, .18);
        border-radius: 8px;
        padding: 0;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 16px 42px rgba(6, 31, 103, .18);
        backdrop-filter: blur(14px);
    }

    .yw-service-detail-page .bc-more-book-mobile .container {
        min-height: 66px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(112px, auto);
        align-items: center;
        gap: 8px;
        padding: 10px !important;
    }

    .yw-service-detail-page .bc-more-book-mobile .left,
    .yw-service-detail-page .bc-more-book-mobile .yw-mobile-book-price {
        min-width: 0;
        float: none !important;
        width: auto !important;
        max-width: 100% !important;
        overflow: hidden;
    }

    .yw-service-detail-page .bc-more-book-mobile .g-price {
        display: grid;
        gap: 2px;
    }

    .yw-service-detail-page .bc-more-book-mobile .service-review {
        display: none !important;
    }

    .yw-service-detail-page .bc-more-book-mobile .prefix {
        display: block !important;
        margin-bottom: 2px;
    }

    .yw-service-detail-page .bc-more-book-mobile .fr_text {
        color: var(--yw-muted);
        font-size: 10px;
        line-height: 1;
        font-weight: 950;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .yw-service-detail-page .bc-more-book-mobile .price {
        display: flex;
        align-items: baseline;
        gap: 6px;
        min-width: 0;
    }

    .yw-service-detail-page .bc-more-book-mobile .onsale {
        color: var(--yw-coral);
        font-size: 11px;
        font-weight: 850;
        text-decoration: line-through;
    }

    .yw-service-detail-page .bc-more-book-mobile .text-price {
        color: var(--yw-forest);
        font-size: 18px !important;
        line-height: 1.1;
        font-weight: 950 !important;
        white-space: nowrap;
    }

    .yw-service-detail-page .bc-more-book-mobile .btn {
        min-height: 46px;
        border: 0;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        max-width: 134px;
        padding: 0 12px;
        color: #fff !important;
        background: var(--yw-forest) !important;
        font-size: 12px;
        font-weight: 950;
        white-space: nowrap;
    }
}

@media (max-width: 767px) {
    .yw-service-detail-page .bc_banner {
        margin: 0 0 10px !important;
        border-radius: 0 0 28px 28px !important;
        box-shadow: 0 20px 44px rgba(6, 31, 103, .14) !important;
    }

    .yw-flight-detail-page .travel-slick-carousel,
    .yw-flight-detail-page .travel-slick-carousel .slick-list,
    .yw-flight-detail-page .travel-slick-carousel .slick-track,
    .yw-flight-detail-page .travel-slick-carousel .js-slide,
    .yw-flight-detail-page .min-height-550 {
        border-radius: 0 0 28px 28px !important;
    }

    .yw-service-detail-page .g-header,
    .yw-service-detail-page .g-overview,
    .yw-service-detail-page .g-rules,
    .yw-service-detail-page .g-location,
    .yw-service-detail-page .g-all-attribute,
    .yw-service-detail-page .hotel_rooms_form,
    .yw-service-detail-page .bc_single_book_wrap,
    .yw-service-detail-page .owner-info,
    .yw-service-detail-page .list-hotel-related,
    .yw-service-detail-page .review-box,
    .yw-service-detail-page .bc_content .review-list,
    .yw-service-detail-page .bc_content .form-review,
    .yw-service-detail-page .bc_content .bc-list-space-related {
        border-radius: 22px !important;
    }

    .yw-service-detail-page .bc-more-book-mobile {
        border-radius: 28px !important;
        box-shadow: 0 18px 46px rgba(6, 31, 103, .2) !important;
    }

    .yw-service-detail-page .bc-more-book-mobile .container {
        width: 100% !important;
        max-width: none !important;
        display: flex !important;
        align-items: center;
        gap: 8px;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .yw-service-detail-page .bc-more-book-mobile .yw-mobile-book-price {
        flex: 1 1 auto;
        min-width: 0;
        overflow: hidden;
    }

    .yw-service-detail-page .bc-more-book-mobile .btn {
        background: linear-gradient(135deg, var(--yw-coral), var(--yw-sun)) !important;
        color: var(--yw-ink) !important;
    }

    .yw-service-detail-page .bc-more-book-mobile .right,
    .yw-service-detail-page .bc-more-book-mobile .yw-mobile-book-cta {
        float: none !important;
        width: 112px !important;
        flex: 0 0 112px;
        min-width: 0;
        max-width: 112px !important;
        justify-self: end;
        overflow: hidden;
    }

    .yw-service-detail-page .bc-more-book-mobile .yw-mobile-book-cta {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .yw-service-detail-page .bc-more-book-mobile .btn {
        width: 100%;
        max-width: none;
        min-width: 0;
        padding-left: 8px;
        padding-right: 8px;
        font-size: 11px;
    }
}

.bc_search_flight .yw-flight-card.card.item-loop-wrap {
    display: grid !important;
    grid-template-columns: 250px minmax(0, 1fr) minmax(170px, 220px);
    border-radius: 8px !important;
    padding: 18px !important;
}

.bc_search_flight .yw-flight-card .yw-flight-card__price {
    grid-column: 3;
    grid-row: 1 / span 2;
}

@media (max-width: 991px) {
    .bc_search_flight .yw-flight-card.card.item-loop-wrap {
        grid-template-columns: 1fr;
    }

    .bc_search_flight .yw-flight-card .yw-flight-card__price,
    .bc_search_flight .yw-flight-card .yw-flight-card__meta {
        grid-column: auto;
        grid-row: auto;
    }
}

@media (max-width: 767px) {
    .bc_search_flight .yw-flight-card.card.item-loop-wrap {
        border-radius: 22px !important;
        padding: 15px !important;
    }
}

.yw-tour-card--umrah .yw-tour-card__activity span,
.yw-tour-card--umrah .yw-package-includes span.is-active,
.yw-tour-app-detail--umrah .yw-app-service-rail span.is-active {
    background: linear-gradient(135deg, #063aa8, #ff6a21);
    color: #fff;
}

.yw-tour-card--umrah .yw-tour-card__chips span {
    background: rgba(6, 58, 168, .92);
    color: #fff;
}

.yw-tour-card--umrah .yw-tour-card__book,
.yw-tour-card--umrah .yw-tour-card__details {
    background: linear-gradient(135deg, #063aa8, #ff6a21) !important;
}

.yw-package-workflow-row,
.yw-umrah-workflow-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    margin: 0 0 16px;
    border: 1px solid rgba(6, 58, 168, .14);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(6, 58, 168, .08), rgba(255, 106, 33, .08));
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

.yw-package-workflow-row::-webkit-scrollbar,
.yw-umrah-workflow-row::-webkit-scrollbar {
    display: none;
}

.yw-package-workflow-row > div,
.yw-umrah-workflow-row > div {
    min-width: 260px;
    max-width: 420px;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 2px 10px;
    align-items: center;
}

.yw-package-workflow-row > div i,
.yw-umrah-workflow-row > div i {
    grid-row: 1 / span 2;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #063aa8;
    color: #fff;
}

.yw-package-workflow-row--umrah > div i,
.yw-umrah-workflow-row > div i {
    background: linear-gradient(135deg, #063aa8, #ff6a21);
}

.yw-package-workflow-row--holiday > div i {
    background: linear-gradient(135deg, var(--yw-forest), var(--yw-teal));
}

.yw-package-workflow-row--honeymoon > div i {
    background: #c12d6c;
}

.yw-package-workflow-row--family > div i {
    background: #0b7f68;
}

.yw-package-workflow-row--group > div i {
    background: #f39200;
}

.yw-package-workflow-row--dubai > div i {
    background: #063aa8;
}

.yw-package-workflow-row--kashmir > div i {
    background: #0a9082;
}

.yw-package-workflow-row--visa > div i,
.yw-visa-card .yw-tour-card__activity span,
.yw-visa-card .yw-service-card-includes span.is-active {
    background: linear-gradient(135deg, #063aa8, #ff6a21);
    color: #fff;
}

.yw-visa-card .yw-tour-card__chips span {
    background: rgba(6, 58, 168, .94);
    color: #fff;
}

.yw-visa-card .yw-tour-card__details,
.yw-visa-card .yw-tour-card__book {
    background: linear-gradient(135deg, #063aa8, #ff6a21) !important;
}

.yw-package-workflow-row--hotel > div i,
.yw-hotel-card .yw-tour-card__activity span,
.yw-hotel-card .yw-service-card-includes span.is-active {
    background: linear-gradient(135deg, var(--yw-forest), var(--yw-teal));
    color: #fff;
}

.yw-hotel-card .yw-tour-card__chips span {
    background: rgba(7, 95, 85, .94);
    color: #fff;
}

.yw-hotel-card .yw-tour-card__details,
.yw-hotel-card .yw-tour-card__book {
    background: var(--yw-forest) !important;
}

.yw-package-workflow-row--flight > div i {
    background: linear-gradient(135deg, #063aa8, #0a9082);
    color: #fff;
}

.yw-umrah-planner-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 16px;
}

.yw-umrah-planner-row article {
    min-width: 0;
    min-height: 120px;
    display: grid;
    grid-template-rows: auto auto 1fr;
    gap: 7px;
    padding: 16px;
    border: 1px solid rgba(6, 58, 168, .14);
    border-radius: 8px;
    background:
        linear-gradient(145deg, rgba(6, 58, 168, .06), rgba(255, 106, 33, .08)),
        #fff;
    box-shadow: 0 14px 32px rgba(6, 31, 103, .08);
}

.yw-umrah-planner-row article i {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #063aa8, #ff6a21);
    box-shadow: 0 10px 24px rgba(6, 58, 168, .18);
}

.yw-umrah-planner-row article strong {
    min-width: 0;
    color: var(--yw-ink);
    font-size: 15px;
    line-height: 1.15;
    font-weight: 950;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yw-umrah-planner-row article span {
    min-width: 0;
    color: #5f6f78;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 800;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.yw-umrah-essentials {
    border-color: rgba(6, 58, 168, .14) !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 106, 33, .12), transparent 34%),
        linear-gradient(145deg, rgba(6, 58, 168, .06), rgba(255, 255, 255, .98) 60%);
}

.yw-umrah-essentials__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.yw-umrah-essentials__grid button {
    min-width: 0;
    min-height: 112px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 3px 10px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(6, 58, 168, .14);
    border-radius: 18px;
    color: var(--yw-ink);
    background: rgba(255, 255, 255, .9);
    text-align: left;
    box-shadow: 0 10px 24px rgba(6, 31, 103, .07);
    cursor: pointer;
}

.yw-umrah-essentials__grid button i {
    grid-row: 1 / span 3;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, #063aa8, #ff6a21);
}

.yw-umrah-essentials__grid button span,
.yw-umrah-essentials__grid button strong,
.yw-umrah-essentials__grid button small {
    min-width: 0;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.yw-umrah-essentials__grid button span {
    color: #617174;
    font-size: 11px;
    line-height: 1;
    font-weight: 950;
    text-transform: uppercase;
}

.yw-umrah-essentials__grid button strong {
    color: var(--yw-ink);
    font-size: 14px;
    line-height: 1.2;
    font-weight: 950;
    white-space: nowrap;
}

.yw-umrah-essentials__grid button small {
    color: #69777a;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 800;
    white-space: nowrap;
}

.yw-umrah-document-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.yw-umrah-document-strip span {
    min-height: 36px;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 12px;
    border: 1px solid rgba(6, 58, 168, .12);
    border-radius: 999px;
    color: var(--yw-ink);
    background: #fff;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
}

.yw-umrah-document-strip span i {
    color: #ff6a21;
}

@media (max-width: 991px) {
    .yw-umrah-planner-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .yw-umrah-essentials__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .yw-umrah-planner-row {
        display: grid;
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: minmax(218px, 78vw);
        gap: 10px;
        margin: 0 -4px 14px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .yw-umrah-planner-row::-webkit-scrollbar {
        display: none;
    }

    .yw-umrah-planner-row article {
        min-height: 116px;
        border-radius: 20px;
        padding: 14px;
        scroll-snap-align: start;
    }

    .yw-umrah-essentials {
        border-radius: 22px !important;
    }

    .yw-umrah-essentials__grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .yw-umrah-essentials__grid button {
        min-height: 92px;
        border-radius: 18px;
    }

    .yw-umrah-document-strip {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 3px;
        scrollbar-width: none;
    }

    .yw-umrah-document-strip::-webkit-scrollbar {
        display: none;
    }

    .yw-umrah-document-strip span {
        flex: 0 0 auto;
        max-width: 88vw;
        white-space: nowrap;
    }
}

.yw-visa-application-flow {
    display: grid;
    gap: 16px;
    padding: 20px;
    margin: 0 0 22px;
    border: 1px solid rgba(6, 58, 168, .12);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(6, 31, 103, .08);
}

.yw-visa-application-flow__head {
    display: grid;
    gap: 7px;
}

.yw-visa-application-flow__head span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #063aa8;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.yw-visa-application-flow__head strong {
    color: var(--yw-ink);
    font-size: 24px;
    line-height: 1.15;
    font-weight: 950;
}

.yw-visa-application-flow__head p {
    max-width: 720px;
    margin: 0;
    color: var(--yw-muted);
    font-weight: 700;
}

.yw-visa-application-flow__steps,
.yw-visa-application-flow__facts,
.yw-visa-application-flow__docs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.yw-visa-application-flow__steps div,
.yw-visa-application-flow__facts span,
.yw-visa-application-flow__docs span {
    min-width: 0;
    border: 1px solid rgba(6, 58, 168, .1);
    border-radius: 8px;
    background: #f8fbfa;
}

.yw-visa-application-flow__steps div {
    display: grid;
    gap: 6px;
    padding: 14px;
}

.yw-visa-application-flow__steps i {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #063aa8, #ff6a21);
}

.yw-visa-application-flow__steps strong,
.yw-visa-application-flow__docs strong {
    color: var(--yw-ink);
    font-weight: 950;
}

.yw-visa-application-flow__steps span {
    color: var(--yw-muted);
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
}

.yw-visa-application-flow__facts span,
.yw-visa-application-flow__docs span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 9px 12px;
    color: var(--yw-forest);
    font-weight: 900;
}

.yw-visa-application-flow__docs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.yw-visa-application-flow__docs strong {
    grid-column: 1 / -1;
}

.yw-hotel-stay-guide,
.yw-visa-decision-board {
    display: grid;
    gap: 16px;
    padding: 20px;
    margin: 0 0 22px;
    border: 1px solid rgba(6, 58, 168, .12);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(6, 58, 168, .045), rgba(255, 107, 47, .035)),
        #fff;
    box-shadow: 0 16px 38px rgba(6, 31, 103, .08);
}

.yw-hotel-stay-guide__head,
.yw-visa-decision-board__head {
    display: grid;
    gap: 7px;
}

.yw-hotel-stay-guide__head span,
.yw-visa-decision-board__head span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #063aa8;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.yw-hotel-stay-guide__head h3,
.yw-visa-decision-board__head h3 {
    margin: 0;
    color: var(--yw-ink);
    font-size: 24px;
    line-height: 1.15;
    font-weight: 950;
}

.yw-hotel-stay-guide__head p,
.yw-visa-decision-board__head p {
    max-width: 760px;
    margin: 0;
    color: var(--yw-muted);
    font-weight: 750;
}

.yw-hotel-stay-guide__grid,
.yw-visa-decision-board__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.yw-hotel-stay-guide__grid article,
.yw-visa-decision-board__grid article {
    min-width: 0;
    border: 1px solid rgba(6, 58, 168, .1);
    border-radius: 8px;
    display: grid;
    gap: 7px;
    padding: 14px;
    background: #f8fbfa;
}

.yw-hotel-stay-guide__grid i,
.yw-visa-decision-board__grid i {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, #063aa8, #ff6a21);
}

.yw-hotel-stay-guide__grid strong,
.yw-visa-decision-board__grid strong {
    color: var(--yw-ink);
    font-weight: 950;
}

.yw-hotel-stay-guide__grid small,
.yw-visa-decision-board__grid small {
    color: var(--yw-muted);
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
}

.yw-hotel-stay-guide__actions,
.yw-visa-decision-board__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.yw-hotel-stay-guide__actions a,
.yw-hotel-stay-guide__actions button,
.yw-visa-decision-board__actions a,
.yw-visa-decision-board__actions button {
    min-height: 44px;
    border: 1px solid rgba(6, 58, 168, .14);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 16px;
    color: var(--yw-forest);
    background: #fff;
    font-weight: 950;
}

.yw-hotel-stay-guide__actions a:first-child,
.yw-visa-decision-board__actions a:first-child {
    border-color: transparent;
    color: #fff;
    background: var(--yw-forest);
}

@media (max-width: 767px) {
    .yw-visa-application-flow {
        margin: 0 0 14px;
        padding: 16px;
        border-radius: 22px;
    }

    .yw-visa-application-flow__head strong {
        font-size: 21px;
    }

    .yw-visa-application-flow__steps,
    .yw-visa-application-flow__facts,
    .yw-visa-application-flow__docs {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        padding-bottom: 4px;
    }

    .yw-visa-application-flow__steps div,
    .yw-visa-application-flow__facts span,
    .yw-visa-application-flow__docs span {
        flex: 0 0 78%;
        scroll-snap-align: start;
        border-radius: 18px;
    }

    .yw-visa-application-flow__docs strong {
        flex: 0 0 100%;
    }

    .yw-hotel-stay-guide,
    .yw-visa-decision-board {
        margin: 0 0 14px;
        padding: 16px;
        border-radius: 22px;
    }

    .yw-hotel-stay-guide__head h3,
    .yw-visa-decision-board__head h3 {
        font-size: 21px;
    }

    .yw-hotel-stay-guide__grid,
    .yw-visa-decision-board__grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        padding-bottom: 4px;
    }

    .yw-hotel-stay-guide__grid article,
    .yw-visa-decision-board__grid article {
        flex: 0 0 78%;
        border-radius: 18px;
        scroll-snap-align: start;
    }

    .yw-hotel-stay-guide__actions,
    .yw-visa-decision-board__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .yw-hotel-stay-guide__actions a,
    .yw-hotel-stay-guide__actions button,
    .yw-visa-decision-board__actions a,
    .yw-visa-decision-board__actions button {
        width: 100%;
        padding: 0 12px;
        font-size: 12px;
    }
}

.yw-package-workflow-row strong,
.yw-umrah-workflow-row strong {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--yw-ink);
    font-weight: 950;
    line-height: 1.2;
}

.yw-package-workflow-row span,
.yw-umrah-workflow-row span {
    display: -webkit-box;
    min-width: 0;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: var(--yw-muted);
    font-size: 12px;
    line-height: 1.35;
    font-weight: 750;
}

.yw-package-workflow-row a,
.yw-umrah-workflow-row a {
    flex: 0 0 auto;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border-radius: 999px;
    background: #fff;
    color: #063aa8;
    border: 1px solid rgba(6, 58, 168, .18);
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}

.yw-package-workflow-row--umrah > a,
.yw-package-workflow-row--holiday > a {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, #063aa8, #ff6a21);
    box-shadow: 0 12px 24px rgba(6, 58, 168, .14);
}

.yw-package-workflow-row--holiday > a {
    background: linear-gradient(135deg, var(--yw-forest), var(--yw-coral));
}

.yw-package-workflow-row a:hover,
.yw-umrah-workflow-row a:hover {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, #063aa8, #ff6a21);
}

@media (max-width: 767px) {
    .yw-package-workflow-row,
    .yw-umrah-workflow-row {
        margin: 0 -4px 14px;
        border-radius: 20px;
        padding: 12px;
        scroll-snap-type: x proximity;
    }

    .yw-package-workflow-row > div,
    .yw-umrah-workflow-row > div {
        min-width: min(82vw, 320px);
    }

    .yw-package-workflow-row > div,
    .yw-package-workflow-row a,
    .yw-umrah-workflow-row > div,
    .yw-umrah-workflow-row a {
        scroll-snap-align: start;
    }
}

/* Dynamic Yatriwala offer rail shown under the header on inner pages. */
.yw-global-offers {
    position: relative;
    z-index: 30;
    border-bottom: 1px solid var(--yw-border);
    padding: 12px 0;
    background:
        linear-gradient(90deg, rgba(5, 36, 95, .08), rgba(255, 107, 47, .08)),
        rgba(255, 255, 255, .94);
    backdrop-filter: blur(14px);
}

.yw-global-offers__rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(280px, 1fr);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-padding-inline: 2px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.yw-global-offers__rail::-webkit-scrollbar {
    display: none;
}

.yw-global-offer {
    position: relative;
    min-width: 0;
    min-height: 92px;
    overflow: hidden;
    border-radius: 18px;
    display: grid;
    align-content: center;
    gap: 5px;
    padding: 14px 16px;
    color: #fff !important;
    background-image:
        linear-gradient(135deg, rgba(5, 36, 95, .92), rgba(6, 59, 143, .58), rgba(5, 31, 29, .2)),
        var(--offer-image);
    background-position: center;
    background-size: cover;
    box-shadow: var(--yw-soft-shadow);
    scroll-snap-align: start;
}

.yw-global-offer--orange {
    background-image:
        linear-gradient(135deg, rgba(255, 107, 47, .94), rgba(255, 154, 31, .56), rgba(5, 36, 95, .24)),
        var(--offer-image);
}

.yw-global-offer--green {
    background-image:
        linear-gradient(135deg, rgba(7, 91, 81, .92), rgba(11, 122, 108, .58), rgba(5, 36, 95, .18)),
        var(--offer-image);
}

.yw-global-offer--dark {
    background-image:
        linear-gradient(135deg, rgba(5, 36, 95, .96), rgba(8, 27, 47, .76), rgba(255, 107, 47, .16)),
        var(--offer-image);
}

.yw-global-offer span,
.yw-global-offer small {
    width: max-content;
    max-width: 100%;
    min-height: 24px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    padding: 0 9px;
    color: var(--yw-ink);
    background: #fff;
    font-size: 11px;
    line-height: 1;
    font-weight: 950;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.yw-global-offer strong {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: #fff;
    font-size: 17px;
    line-height: 1.12;
    font-weight: 950;
    overflow-wrap: anywhere;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .24);
}

.yw-global-offer em {
    display: -webkit-box;
    max-width: min(520px, 100%);
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    color: rgba(255, 255, 255, .9);
    font-size: 12px;
    line-height: 1.25;
    font-style: normal;
    font-weight: 800;
    overflow-wrap: anywhere;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .18);
}

.yw-global-offer small {
    color: #fff;
    background: var(--yw-coral);
}

@media (max-width: 767px) {
    .yw-global-offers {
        padding: 10px 0;
    }

    .yw-global-offers .container {
        max-width: 100%;
        padding-left: 14px;
        padding-right: 14px;
    }

    .yw-global-offers__rail {
        grid-template-columns: none;
        grid-auto-columns: minmax(260px, 86vw);
        gap: 10px;
    }

    .yw-global-offer {
        min-height: 96px;
        border-radius: 20px;
        padding: 13px 14px;
    }

    .yw-global-offer strong {
        font-size: 15px;
        line-height: 1.16;
    }

    .yw-global-offer em {
        font-size: 11px;
    }
}

.yatriwala-brand-logo {
    width: clamp(154px, 13vw, 220px);
    height: clamp(44px, 4.6vw, 58px);
    max-width: min(220px, 38vw);
    object-fit: contain;
    object-position: left center;
}

.bc_wrap .bc_header.yatriwala-header .header-left,
#header.yatriwala-header .header-left {
    flex: 1 1 auto;
}

.bc_wrap .bc_header.yatriwala-header .bc-logo,
#header.yatriwala-header .bc-logo {
    overflow: visible;
    flex: 0 0 clamp(154px, 13vw, 220px);
    max-width: min(220px, 38vw);
}

.yw-tour-card,
.yw-tour-card * {
    min-width: 0;
}

.yw-tour-card {
    overflow: hidden;
}

.yw-tour-card__topline,
.yw-tour-card__activity {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(82px, auto);
    align-items: center;
    gap: 10px;
}

.yw-tour-card__activity strong,
.yw-tour-card__activity small,
.yw-tour-card .location {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yw-tour-card__activity strong {
    width: 100%;
}

.yw-tour-card__activity small {
    max-width: 100%;
    justify-self: end;
}

.page-template-content .yw-tour-card .item-title a,
.search-result-page .yw-tour-card .item-title a,
.yw-tour-card .item-title a,
.yw-tour-card .title-address .title a {
    display: -webkit-box;
    min-height: 2.42em;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow-wrap: anywhere;
}

.yw-package-includes {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.yw-package-includes span {
    overflow: hidden;
    min-width: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yw-tour-card__details,
.yw-tour-card__book {
    color: #fff !important;
}

@media (max-width: 991px) {
    .yw-global-offers {
        padding: 10px 0;
    }

    .yw-global-offers__rail {
        grid-template-columns: none;
        grid-auto-columns: minmax(260px, 84vw);
        padding-bottom: 2px;
    }

    .yatriwala-brand-logo {
        width: clamp(128px, 38vw, 166px);
        height: 42px;
    }
}

@media (max-width: 767px) {
    .yw-global-offers {
        display: block;
        padding: 8px 0;
        background: #fff;
        border-bottom-color: rgba(6, 31, 103, .08);
        position: sticky;
        top: 0;
        z-index: 42;
        box-shadow: 0 12px 28px rgba(6, 31, 103, .08);
    }

    .yw-global-offers .container {
        width: 100%;
        max-width: none;
        padding-left: 10px;
        padding-right: 10px;
    }

    .yw-global-offers__rail {
        grid-auto-columns: minmax(252px, 84vw);
        gap: 10px;
    }

    .yw-global-offer {
        min-height: 84px;
        border-radius: 18px;
        padding: 12px 14px;
        gap: 4px;
        box-shadow: 0 12px 28px rgba(6, 31, 103, .12);
    }

    .yw-global-offer span,
    .yw-global-offer small {
        min-height: 22px;
        padding: 0 8px;
        font-size: 10px;
    }

    .yw-global-offer strong {
        font-size: 15px;
        line-height: 1.12;
    }

    .yw-global-offer em {
        font-size: 11px;
    }

    .yw-package-includes {
        grid-template-columns: repeat(5, minmax(58px, 1fr));
        overflow-x: auto;
        scrollbar-width: none;
    }

    .yw-package-includes::-webkit-scrollbar {
        display: none;
    }

    .yw-tour-card__topline,
    .yw-tour-card__activity {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .yw-tour-card__activity small {
        grid-column: 2;
        justify-self: start;
        width: 100%;
    }
}

/* Final package-card containment layer: keeps dynamic admin text inside every card. */
.yw-tour-card.yw-tour-card--listing {
    contain: layout paint;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity {
    grid-template-columns: 42px minmax(0, 1fr) minmax(76px, auto);
    min-height: 64px;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity strong,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity small,
.yw-tour-card.yw-tour-card--listing .location,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__departure span,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__value-strip span,
.yw-tour-card.yw-tour-card--listing .yw-package-includes span {
    min-width: 0;
    max-width: 100%;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity strong,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity small,
.yw-tour-card.yw-tour-card--listing .location {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yw-tour-card.yw-tour-card--listing .item-title a {
    min-height: 2.5em;
    max-height: 2.5em;
    word-break: normal;
    overflow-wrap: anywhere;
}

.yw-tour-card.yw-tour-card--listing .yw-package-includes {
    grid-template-columns: repeat(5, minmax(54px, 1fr));
}

.yw-tour-card.yw-tour-card--listing .yw-package-includes span {
    padding: 6px 5px;
    text-align: center;
}

.yw-tour-card.yw-tour-card--listing .g-price {
    min-height: 48px;
}

.yw-tour-card.yw-tour-card--listing .g-price .prefix {
    min-width: 48px;
}

.yw-tour-card.yw-tour-card--listing .g-price .price {
    min-width: 0;
    max-width: calc(100% - 56px);
}

.yw-tour-card.yw-tour-card--listing .g-price .text-price,
.yw-tour-card.yw-tour-card--listing .g-price .onsale {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yatriwala-design .bc_wrap > .bc_topbar {
    display: none !important;
}

.yw-coming-soon {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 24px;
    margin: 34px 0 80px;
    padding: clamp(22px, 4vw, 42px);
    border: 1px solid rgba(6, 31, 103, .08);
    border-radius: 28px;
    background:
        radial-gradient(circle at 85% 10%, rgba(255, 107, 47, .18), transparent 32%),
        linear-gradient(135deg, rgba(6, 58, 168, .08), rgba(7, 91, 81, .08)),
        #fff;
    box-shadow: var(--yw-soft-shadow);
}

.yw-coming-soon__content,
.yw-coming-soon__panel {
    min-width: 0;
}

.yw-coming-soon__eyebrow {
    width: max-content;
    max-width: 100%;
    min-height: 36px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 0 14px;
    color: var(--yw-forest);
    background: rgba(7, 91, 81, .1);
    font-size: 12px;
    font-weight: 950;
}

.yw-coming-soon h2 {
    max-width: 760px;
    margin: 18px 0 12px;
    color: var(--yw-ink);
    font-size: clamp(30px, 4vw, 54px);
    line-height: 1.02;
    font-weight: 950;
    letter-spacing: 0;
}

.yw-coming-soon p {
    max-width: 760px;
    margin: 0;
    color: var(--yw-muted);
    font-size: clamp(15px, 1.7vw, 18px);
    line-height: 1.7;
    font-weight: 750;
}

.yw-coming-soon__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.yw-coming-soon__chips span {
    min-height: 42px;
    border: 1px solid rgba(6, 31, 103, .08);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 0 14px;
    color: var(--yw-ink);
    background: rgba(255, 255, 255, .82);
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

.yw-coming-soon__chips i {
    color: var(--yw-coral);
}

.yw-coming-soon__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.yw-coming-soon__primary,
.yw-coming-soon__secondary {
    min-height: 52px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 20px;
    font-size: 14px;
    font-weight: 950;
}

.yw-coming-soon__primary {
    color: #fff !important;
    background: linear-gradient(135deg, var(--yw-coral), #ff8f4f);
    box-shadow: 0 16px 32px rgba(255, 107, 47, .24);
}

.yw-coming-soon__secondary {
    color: var(--yw-forest) !important;
    border: 1px solid rgba(7, 91, 81, .18);
    background: rgba(7, 91, 81, .08);
}

.yw-coming-soon__panel {
    align-self: stretch;
    border-radius: 24px;
    padding: 24px;
    color: #fff;
    background:
        radial-gradient(circle at 90% 12%, rgba(255, 107, 47, .28), transparent 32%),
        linear-gradient(145deg, rgba(5, 36, 95, .96), rgba(7, 91, 81, .94));
    box-shadow: 0 20px 42px rgba(6, 31, 103, .16);
}

.yw-coming-soon__panel strong {
    display: block;
    margin-bottom: 18px;
    font-size: 22px;
    line-height: 1.12;
    font-weight: 950;
}

.yw-coming-soon__panel ul {
    display: grid;
    gap: 13px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.yw-coming-soon__panel li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 850;
}

.yw-coming-soon__panel i {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    color: var(--yw-forest);
    background: #fff;
    font-size: 11px;
}

@media (max-width: 767px) {
    .yw-tour-card.yw-tour-card--listing {
        border-radius: 20px !important;
        box-shadow: 0 14px 34px rgba(6, 31, 103, .11);
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__activity {
        grid-template-columns: 42px minmax(0, 1fr);
        padding: 10px 12px;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__activity small {
        grid-column: 2;
        justify-self: start;
    }

    .yw-tour-card.yw-tour-card--listing .thumb-image {
        aspect-ratio: 1.08;
    }

    .yw-tour-card.yw-tour-card--listing .item-title a {
        font-size: clamp(18px, 5.2vw, 22px);
    }

    .yw-tour-card.yw-tour-card--listing .yw-package-includes {
        display: flex;
        gap: 8px;
        padding-inline: 14px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x mandatory;
    }

    .yw-tour-card.yw-tour-card--listing .yw-package-includes span {
        flex: 0 0 72px;
        min-height: 58px;
        scroll-snap-align: start;
    }

    .yw-tour-card.yw-tour-card--listing .info {
        padding-bottom: 12px !important;
    }

    .yw-tour-card.yw-tour-card--listing .g-price,
    .yw-tour-card.yw-tour-card--listing .yw-tour-card__details {
        display: none;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__mobile-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        align-items: center;
        gap: 8px;
        position: sticky;
        bottom: calc(var(--yw-mobile-nav-height, 74px) + 8px);
        z-index: 3;
        min-height: 64px;
        border: 1px solid rgba(6, 31, 103, .08);
        border-radius: 18px;
        padding: 8px;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 12px 28px rgba(6, 31, 103, .12);
        backdrop-filter: blur(12px);
    }

    .yw-coming-soon {
        grid-template-columns: 1fr;
        gap: 14px;
        margin: 18px 0 calc(var(--yw-mobile-nav-height, 74px) + 48px);
        padding: 16px;
        border-radius: 22px;
    }

    .yw-coming-soon h2 {
        margin-top: 14px;
        font-size: clamp(26px, 8vw, 34px);
        line-height: 1.08;
    }

    .yw-coming-soon p {
        font-size: 14px;
        line-height: 1.58;
    }

    .yw-coming-soon__chips {
        flex-wrap: nowrap;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }

    .yw-coming-soon__chips::-webkit-scrollbar {
        display: none;
    }

    .yw-coming-soon__chips span {
        flex: 0 0 auto;
        min-height: 40px;
        font-size: 12px;
    }

    .yw-coming-soon__actions {
        display: grid;
        grid-template-columns: 1fr;
        margin-top: 20px;
    }

    .yw-coming-soon__primary,
    .yw-coming-soon__secondary {
        width: 100%;
        min-height: 54px;
    }

    .yw-coming-soon__panel {
        border-radius: 20px;
        padding: 18px;
    }

    .yw-coming-soon__panel strong {
        font-size: 18px;
    }
}

/* Yatriwala page-wise stability pass: keep the logo, offer rail, and marketplace
   cards inside their boxes on every page while preserving the Booking Core flow. */
.yatriwala-design,
.yatriwala-design * {
    box-sizing: border-box;
}

.yatriwala-design {
    overflow-x: clip;
}

.bc_wrap .bc_header.yatriwala-header,
#header.yatriwala-header {
    isolation: isolate;
}

.bc_wrap .bc_header.yatriwala-header .content,
#header.yatriwala-header .header-sticky-menu {
    width: 100%;
}

.bc_wrap .bc_header.yatriwala-header .bc-logo,
#header.yatriwala-header .bc-logo,
.bc-menu-mobile .yatriwala-brand {
    width: clamp(168px, 15vw, 238px);
    flex: 0 0 clamp(168px, 15vw, 238px);
    max-width: clamp(168px, 15vw, 238px);
    min-width: 0;
    overflow: hidden;
}

.yatriwala-brand-logo {
    width: 100% !important;
    height: auto !important;
    max-height: 66px;
    aspect-ratio: 430 / 126;
    object-fit: contain;
    object-position: left center;
}

.bc_wrap .bc_header.yatriwala-header .bc-menu {
    flex: 1 1 auto;
    min-width: 0;
}

.bc_wrap .bc_header.yatriwala-header .bc-menu > ul {
    flex-wrap: nowrap;
    min-width: 0;
}

.bc_wrap .bc_header.yatriwala-header .bc-menu ul li a,
#header.yatriwala-header #bc_main-menu ul li a {
    white-space: nowrap;
}

.yatriwala-header-actions,
.header-right.yatriwala-header-actions {
    flex: 0 0 auto;
}

.yw-global-offers {
    position: relative !important;
    top: auto !important;
    z-index: 22;
    overflow: hidden;
    padding: 16px 0 !important;
    background:
        linear-gradient(90deg, rgba(6, 31, 103, .12), rgba(255, 107, 47, .1)),
        #fff !important;
}

.yw-global-offers__rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: column;
    grid-auto-columns: minmax(280px, 1fr);
    max-width: 100%;
}

.yw-global-offer {
    min-width: 0;
    max-width: 100%;
    min-height: 118px;
    border-radius: 22px;
    padding: 18px 20px;
    box-shadow: 0 18px 44px rgba(6, 31, 103, .14);
}

.yw-global-offer span,
.yw-global-offer small,
.yw-global-offer strong,
.yw-global-offer em {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.yw-package-search-page .bc-list-item,
.search-result-page .bc-list-item,
.yw-package-list-shell,
.yw-package-list-shell .row,
.yw-package-list-shell [class*="col-"] {
    min-width: 0;
}

.yw-package-search-page .bc-list-item .list-item > .row,
.search-result-page .bc-list-item .list-item > .row {
    row-gap: 24px;
}

.yw-tour-card.yw-tour-card--listing {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

.yw-tour-card.yw-tour-card--listing .thumb-image {
    flex: 0 0 auto;
    min-height: 0;
}

.yw-tour-card.yw-tour-card--listing .thumb-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.yw-tour-card.yw-tour-card--listing .item-title,
.yw-tour-card.yw-tour-card--listing .item-title a,
.yw-tour-card.yw-tour-card--listing .location,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__departure span,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__mobile-summary,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity strong,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity small {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.yw-tour-card.yw-tour-card--listing .item-title a {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.yw-tour-card.yw-tour-card--listing .yw-package-includes {
    max-width: 100%;
}

.yw-tour-card.yw-tour-card--listing .yw-package-includes span {
    min-width: 0;
    overflow: hidden;
}

.yw-tour-card.yw-tour-card--listing .yw-package-includes span i {
    flex: 0 0 auto;
}

.yw-tour-card.yw-tour-card--listing .info {
    margin-top: auto;
}

.yw-package-commerce-bar,
.yw-package-feed-prompts,
.yw-active-filter-row,
.yw-package-workflow-row {
    max-width: 100%;
}

.yw-package-workflow-row > div,
.yw-package-workflow-row a,
.yw-package-commerce-bar a,
.yw-package-feed-prompts span {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (min-width: 992px) {
    .yw-package-search-page .bc-list-item .list-item > .row,
    .search-result-page .bc-list-item .list-item > .row {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-left: 0;
        margin-right: 0;
    }

    .yw-package-search-page .bc-list-item .list-item > .row > [class*="col-"],
    .search-result-page .bc-list-item .list-item > .row > [class*="col-"] {
        width: auto;
        max-width: none;
        padding-left: 0;
        padding-right: 0;
    }
}

@media (min-width: 1440px) {
    .yw-package-search-page .bc-list-item .list-item > .row,
    .search-result-page .bc-list-item .list-item > .row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1199px) {
    .bc_wrap .bc_header.yatriwala-header .bc-logo,
    #header.yatriwala-header .bc-logo {
        width: clamp(154px, 20vw, 198px);
        flex-basis: clamp(154px, 20vw, 198px);
        max-width: clamp(154px, 20vw, 198px);
    }

    .bc_wrap .bc_header.yatriwala-header .bc-menu ul li a,
    #header.yatriwala-header #bc_main-menu ul li a {
        padding-inline: 10px;
        font-size: 13px;
    }
}

@media (max-width: 991px) {
    .bc_wrap .bc_header.yatriwala-header .content,
    #header.yatriwala-header .header-sticky-menu {
        min-height: 68px;
    }

    .bc_wrap .bc_header.yatriwala-header .bc-logo,
    #header.yatriwala-header .bc-logo,
    .bc-menu-mobile .yatriwala-brand {
        width: clamp(146px, 42vw, 178px);
        flex-basis: clamp(146px, 42vw, 178px);
        max-width: clamp(146px, 42vw, 178px);
    }

    .bc_wrap .bc_header.yatriwala-header .bc-menu {
        display: none !important;
    }

    .bc_wrap .bc_header.yatriwala-header .bc-more-menu,
    #header.yatriwala-header .toggle-menu,
    #header.yatriwala-header .toggle-menu--user {
        display: inline-flex;
    }

    .yw-global-offers .container {
        max-width: 100%;
    }

    .yw-global-offers__rail {
        grid-template-columns: none;
        grid-auto-columns: minmax(260px, 84vw);
    }
}

@media (max-width: 767px) {
    .yatriwala-design {
        background: var(--yw-cloud);
    }

    .bc_wrap .bc_header.yatriwala-header {
        background: rgba(255, 255, 255, .96);
    }

    .bc_wrap .bc_header.yatriwala-header .container {
        max-width: 100%;
        padding-left: 10px;
        padding-right: 10px;
    }

    .bc_wrap .bc_header.yatriwala-header .content,
    #header.yatriwala-header .header-sticky-menu {
        min-height: 64px;
        padding-left: 0;
        padding-right: 0;
        gap: 8px;
    }

    .bc_wrap .bc_header.yatriwala-header .bc-logo,
    #header.yatriwala-header .bc-logo,
    .bc-menu-mobile .yatriwala-brand {
        width: clamp(142px, 42vw, 166px);
        flex-basis: clamp(142px, 42vw, 166px);
        max-width: clamp(142px, 42vw, 166px);
    }

    .yatriwala-brand-logo {
        max-height: 46px;
    }

    .yatriwala-header-actions .topbar-items {
        display: none !important;
    }

    .yw-global-offers {
        padding: 10px 0 !important;
        box-shadow: 0 12px 28px rgba(6, 31, 103, .09);
    }

    .yw-global-offers .container {
        padding-left: 10px;
        padding-right: 10px;
    }

    .yw-global-offers__rail {
        grid-auto-columns: minmax(252px, 86vw);
        scroll-snap-type: x mandatory;
    }

    .yw-global-offer {
        scroll-snap-align: start;
        min-height: 104px;
        border-radius: 18px;
        padding: 14px 15px;
    }

    .yw-package-search-page .bc-list-item .topbar-search,
    .search-result-page .bc-list-item .topbar-search {
        top: 0;
    }

    .yw-package-commerce-bar {
        top: 0;
        margin-inline: -4px;
        padding-inline: 4px;
    }

    .yw-package-feed-prompts {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        padding-bottom: 4px;
    }

    .yw-package-feed-prompts::-webkit-scrollbar {
        display: none;
    }

    .yw-package-feed-prompts span {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .yw-package-workflow-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        padding: 12px;
        border-radius: 20px;
    }

    .yw-package-workflow-row > div {
        grid-column: 1 / -1;
    }

    .yw-package-workflow-row a {
        min-height: 40px;
        justify-content: center;
        text-align: center;
    }

    .yw-tour-card.yw-tour-card--listing {
        width: 100%;
        max-width: 100%;
        border-radius: 24px !important;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__activity {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 8px;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__activity strong {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__activity small {
        grid-column: 2;
        justify-self: start;
        width: 100%;
        max-width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .yw-tour-card.yw-tour-card--listing .thumb-image {
        aspect-ratio: 1.2;
    }

    .yw-tour-card.yw-tour-card--listing .yw-package-includes {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(68px, 1fr);
        grid-template-columns: none;
        gap: 8px;
        overflow-x: auto;
        padding-inline: 12px;
        scrollbar-width: none;
    }

    .yw-tour-card.yw-tour-card--listing .yw-package-includes::-webkit-scrollbar {
        display: none;
    }

    .yw-tour-card.yw-tour-card--listing .yw-package-includes span {
        min-height: 58px;
        padding: 7px 6px;
        font-size: 10px;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__mobile-actions {
        position: static !important;
        grid-template-columns: minmax(0, 1fr) minmax(76px, auto) minmax(58px, auto) !important;
        min-height: 62px;
        margin: 10px 0 0;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__mobile-price strong {
        display: block;
        max-width: 110px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

@media (max-width: 430px) {
    .bc_wrap .bc_header.yatriwala-header .bc-logo,
    #header.yatriwala-header .bc-logo,
    .bc-menu-mobile .yatriwala-brand {
        width: 146px;
        flex-basis: 146px;
        max-width: 146px;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__activity {
        grid-template-columns: 40px minmax(0, 1fr);
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__activity small {
        max-width: 100%;
    }
}

/* Package page offer slider: admin-managed banners displayed inside listing flow. */
.yatriwala-design .yw-package-offer-strip,
.yw-package-search-page .yw-package-offer-strip,
.yw-tour-app-detail .yw-package-offer-strip {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(280px, 34%);
    gap: 14px;
    max-width: 100%;
    margin: 16px 0 18px;
    overflow-x: auto;
    padding: 4px 2px 12px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.yatriwala-design .yw-package-offer-strip::-webkit-scrollbar,
.yw-package-search-page .yw-package-offer-strip::-webkit-scrollbar,
.yw-tour-app-detail .yw-package-offer-strip::-webkit-scrollbar {
    display: none;
}

.yatriwala-design .yw-package-offer,
.yw-package-search-page .yw-package-offer,
.yw-tour-app-detail .yw-package-offer {
    position: relative;
    min-height: 146px;
    border-radius: 24px;
    overflow: hidden;
    padding: 18px;
    color: #fff;
    text-decoration: none !important;
    scroll-snap-align: start;
    isolation: isolate;
    box-shadow: 0 18px 42px rgba(9, 50, 79, 0.16);
    background:
        linear-gradient(115deg, rgba(7, 25, 49, 0.9), rgba(255, 109, 68, 0.68)),
        var(--offer-image) center / cover no-repeat;
}

.yatriwala-design .yw-package-offer--green,
.yw-package-search-page .yw-package-offer--green,
.yw-tour-app-detail .yw-package-offer--green {
    background:
        linear-gradient(115deg, rgba(4, 81, 69, 0.92), rgba(11, 132, 116, 0.64)),
        var(--offer-image) center / cover no-repeat;
}

.yatriwala-design .yw-package-offer--orange,
.yw-package-search-page .yw-package-offer--orange,
.yw-tour-app-detail .yw-package-offer--orange {
    background:
        linear-gradient(115deg, rgba(6, 34, 72, 0.88), rgba(255, 112, 67, 0.72)),
        var(--offer-image) center / cover no-repeat;
}

.yatriwala-design .yw-package-offer--blue,
.yw-package-search-page .yw-package-offer--blue,
.yw-tour-app-detail .yw-package-offer--blue {
    background:
        linear-gradient(115deg, rgba(7, 36, 93, 0.88), rgba(0, 95, 184, 0.55)),
        var(--offer-image) center / cover no-repeat;
}

.yatriwala-design .yw-package-offer span,
.yatriwala-design .yw-package-offer strong,
.yatriwala-design .yw-package-offer em,
.yatriwala-design .yw-package-offer small,
.yw-package-search-page .yw-package-offer span,
.yw-package-search-page .yw-package-offer strong,
.yw-package-search-page .yw-package-offer em,
.yw-package-search-page .yw-package-offer small,
.yw-tour-app-detail .yw-package-offer span,
.yw-tour-app-detail .yw-package-offer strong,
.yw-tour-app-detail .yw-package-offer em,
.yw-tour-app-detail .yw-package-offer small {
    position: relative;
    z-index: 1;
    display: block;
    max-width: 78%;
    color: inherit;
    overflow: hidden;
    text-overflow: ellipsis;
}

.yatriwala-design .yw-package-offer span,
.yw-package-search-page .yw-package-offer span,
.yw-tour-app-detail .yw-package-offer span {
    width: max-content;
    max-width: 100%;
    margin-bottom: 10px;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.yatriwala-design .yw-package-offer strong,
.yw-package-search-page .yw-package-offer strong,
.yw-tour-app-detail .yw-package-offer strong {
    display: -webkit-box;
    min-height: 48px;
    font-size: clamp(18px, 1.8vw, 25px);
    line-height: 1.08;
    font-weight: 900;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.yatriwala-design .yw-package-offer em,
.yw-package-search-page .yw-package-offer em,
.yw-tour-app-detail .yw-package-offer em {
    display: -webkit-box;
    margin-top: 8px;
    font-style: normal;
    font-size: 13px;
    line-height: 1.35;
    opacity: 0.9;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.yatriwala-design .yw-package-offer small,
.yw-package-search-page .yw-package-offer small,
.yw-tour-app-detail .yw-package-offer small {
    width: max-content;
    max-width: 100%;
    margin-top: 14px;
    padding: 9px 13px;
    border-radius: 999px;
    background: #ffd465;
    color: #061b3d;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.yatriwala-design .yw-package-offer small i,
.yw-package-search-page .yw-package-offer small i,
.yw-tour-app-detail .yw-package-offer small i {
    margin-left: 5px;
}

@media (max-width: 767px) {
    .yatriwala-design .yw-package-offer-strip,
    .yw-package-search-page .yw-package-offer-strip,
    .yw-tour-app-detail .yw-package-offer-strip {
        grid-auto-columns: minmax(82vw, 82vw);
        margin: 12px -2px 16px;
        padding-left: 2px;
        padding-right: 2px;
    }

    .yatriwala-design .yw-package-offer,
    .yw-package-search-page .yw-package-offer,
    .yw-tour-app-detail .yw-package-offer {
        min-height: 132px;
        border-radius: 20px;
        padding: 15px;
    }

    .yatriwala-design .yw-package-offer span,
    .yatriwala-design .yw-package-offer strong,
    .yatriwala-design .yw-package-offer em,
    .yatriwala-design .yw-package-offer small,
    .yw-package-search-page .yw-package-offer span,
    .yw-package-search-page .yw-package-offer strong,
    .yw-package-search-page .yw-package-offer em,
    .yw-package-search-page .yw-package-offer small,
    .yw-tour-app-detail .yw-package-offer span,
    .yw-tour-app-detail .yw-package-offer strong,
    .yw-tour-app-detail .yw-package-offer em,
    .yw-tour-app-detail .yw-package-offer small {
        max-width: 88%;
    }
}

/* 2026 marketplace pass: Yatriwala package pages follow a search-first, app-like
   commerce rhythm. The per-page token override that used to live here is gone —
   it duplicated the canonical :root values almost exactly, so it's redundant now
   that the whole site shares one palette. */

.bc_search_tour.yw-package-search-page {
    background:
        radial-gradient(circle at 18% 0%, rgba(6, 58, 168, .1), transparent 28%),
        radial-gradient(circle at 86% 12%, rgba(255, 107, 47, .12), transparent 28%),
        var(--yw-cloud);
}

.bc_search_tour.yw-package-search-page .bc_banner {
    min-height: 340px;
    border-radius: 0 0 42px 42px;
    background:
        linear-gradient(115deg, rgba(5, 36, 95, .94), rgba(6, 58, 168, .74) 45%, rgba(255, 107, 47, .28)),
        var(--yw-forest);
    box-shadow: 0 26px 60px rgba(6, 31, 103, .16);
}

.yw-package-search-page .yw-package-search-hero span {
    border-color: rgba(255, 255, 255, .3);
    background: rgba(255, 255, 255, .16);
}

.yw-package-search-page .yw-package-search-hero h1 {
    max-width: 900px;
    color: #fff !important;
    letter-spacing: 0;
}

.yw-package-search-page .yw-package-search-hero p {
    max-width: 760px;
}

.yw-package-search-page .bc_form_search .container > .row > .col-12 {
    border-radius: 32px;
    box-shadow: 0 28px 70px rgba(6, 31, 103, .16);
}

.yw-package-search-page .bc_form .btn-search,
.yw-package-search-page .yw-filter-apply,
.yw-package-search-page .yw-tour-card__book,
.yw-package-search-page .yw-tour-card__details {
    background: linear-gradient(135deg, var(--yw-coral), #ff8f45) !important;
    color: #fff !important;
    box-shadow: 0 16px 32px rgba(255, 107, 47, .22);
}

.yw-package-list-shell {
    padding: clamp(20px, 3vw, 34px) 0 80px;
}

.yw-package-list-shell .bc-list-item .topbar-search {
    border-radius: 28px;
    background: rgba(255, 255, 255, .94);
    backdrop-filter: blur(14px);
}

.yw-package-results-title span,
.yw-filter-title span,
.yw-app-card__head span {
    color: var(--yw-coral);
}

.yw-package-commerce-bar {
    position: sticky;
    top: 82px;
    z-index: 16;
    margin: 0 -2px 16px;
    padding: 4px 2px 12px;
    background: linear-gradient(180deg, rgba(247, 250, 255, .98), rgba(247, 250, 255, .78));
    backdrop-filter: blur(10px);
}

.yw-package-commerce-bar a {
    min-height: 48px;
    border-radius: 18px;
    color: var(--yw-ink) !important;
}

.yw-package-commerce-bar a i {
    color: var(--yw-forest);
}

.yw-package-commerce-bar a.is-active {
    background: linear-gradient(135deg, var(--yw-forest), var(--yw-teal));
}

.yw-package-commerce-bar a.is-active i {
    color: #fff;
}

.yw-package-offer-strip {
    grid-auto-columns: minmax(292px, 31%);
    gap: 16px;
    margin: 18px 0 22px;
}

.yw-package-offer,
.yw-global-offer {
    border: 1px solid rgba(255, 255, 255, .18);
}

.yw-package-offer--green,
.yw-global-offer--green {
    background-image:
        linear-gradient(125deg, rgba(6, 31, 103, .92), rgba(10, 89, 216, .55), rgba(255, 107, 47, .34)),
        var(--offer-image) !important;
}

.yw-package-workflow-row,
.yw-umrah-workflow-row,
.yw-package-feed-prompts {
    border-radius: 24px;
}

.yw-tour-card.yw-tour-card--listing {
    border: 1px solid rgba(6, 31, 103, .11) !important;
    border-radius: 30px !important;
    background: #fff !important;
    box-shadow: 0 22px 54px rgba(6, 31, 103, .12) !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

.yw-tour-card.yw-tour-card--listing:hover {
    transform: translateY(-3px);
    box-shadow: 0 28px 70px rgba(6, 31, 103, .16) !important;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity {
    min-height: 70px;
    border-bottom: 1px solid rgba(6, 31, 103, .08);
    padding: 13px 16px;
    background:
        linear-gradient(135deg, rgba(255, 154, 31, .16), rgba(234, 241, 255, .9)),
        #fff;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity > span {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-forest), var(--yw-teal));
    box-shadow: 0 12px 24px rgba(6, 58, 168, .18);
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity strong {
    color: var(--yw-ink);
    font-size: 16px;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity small {
    color: var(--yw-forest);
    font-weight: 950;
}

.yw-tour-card.yw-tour-card--listing .thumb-image {
    aspect-ratio: 1.34;
    background: var(--yw-mist);
}

.yw-tour-card.yw-tour-card--listing .sale_info {
    top: 0;
    right: 0;
    width: 72px;
    height: 72px;
    border-radius: 0;
    clip-path: polygon(100% 0, 0 0, 100% 100%);
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 12px 8px 0 0;
    color: #fff;
    background: var(--yw-coral);
    font-size: 12px;
    font-weight: 950;
    transform: none;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__chips {
    top: 14px;
    left: 14px;
    right: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__chips span,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__chips b {
    min-height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 12px;
    color: var(--yw-ink);
    background: rgba(255, 255, 255, .94);
    font-size: 12px;
    font-weight: 950;
    box-shadow: 0 10px 22px rgba(6, 31, 103, .1);
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__chips b {
    color: #fff;
    background: linear-gradient(135deg, var(--yw-forest), var(--yw-teal));
}

.yw-tour-card.yw-tour-card--listing .service-wishlist,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__quick-actions button {
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 18px;
    color: #fff;
    background: rgba(6, 31, 103, .72);
    box-shadow: 0 12px 28px rgba(6, 31, 103, .18);
    backdrop-filter: blur(12px);
}

.yw-tour-card.yw-tour-card--listing .location,
.yw-tour-card.yw-tour-card--listing .item-title,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__value-strip,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__mobile-summary,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__departure,
.yw-tour-card.yw-tour-card--listing .info {
    padding-left: 18px !important;
    padding-right: 18px !important;
}

.yw-tour-card.yw-tour-card--listing .location {
    margin-top: 18px;
    color: var(--yw-muted);
    font-size: 13px;
    font-weight: 900;
}

.yw-tour-card.yw-tour-card--listing .location i {
    color: var(--yw-coral);
}

.yw-tour-card.yw-tour-card--listing .item-title a {
    color: #081533 !important;
    font-size: clamp(20px, 2vw, 25px);
    line-height: 1.18;
    font-weight: 950;
}

.yw-tour-card.yw-tour-card--listing .yw-package-includes {
    padding: 0 18px;
}

.yw-tour-card.yw-tour-card--listing .yw-package-includes span {
    min-height: 64px;
    border-color: rgba(6, 31, 103, .12);
    border-radius: 14px;
    background: #f9fbff;
    color: var(--yw-muted);
}

.yw-tour-card.yw-tour-card--listing .yw-package-includes span.is-active {
    border-color: rgba(6, 58, 168, .22);
    background: var(--yw-mist);
    color: var(--yw-ink);
}

.yw-tour-card.yw-tour-card--listing .yw-package-includes i {
    color: var(--yw-forest);
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__value-strip span,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__departure span {
    border-color: rgba(6, 31, 103, .1);
    background: #fff;
}

.yw-tour-card.yw-tour-card--listing .g-price .text-price {
    color: #081533;
    font-size: 27px;
    font-weight: 950;
}

.yw-tour-card.yw-tour-card--listing .g-price .onsale {
    color: var(--yw-coral);
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__details {
    min-height: 52px;
    border-radius: 999px;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__mobile-actions {
    background: rgba(255, 255, 255, .98);
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__enquire {
    color: var(--yw-forest) !important;
    background: var(--yw-mist);
}

.bc_detail_tour .yw-tour-detail-hero {
    background: linear-gradient(115deg, #061f67, var(--yw-primary) 62%, var(--yw-accent));
}

.bc_detail_tour .bc_single_book_wrap {
    border-radius: 28px;
}

@media (min-width: 768px) {
    .bc_detail_tour {
        background: var(--yw-cloud);
    }

    .bc_detail_tour .yw-tour-detail-hero,
    .bc_detail_tour .bc_banner {
        display: none !important;
    }

    .bc_detail_tour .yw-tour-app-detail {
        display: block;
        width: min(100%, 1180px);
        margin: 0 auto;
        padding: 28px 0 22px;
        overflow: visible;
    }

    .bc_detail_tour .yw-tour-app-detail .yw-app-hero-card {
        min-height: 430px;
        margin: 0 16px 18px;
        border-radius: 34px;
    }

    .bc_detail_tour .yw-tour-app-detail .yw-app-hero-card__body {
        max-width: 760px;
        padding: 36px;
    }

    .bc_detail_tour .yw-tour-app-detail .yw-app-hero-card__body h1 {
        font-size: clamp(36px, 4vw, 56px);
    }

    .bc_detail_tour .yw-tour-app-detail .yw-app-price-strip,
    .bc_detail_tour .yw-tour-app-detail .yw-app-service-rail,
    .bc_detail_tour .yw-tour-app-detail .yw-app-tools,
    .bc_detail_tour .yw-tour-app-detail .yw-app-checkout-strip,
    .bc_detail_tour .yw-tour-app-detail .yw-app-section-tabs,
    .bc_detail_tour .yw-tour-app-detail .yw-app-snapshot,
    .bc_detail_tour .yw-tour-app-detail .yw-app-card,
    .bc_detail_tour .yw-tour-app-detail .yw-app-expert {
        margin-left: 16px;
        margin-right: 16px;
    }

    .bc_detail_tour .yw-tour-app-detail .yw-app-price-strip {
        position: sticky;
        top: 92px;
        z-index: 24;
        grid-template-columns: minmax(0, 1fr) 52px auto auto;
        max-width: min(760px, calc(100% - 32px));
        margin: -48px 16px 18px auto;
        border-radius: 28px;
        box-shadow: 0 24px 58px rgba(6, 31, 103, .18);
    }

    .bc_detail_tour .yw-tour-app-detail .yw-app-service-rail {
        grid-auto-columns: minmax(128px, 1fr);
    }

    .bc_detail_tour .yw-tour-app-detail .yw-app-tools {
        grid-auto-columns: minmax(112px, 1fr);
    }

    .bc_detail_tour .yw-tour-app-detail .yw-app-checkout-strip,
    .bc_detail_tour .yw-tour-app-detail .yw-app-snapshot {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .bc_detail_tour .yw-tour-app-detail .yw-app-quote-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .bc_detail_tour .yw-tour-app-detail .yw-app-card {
        padding: 26px;
    }

    .bc_detail_tour .yw-tour-app-detail .yw-app-book-bar {
        position: sticky;
        left: auto;
        right: auto;
        bottom: 20px;
        width: min(820px, calc(100% - 32px));
        margin: 18px auto 0;
        border-radius: 28px;
    }

    .bc_detail_tour .bc_content {
        background:
            radial-gradient(circle at 12% 8%, rgba(6, 58, 168, .08), transparent 28%),
            var(--yw-cloud);
        padding-top: 0;
    }

    .bc_detail_tour .bc_content .col-md-12.col-lg-9,
    .bc_detail_tour .bc_content .row.end_tour_sticky,
    .bc_detail_tour .bc_content .col-lg-3 > .owner-info,
    .bc_detail_tour .bc_content .col-lg-3 > .widget-box,
    .bc_detail_tour .bc-more-book-mobile {
        display: none !important;
    }

    .bc_detail_tour .bc_content > .container > .row {
        justify-content: center;
    }

    .bc_detail_tour .bc_content .col-md-12.col-lg-3 {
        flex: 0 0 min(100%, 520px);
        max-width: min(100%, 520px);
        width: min(100%, 520px);
    }

    .bc_detail_tour .bc_single_book_wrap,
    .bc_detail_tour .owner-info,
    .bc_detail_tour .widget-box,
    .bc_detail_tour .g-overview,
    .bc_detail_tour .g-include-exclude,
    .bc_detail_tour .g-itinerary,
    .bc_detail_tour .g-faq,
    .bc_detail_tour .g-review {
        border-radius: 26px !important;
        box-shadow: var(--yw-soft-shadow);
    }
}

@media (max-width: 991px) {
    .yw-package-commerce-bar {
        top: 0;
    }

    .yw-package-search-page .bc_form .g-button-submit {
        padding: 0 14px 14px;
    }
}

@media (max-width: 767px) {
    .bc_search_tour.yw-package-search-page {
        padding-bottom: calc(100px + env(safe-area-inset-bottom));
    }

    .bc_search_tour.yw-package-search-page .bc_banner {
        min-height: 246px;
        border-radius: 0 0 30px 30px;
        padding: 22px 0 54px;
    }

    .yw-package-search-page .yw-package-search-hero {
        gap: 9px;
    }

    .yw-package-search-page .yw-package-search-hero h1 {
        font-size: clamp(27px, 8.6vw, 34px);
        line-height: 1.05;
    }

    .yw-package-search-page .yw-package-search-hero p {
        display: -webkit-box;
        font-size: 13px;
        line-height: 1.45;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .yw-package-hero-chips {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .yw-package-hero-chips::-webkit-scrollbar {
        display: none;
    }

    .yw-package-hero-chips em {
        flex: 0 0 auto;
        min-height: 36px;
        font-size: 11px;
    }

    .bc_search_tour .bc_form_search {
        margin-top: -38px;
    }

    .yw-package-search-page .bc_form_search .container,
    .yw-package-list-shell {
        padding-left: 10px;
        padding-right: 10px;
    }

    .yw-package-search-page .bc_form_search .container > .row > .col-12 {
        border-radius: 26px;
    }

    .yw-package-search-page .bc_form {
        display: grid;
    }

    .yw-package-search-page .bc_form .g-field-search > .row {
        min-height: 0;
    }

    .yw-package-search-page .bc_form .g-field-search [class*="col-"] {
        min-height: 72px;
        border-right: 0 !important;
        border-bottom: 1px solid var(--yw-border) !important;
        padding: 13px 16px;
    }

    .yw-package-search-page .bc_form .btn-search {
        width: 100%;
        min-height: 56px;
        border-radius: 18px;
        text-transform: none;
    }

    .yw-package-list-shell {
        padding-top: 18px;
    }

    .yw-package-list-shell .bc-list-item .topbar-search {
        position: sticky;
        top: 0;
        z-index: 18;
        border-radius: 22px;
        padding: 13px 14px;
        box-shadow: 0 14px 34px rgba(6, 31, 103, .12);
    }

    .yw-package-commerce-bar {
        position: relative;
        top: auto;
        margin: 0 -10px 14px;
        padding: 4px 10px 12px;
    }

    .yw-package-commerce-bar a {
        min-height: 44px;
        border-radius: 16px;
        padding: 0 13px;
        font-size: 12px;
    }

    .yw-package-offer-strip {
        grid-auto-columns: minmax(86vw, 86vw);
        margin: 12px -2px 16px;
    }

    .yw-package-offer {
        min-height: 118px;
        border-radius: 22px;
    }

    .yw-tour-card.yw-tour-card--listing {
        border-radius: 28px !important;
        box-shadow: 0 18px 46px rgba(6, 31, 103, .13) !important;
    }

    .yw-tour-card.yw-tour-card--listing:hover {
        transform: none;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__activity {
        min-height: 64px;
        padding: 10px 12px;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__activity > span {
        width: 42px;
        height: 42px;
        border-radius: 15px;
    }

    .yw-tour-card.yw-tour-card--listing .thumb-image {
        aspect-ratio: 1.03;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__chips {
        top: 12px;
        left: 12px;
        right: 12px;
    }

    .yw-tour-card.yw-tour-card--listing .location,
    .yw-tour-card.yw-tour-card--listing .item-title,
    .yw-tour-card.yw-tour-card--listing .yw-tour-card__value-strip,
    .yw-tour-card.yw-tour-card--listing .yw-tour-card__mobile-summary,
    .yw-tour-card.yw-tour-card--listing .yw-tour-card__departure,
    .yw-tour-card.yw-tour-card--listing .info {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .yw-tour-card.yw-tour-card--listing .yw-package-includes {
        padding-left: 14px;
        padding-right: 14px;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__mobile-actions {
        border-radius: 20px;
    }

    .bc_detail_tour {
        background: var(--yw-cloud);
    }

    .bc_detail_tour .yw-tour-app-detail {
        max-width: 480px;
        margin: 0 auto;
        padding-bottom: calc(168px + env(safe-area-inset-bottom));
    }

    .yw-app-hero-card {
        min-height: 316px;
        margin: 8px 10px 12px;
        border-radius: 28px;
    }

    .yw-app-hero-card__shade {
        background:
            linear-gradient(180deg, rgba(6, 31, 103, .08), rgba(6, 31, 103, .25) 45%, rgba(6, 31, 103, .96)),
            linear-gradient(90deg, rgba(6, 31, 103, .7), rgba(255, 107, 47, .16));
    }

    .yw-app-hero-card__body h1 {
        font-size: clamp(24px, 7.6vw, 30px);
    }

    .yw-app-service-rail,
    .yw-app-tools {
        grid-auto-columns: minmax(84px, 30%);
    }

    .yw-app-section-tabs {
        top: 0;
        border-top: 1px solid rgba(6, 31, 103, .06);
        border-bottom: 1px solid rgba(6, 31, 103, .08);
    }

    .yw-app-card,
    .yw-app-snapshot div,
    .yw-app-quote-builder,
    .yw-app-expert {
        border-radius: 24px;
    }

    .yw-app-book-bar {
        bottom: calc(84px + env(safe-area-inset-bottom));
        border-color: rgba(6, 31, 103, .14);
        background: rgba(255, 255, 255, .97);
    }

    .yw-app-book-bar strong {
        color: var(--yw-ink);
    }

    .yw-app-book-bar button:first-of-type {
        color: var(--yw-forest) !important;
        background: var(--yw-mist);
    }

    .yw-app-book-bar a:last-of-type {
        background: linear-gradient(135deg, var(--yw-coral), #ff8f45);
    }
}

@media (max-width: 390px) {
    .yw-tour-card.yw-tour-card--listing .item-title a {
        font-size: 20px;
    }

    .yw-app-quote-grid {
        grid-template-columns: 1fr;
    }

    .yw-app-book-bar {
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 6px;
    }

    .yw-app-book-bar a,
    .yw-app-book-bar button {
        min-height: 44px;
        padding-inline: 10px;
        font-size: 12px;
    }
}

/* Package marketplace refinement: compact commerce cards, predictable grids, and
   app-like mobile actions without per-card sticky overlays. */
.yw-package-search-page .bc-list-item .list-item > .row,
.search-result-page .bc-list-item .list-item > .row {
    align-items: stretch;
}

.yw-package-search-page .bc-list-item .list-item > .row > [class*="col-"],
.search-result-page .bc-list-item .list-item > .row > [class*="col-"] {
    display: flex;
    min-width: 0;
}

.yw-tour-card.yw-tour-card--listing {
    width: 100%;
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 22px !important;
    background: #fff;
    box-shadow: 0 14px 36px rgba(6, 31, 103, .1) !important;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity {
    min-height: 56px;
    grid-template-columns: 36px minmax(0, 1fr) minmax(68px, auto);
    gap: 9px;
    padding: 9px 12px;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity > span {
    width: 36px;
    height: 36px;
    border-radius: 12px;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity strong {
    font-size: 12px;
    line-height: 1.15;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__activity small {
    font-size: 10px;
    line-height: 1.15;
}

.yw-tour-card.yw-tour-card--listing .thumb-image {
    aspect-ratio: 16 / 10;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__chips {
    gap: 7px;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__chips span,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__chips b {
    min-height: 32px;
    padding: 0 10px;
    font-size: 10px;
    line-height: 1;
}

.yw-tour-card.yw-tour-card--listing .location {
    margin-top: 12px;
    font-size: 12px;
}

.yw-tour-card.yw-tour-card--listing .item-title {
    margin-top: 7px;
}

.yw-tour-card.yw-tour-card--listing .item-title a {
    min-height: 2.35em;
    max-height: 2.35em;
    font-size: 19px;
    line-height: 1.17;
}

.yw-tour-card.yw-tour-card--listing .yw-package-includes {
    gap: 6px;
    margin-top: 12px;
}

.yw-tour-card.yw-tour-card--listing .yw-package-includes span {
    min-height: 52px;
    border-radius: 11px;
    gap: 4px;
    padding: 6px 3px;
    font-size: 9px;
    line-height: 1.05;
    overflow-wrap: anywhere;
}

.yw-tour-card.yw-tour-card--listing .yw-package-includes span i {
    font-size: 14px;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__value-strip {
    gap: 6px;
    margin-top: 12px;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__value-strip span {
    min-height: 34px;
    padding: 0 9px;
    font-size: 10px;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__departure {
    gap: 7px;
    margin-top: 10px;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__departure span {
    font-size: 10px;
}

.yw-tour-card.yw-tour-card--listing .info {
    padding-top: 12px !important;
}

.yw-tour-card.yw-tour-card--listing .g-price {
    min-height: 44px;
}

.yw-tour-card.yw-tour-card--listing .g-price .text-price {
    color: var(--yw-ink);
    font-size: 24px;
    line-height: 1;
}

.yw-tour-card__desktop-actions {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
    margin-top: 12px;
}

.yw-tour-card__desktop-enquire,
.yw-tour-card.yw-tour-card--listing .yw-tour-card__details {
    min-height: 44px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 12px;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none !important;
}

.yw-tour-card__desktop-enquire {
    border: 1px solid rgba(6, 31, 103, .13);
    color: var(--yw-ink) !important;
    background: #fff;
}

.yw-tour-card.yw-tour-card--listing .yw-tour-card__details {
    color: #fff !important;
    background: linear-gradient(135deg, var(--yw-ink), var(--yw-forest));
}

.yw-filter-toggle span {
    min-width: 22px;
    height: 22px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--yw-coral);
    font-size: 10px;
    font-weight: 950;
}

@media (min-width: 1440px) and (max-width: 1759px) {
    .yw-package-search-page .bc-list-item .list-item > .row,
    .search-result-page .bc-list-item .list-item > .row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1760px) {
    .yw-package-search-page .bc-list-item .list-item > .row,
    .search-result-page .bc-list-item .list-item > .row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .yw-package-search-page .bc-list-item .list-item > .row,
    .search-result-page .bc-list-item .list-item > .row {
        row-gap: 14px;
    }

    .yw-package-search-page .bc-list-item .list-item > .row > [class*="col-"],
    .search-result-page .bc-list-item .list-item > .row > [class*="col-"] {
        padding-inline: 0;
    }

    .yw-tour-card.yw-tour-card--listing {
        border-radius: 22px !important;
        box-shadow: 0 12px 30px rgba(6, 31, 103, .1) !important;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__activity {
        min-height: 52px;
        grid-template-columns: 34px minmax(0, 1fr) auto;
        padding: 8px 10px;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__activity > span {
        width: 34px;
        height: 34px;
        border-radius: 11px;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__activity small {
        grid-column: auto;
        justify-self: end;
        width: auto;
        max-width: 104px;
    }

    .yw-tour-card.yw-tour-card--listing .thumb-image {
        aspect-ratio: 16 / 9;
    }

    .yw-tour-card.yw-tour-card--listing .location,
    .yw-tour-card.yw-tour-card--listing .item-title,
    .yw-tour-card.yw-tour-card--listing .yw-tour-card__value-strip,
    .yw-tour-card.yw-tour-card--listing .yw-tour-card__mobile-summary,
    .yw-tour-card.yw-tour-card--listing .info {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .yw-tour-card.yw-tour-card--listing .item-title a {
        min-height: 2.3em;
        max-height: 2.3em;
        font-size: 18px;
        line-height: 1.15;
    }

    .yw-tour-card.yw-tour-card--listing .yw-package-includes {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 5px;
        overflow: visible;
        padding: 0 12px;
    }

    .yw-tour-card.yw-tour-card--listing .yw-package-includes span {
        min-width: 0;
        min-height: 52px;
        font-size: 8px;
        scroll-snap-align: none;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__value-strip {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__value-strip::-webkit-scrollbar {
        display: none;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__value-strip span {
        flex: 0 0 auto;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__mobile-summary,
    .yw-tour-card.yw-tour-card--listing .yw-tour-card__departure,
    .yw-tour-card.yw-tour-card--listing .service-review,
    .yw-tour-card.yw-tour-card--listing .yw-tour-card__highlights,
    .yw-tour-card.yw-tour-card--listing .yw-tour-card__secondary-actions,
    .yw-tour-card.yw-tour-card--listing .yw-tour-card__desktop-actions,
    .yw-tour-card.yw-tour-card--listing .g-price {
        display: none !important;
    }

    .yw-tour-card.yw-tour-card--listing .info {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__mobile-actions {
        position: static;
        bottom: auto;
        z-index: auto;
        min-height: 58px;
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 6px;
        margin: 0;
        border-radius: 16px;
        padding: 6px;
        box-shadow: none;
        backdrop-filter: none;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__mobile-price strong {
        font-size: 17px;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__enquire,
    .yw-tour-card.yw-tour-card--listing .yw-tour-card__book {
        min-height: 44px;
        padding-inline: 13px;
        font-size: 11px;
    }

    .yw-package-offer-strip {
        grid-auto-columns: minmax(78vw, 78vw);
    }

    .yw-package-offer {
        min-height: 104px;
    }
}

@media (max-width: 359px) {
    .yw-tour-card.yw-tour-card--listing .yw-package-includes {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .yw-tour-card.yw-tour-card--listing .yw-package-includes span:nth-child(n + 4) {
        display: none;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__activity small {
        max-width: 78px;
    }

    .yw-tour-card.yw-tour-card--listing .yw-tour-card__enquire,
    .yw-tour-card.yw-tour-card--listing .yw-tour-card__book {
        padding-inline: 10px;
    }
}

/* Launch content pages and structured trip enquiries */
.yw-contact-channels {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.yw-contact-form__grid--trip {
    margin: 4px 0 2px;
    border-top: 1px solid var(--yw-border);
    padding-top: 18px;
}

.yw-content-page {
    min-height: 65vh;
    color: var(--yw-ink);
    background: var(--yw-cloud);
}

.yw-content-page__hero {
    padding: 70px 0 58px;
    color: #fff;
    background: linear-gradient(120deg, var(--yw-ink), var(--yw-forest) 62%, var(--yw-teal));
}

.yw-content-page__hero .container {
    max-width: 1120px;
}

.yw-content-page__eyebrow {
    display: block;
    margin-bottom: 12px;
    color: #ffb27e;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.yw-content-page__hero h1 {
    max-width: 820px;
    margin: 0;
    color: #fff;
    font-size: clamp(38px, 5vw, 60px);
    line-height: 1.05;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.yw-content-page__hero p {
    max-width: 720px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .82);
    font-size: 18px;
    line-height: 1.65;
}

.yw-content-page__layout {
    max-width: 1120px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 28px;
    align-items: start;
    padding-top: 42px;
    padding-bottom: 72px;
}

.yw-content-page__article,
.yw-content-page__aside {
    border: 1px solid var(--yw-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--yw-soft-shadow);
}

.yw-content-page__article {
    padding: clamp(24px, 4vw, 48px);
    color: #33415f;
    font-size: 16px;
    line-height: 1.8;
}

.yw-content-page__article h2 {
    margin: 36px 0 10px;
    color: var(--yw-ink);
    font-size: 25px;
    line-height: 1.25;
    font-weight: 900;
}

.yw-content-page__article h2:first-child {
    margin-top: 0;
}

.yw-content-page__article p,
.yw-content-page__article ul {
    margin-bottom: 18px;
}

.yw-content-page__article li + li {
    margin-top: 8px;
}

.yw-content-page__aside {
    position: sticky;
    top: 96px;
    display: grid;
    gap: 12px;
    padding: 24px;
}

.yw-content-page__aside strong {
    color: var(--yw-ink);
    font-size: 21px;
    line-height: 1.25;
}

.yw-content-page__aside p {
    margin: 0;
    color: var(--yw-muted);
    font-size: 14px;
    line-height: 1.6;
}

.yw-content-page__aside .btn {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 8px;
    color: #fff;
    background: var(--yw-coral);
    font-weight: 900;
}

.yw-content-page__aside > a:last-child {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yw-forest);
    font-weight: 800;
}

.yatriwala-footer .copy-right .f-visa,
.main-footer--solo .bc_footer--copy-right {
    display: flex;
    justify-content: flex-end;
    gap: 18px;
}

@media (max-width: 767px) {
    .yw-content-page {
        padding-bottom: 86px;
    }

    .yw-content-page__hero {
        padding: 34px 0 30px;
    }

    .yw-content-page__hero h1 {
        font-size: 31px;
    }

    .yw-content-page__hero p {
        margin-top: 12px;
        font-size: 15px;
    }

    .yw-content-page__layout {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 14px 12px 28px;
    }

    .yw-content-page__article {
        border-radius: 18px;
        padding: 22px 18px;
        font-size: 15px;
        line-height: 1.7;
    }

    .yw-content-page__article h2 {
        margin-top: 28px;
        font-size: 21px;
    }

    .yw-content-page__aside {
        position: static;
        border-radius: 18px;
    }

    .yatriwala-footer .copy-right .f-visa,
    .main-footer--solo .bc_footer--copy-right {
        justify-content: flex-start;
    }
}

/* Yatriwala contact and travel-support workspace */
.yw-contact-app {
    min-height: 70vh;
    padding: 34px 0 120px;
    color: var(--yw-ink);
    background: #f7faff;
}

.yw-contact-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    gap: 24px;
    align-items: center;
    border: 1px solid rgba(6, 31, 103, .12);
    border-top: 5px solid var(--yw-coral);
    border-radius: 8px;
    padding: 30px;
    background: #fff;
    box-shadow: var(--yw-soft-shadow);
}

.yw-contact-hero h1,
.yw-contact-form__head h2,
.yw-contact-side__head h2 {
    margin: 0;
    color: var(--yw-ink);
    letter-spacing: 0;
}

.yw-contact-hero h1 {
    max-width: 720px;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.08;
    font-weight: 950;
}

.yw-contact-hero p {
    max-width: 720px;
    margin: 12px 0 0;
    color: var(--yw-muted);
    font-size: 16px;
    line-height: 1.7;
}

.yw-contact-promise {
    min-height: 120px;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    align-content: center;
    gap: 2px 14px;
    border-left: 1px solid var(--yw-border);
    padding-left: 24px;
}

.yw-contact-promise > i {
    width: 52px;
    height: 52px;
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #fff;
    background: var(--yw-forest);
    font-size: 21px;
}

.yw-contact-promise span,
.yw-contact-promise strong {
    display: block;
}

.yw-contact-promise span {
    color: var(--yw-coral);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.yw-contact-promise strong {
    color: var(--yw-ink);
    font-size: 17px;
    line-height: 1.35;
}

.yw-contact-channels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.yw-contact-channels a {
    min-width: 0;
    min-height: 78px;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-content: center;
    gap: 1px 12px;
    border: 1px solid var(--yw-border);
    border-radius: 8px;
    padding: 13px 16px;
    color: var(--yw-ink);
    background: #fff;
    box-shadow: 0 10px 24px rgba(6, 31, 103, .06);
}

.yw-contact-channels a:hover,
.yw-contact-channels a:focus-visible {
    border-color: rgba(255, 100, 24, .48);
    color: var(--yw-ink);
    transform: translateY(-2px);
}

.yw-contact-channels i {
    width: 44px;
    height: 44px;
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #fff;
    background: var(--yw-forest);
    font-size: 17px;
}

.yw-contact-channels a:nth-child(2) i {
    background: #128c7e;
}

.yw-contact-channels span,
.yw-contact-channels strong {
    min-width: 0;
    display: block;
    overflow-wrap: anywhere;
}

.yw-contact-channels span {
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 800;
}

.yw-contact-channels strong {
    font-size: 14px;
    line-height: 1.35;
}

.yw-plan-shortcuts {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 22px;
}

.yw-plan-shortcuts a {
    min-width: 0;
    min-height: 116px;
    border: 1px solid rgba(6, 58, 168, .12);
    border-radius: 16px;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 7px;
    padding: 14px 10px;
    color: var(--yw-ink);
    background: #fff;
    box-shadow: 0 14px 32px rgba(10, 31, 28, .08);
    text-align: center;
}

.yw-plan-shortcuts a i {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, #063aa8, #ff6a21);
    font-size: 18px;
}

.yw-plan-shortcuts a span {
    color: var(--yw-ink);
    font-size: 14px;
    line-height: 1.1;
    font-weight: 950;
}

.yw-plan-shortcuts a small {
    display: -webkit-box;
    min-width: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: var(--yw-muted);
    font-size: 11px;
    line-height: 1.25;
    font-weight: 750;
}

.yw-plan-shortcuts a.is-active,
.yw-plan-shortcuts a:hover,
.yw-plan-shortcuts a:focus-visible {
    border-color: rgba(255, 106, 33, .45);
    background: linear-gradient(135deg, rgba(6, 58, 168, .08), rgba(255, 106, 33, .1));
}

.yw-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: 18px;
    align-items: start;
}

.yw-contact-form,
.yw-contact-side {
    border: 1px solid var(--yw-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--yw-soft-shadow);
}

.yw-contact-form {
    padding: 28px;
}

.yw-contact-form__head {
    margin-bottom: 22px;
}

.yw-contact-form__head h2,
.yw-contact-side__head h2 {
    font-size: 24px;
    line-height: 1.2;
    font-weight: 950;
}

.yw-contact-form__head p {
    margin: 7px 0 0;
    color: var(--yw-muted);
    line-height: 1.6;
}

.yw-contact-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 14px;
}

.yw-contact-form .form-group {
    margin-bottom: 16px;
}

.yw-contact-form label {
    display: block;
    margin-bottom: 7px;
    color: var(--yw-ink);
    font-size: 13px;
    font-weight: 900;
}

.yw-contact-form .form-control {
    width: 100%;
    min-height: 50px;
    border: 1px solid rgba(6, 31, 103, .16);
    border-radius: 8px;
    padding: 12px 14px;
    color: var(--yw-ink);
    background: #fff;
    font-size: 14px;
    line-height: 1.4;
    box-shadow: none;
}

.yw-contact-form textarea.form-control {
    min-height: 138px;
    resize: vertical;
}

.yw-contact-form .form-control:focus {
    border-color: var(--yw-teal);
    box-shadow: 0 0 0 3px rgba(10, 89, 216, .1);
}

.yw-contact-captcha:empty {
    display: none;
}

.yw-contact-submit-row {
    display: flex;
    align-items: center;
    gap: 16px;
}

.yw-contact-submit-row .btn {
    min-width: 190px;
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    background: var(--yw-coral);
    font-size: 15px;
    font-weight: 900;
}

.yw-contact-submit-row > span {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    color: var(--yw-muted);
    font-size: 12px;
    line-height: 1.5;
}

.yw-contact-submit-row > span i {
    margin-top: 2px;
    color: var(--yw-forest);
}

.yw-contact-side {
    position: sticky;
    top: 96px;
    overflow: hidden;
}

.yw-contact-side__head {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    border-bottom: 1px solid var(--yw-border);
    padding: 22px;
}

.yw-contact-side__head i {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #fff;
    background: var(--yw-coral);
    font-size: 18px;
}

.yw-contact-steps {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 8px 22px;
    list-style: none;
}

.yw-contact-steps li {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(6, 31, 103, .08);
}

.yw-contact-steps li:last-child {
    border-bottom: 0;
}

.yw-contact-steps li > span {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    background: var(--yw-forest);
    font-size: 13px;
    font-weight: 950;
}

.yw-contact-steps strong,
.yw-contact-steps small {
    display: block;
}

.yw-contact-steps strong {
    color: var(--yw-ink);
    font-size: 14px;
}

.yw-contact-steps small {
    margin-top: 4px;
    color: var(--yw-muted);
    font-size: 12px;
    line-height: 1.55;
}

.yw-contact-office {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin: 0 22px 22px;
    border-radius: 8px;
    padding: 14px;
    color: #fff;
    background: var(--yw-forest);
}

.yw-contact-office > i {
    font-size: 20px;
    text-align: center;
}

.yw-contact-office span,
.yw-contact-office strong {
    display: block;
}

.yw-contact-office span {
    color: rgba(255, 255, 255, .72);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.yw-contact-office strong {
    margin-top: 2px;
    color: #fff;
    font-size: 13px;
    line-height: 1.45;
}

.yw-contact-admin-copy {
    margin: -4px 22px 22px;
    color: var(--yw-muted);
    font-size: 13px;
    line-height: 1.6;
}

.yw-contact-trust {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.yw-contact-trust span {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid var(--yw-border);
    border-radius: 8px;
    padding: 10px;
    color: var(--yw-ink);
    background: #fff;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
}

.yw-contact-trust i {
    color: var(--yw-coral);
    font-size: 16px;
}

@media (max-width: 991px) {
    .yw-contact-hero,
    .yw-contact-layout {
        grid-template-columns: 1fr;
    }

    .yw-contact-promise {
        min-height: auto;
        border-top: 1px solid var(--yw-border);
        border-left: 0;
        padding: 20px 0 0;
    }

    .yw-contact-side {
        position: static;
    }
}

@media (max-width: 767px) {
    .yw-contact-app {
        padding: 12px 0 116px;
    }

    .yw-contact-app > .container {
        padding-right: 12px;
        padding-left: 12px;
    }

    .yw-contact-hero,
    .yw-contact-form {
        padding: 20px;
    }

    .yw-contact-hero h1 {
        font-size: 30px;
    }

    .yw-contact-hero p {
        font-size: 14px;
        line-height: 1.6;
    }

    .yw-contact-channels {
        grid-auto-flow: column;
        grid-auto-columns: minmax(78vw, 78vw);
        grid-template-columns: none;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .yw-contact-channels::-webkit-scrollbar {
        display: none;
    }

    .yw-contact-channels a {
        scroll-snap-align: start;
    }

    .yw-plan-shortcuts {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        margin-right: -12px;
        padding-right: 12px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .yw-plan-shortcuts::-webkit-scrollbar {
        display: none;
    }

    .yw-plan-shortcuts a {
        flex: 0 0 126px;
        min-height: 116px;
        scroll-snap-align: start;
    }

    .yw-contact-form__grid,
    .yw-contact-trust {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .yw-contact-submit-row {
        align-items: stretch;
        flex-direction: column;
    }

    .yw-contact-submit-row .btn {
        width: 100%;
    }
}

@media (max-width: 390px) {
    .yw-contact-form__grid {
        grid-template-columns: 1fr;
    }

    .yw-contact-channels {
        grid-auto-columns: minmax(84vw, 84vw);
    }
}

/* 2026-06 package marketplace polish: admin offer slider controls and quote-ready
   fallback cards for empty inventory states. */
.yw-global-offers__head,
.yw-empty-package-rail__head {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 10px;
}

.yw-global-offers__head > div:first-child,
.yw-empty-package-rail__head > div:first-child {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.yw-global-offers__head span,
.yw-empty-package-rail__head span {
    color: var(--yw-coral, var(--yw-accent));
    font-size: 11px;
    line-height: 1;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0;
}

.yw-global-offers__head strong,
.yw-empty-package-rail__head strong {
    color: var(--yw-ink, #061f67);
    font-size: clamp(16px, 1.7vw, 22px);
    line-height: 1.08;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.yw-global-offers__controls,
.yw-empty-package-rail__controls {
    flex: 0 0 auto;
    display: inline-flex;
    gap: 8px;
}

.yw-global-offers__controls button,
.yw-empty-package-rail__controls button {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(6, 31, 103, .14);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yw-ink, #061f67);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 28px rgba(6, 31, 103, .1);
}

.yw-global-offers__controls button:hover,
.yw-empty-package-rail__controls button:hover {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--yw-forest, var(--yw-primary)), var(--yw-coral, var(--yw-accent)));
}

.yw-empty-package-rail {
    position: relative;
    margin-top: 18px;
    overflow: hidden;
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 28px;
    padding: 18px;
    background:
        radial-gradient(circle at 10% 0%, rgba(255, 107, 47, .11), transparent 26%),
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(235, 248, 246, .96));
    box-shadow: 0 24px 60px rgba(6, 31, 103, .1);
}

.yw-empty-package-rail__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(260px, 32%);
    gap: 16px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 2px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.yw-empty-package-rail__track::-webkit-scrollbar {
    display: none;
}

.yw-empty-package-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(6, 31, 103, .11);
    border-radius: 26px;
    display: grid;
    background: #fff;
    box-shadow: 0 18px 42px rgba(6, 31, 103, .11);
    scroll-snap-align: start;
}

.yw-empty-package-card header {
    min-height: 62px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(255, 248, 220, .84));
}

.yw-empty-package-card header span {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--yw-ink, #061f67);
    font-size: 13px;
    line-height: 1.2;
    font-weight: 950;
    text-transform: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yw-empty-package-card header span i {
    width: 34px;
    height: 34px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-forest, var(--yw-primary)), var(--yw-teal, #0a59d8));
}

.yw-empty-package-card header small {
    min-height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-coral, var(--yw-accent)), var(--yw-sun, #ff9a1f));
    font-size: 11px;
    font-weight: 950;
    white-space: nowrap;
}

.yw-empty-package-card__media {
    aspect-ratio: 1.42;
    overflow: hidden;
    background: var(--yw-mist, #e8f7f4);
}

.yw-empty-package-card__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .35s ease;
}

.yw-empty-package-card:hover .yw-empty-package-card__media img {
    transform: scale(1.035);
}

.yw-empty-package-card__body {
    min-width: 0;
    display: grid;
    gap: 12px;
    padding: 16px;
}

.yw-empty-package-card__body em {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--yw-muted, #647471);
    font-size: 13px;
    line-height: 1.25;
    font-style: normal;
    font-weight: 850;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yw-empty-package-card__body strong {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: var(--yw-ink, #061f67);
    font-size: clamp(21px, 2vw, 28px);
    line-height: 1.1;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.yw-empty-package-card__body > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.yw-empty-package-card__body > div span {
    min-height: 54px;
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 14px;
    display: grid;
    place-items: center;
    gap: 4px;
    padding: 7px 5px;
    color: var(--yw-forest, var(--yw-primary));
    background: var(--yw-mist, #e8f7f4);
    font-size: 10px;
    line-height: 1.05;
    font-weight: 950;
    text-align: center;
    overflow-wrap: anywhere;
}

.yw-empty-package-card__body > div span:nth-child(even) {
    background: rgba(255, 248, 220, .84);
}

.yw-empty-package-card__body a {
    min-height: 52px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    background: linear-gradient(135deg, var(--yw-forest, var(--yw-primary)), var(--yw-ink, #061f67));
    font-size: 14px;
    font-weight: 950;
    text-decoration: none !important;
}

.yw-tour-app-detail--offline .yw-app-card__head strong,
.yw-service-offline-page .yw-app-card__head strong {
    overflow-wrap: anywhere;
}

.yw-tour-app-detail--offline .yw-app-info-list div,
.yw-service-offline-page .yw-app-info-list div {
    min-width: 0;
}

.yw-tour-app-detail--offline .yw-app-info-list span,
.yw-service-offline-page .yw-app-info-list span {
    overflow-wrap: anywhere;
}

@media (max-width: 991px) {
    .yw-empty-package-rail__track {
        grid-auto-columns: minmax(260px, 48%);
    }
}

@media (max-width: 767px) {
    .yw-app-book-bar {
        left: 8px !important;
        right: 8px !important;
        width: auto !important;
        max-width: none !important;
        box-sizing: border-box;
        transform: none !important;
    }

    .yw-global-offers__head {
        padding-inline: 4px;
    }

    .yw-global-offers__head strong {
        font-size: 15px;
    }

    .yw-global-offers__controls {
        display: none;
    }

    .yw-empty-package-rail {
        margin: 14px -2px 0;
        border-radius: 24px;
        padding: 14px;
    }

    .yw-empty-package-rail__head {
        align-items: flex-end;
    }

    .yw-empty-package-rail__head strong {
        font-size: 17px;
    }

    .yw-empty-package-rail__controls button {
        width: 38px;
        height: 38px;
    }

    .yw-empty-package-rail__track {
        grid-auto-columns: minmax(82vw, 82vw);
        gap: 12px;
    }

    .yw-empty-package-card {
        border-radius: 24px;
    }

    .yw-empty-package-card header {
        min-height: 58px;
    }

    .yw-empty-package-card__body {
        padding: 14px;
    }

    .yw-empty-package-card__body strong {
        font-size: 23px;
    }

    .yw-empty-package-card__body > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 390px) {
    .yw-empty-package-rail__track {
        grid-auto-columns: minmax(84vw, 84vw);
    }

    .yw-empty-package-card__body strong {
        font-size: 21px;
    }

    .yw-empty-package-card__body > div span {
        min-height: 50px;
        font-size: 9.5px;
    }
}

.yw-service-playbook__rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.yw-service-playbook__rail article {
    min-width: 0;
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 22px;
    display: grid;
    align-content: start;
    gap: 10px;
    padding: 16px;
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 107, 47, .1), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(232, 247, 244, .84));
}

.yw-service-playbook__rail article > i {
    width: 48px;
    height: 48px;
    border-radius: 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-forest, var(--yw-primary)), var(--yw-coral, var(--yw-accent)));
    box-shadow: 0 14px 30px rgba(6, 31, 103, .14);
}

.yw-service-playbook__rail strong,
.yw-service-checklist__grid strong {
    min-width: 0;
    color: var(--yw-ink, #061f67);
    font-size: 17px;
    line-height: 1.16;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.yw-service-playbook__rail p {
    min-width: 0;
    margin: 0;
    color: var(--yw-muted, #647471);
    font-size: 13px;
    line-height: 1.45;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.yw-service-playbook__rail article > div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.yw-service-playbook__rail article > div span {
    min-height: 30px;
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    color: var(--yw-forest, var(--yw-primary));
    background: rgba(255, 255, 255, .82);
    font-size: 11px;
    line-height: 1;
    font-weight: 950;
    white-space: nowrap;
}

.yw-service-checklist__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.yw-service-checklist__grid div {
    min-width: 0;
    min-height: 128px;
    border: 1px solid rgba(6, 31, 103, .1);
    border-radius: 20px;
    display: grid;
    align-content: start;
    gap: 8px;
    padding: 14px;
    background: rgba(255, 255, 255, .92);
}

.yw-service-checklist__grid i {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yw-forest, var(--yw-primary));
    background: var(--yw-mist, #e8f7f4);
}

.yw-service-checklist__grid span {
    min-width: 0;
    color: var(--yw-muted, #647471);
    font-size: 12px;
    line-height: 1.35;
    font-weight: 760;
    overflow-wrap: anywhere;
}

.yw-service-offline-page--flight .yw-service-playbook__rail article:first-child {
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 107, 47, .16), transparent 36%),
        linear-gradient(135deg, rgba(255, 248, 220, .94), rgba(255, 255, 255, .96));
}

.yw-service-offline-page--visa .yw-service-checklist__grid i {
    color: #fff;
    background: linear-gradient(135deg, var(--yw-forest, var(--yw-primary)), var(--yw-teal, #0a59d8));
}

@media (max-width: 991px) {
    .yw-service-playbook__rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .yw-service-checklist__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .yw-service-playbook__rail {
        grid-auto-flow: column;
        grid-auto-columns: minmax(78vw, 78vw);
        grid-template-columns: none;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-padding-inline: 2px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .yw-service-playbook__rail::-webkit-scrollbar {
        display: none;
    }

    .yw-service-playbook__rail article {
        scroll-snap-align: start;
    }

    .yw-service-checklist__grid {
        gap: 8px;
    }

    .yw-service-checklist__grid div {
        min-height: 116px;
        border-radius: 18px;
        padding: 12px;
    }
}

@media (max-width: 390px) {
    .yw-service-playbook__rail {
        grid-auto-columns: minmax(82vw, 82vw);
    }

    .yw-service-checklist__grid {
        grid-template-columns: 1fr;
    }
}

/* Yatriwala service commerce panels */
.yw-service-commerce-panel {
    margin: 0 0 26px;
    padding: 22px;
    border: 1px solid rgba(6, 59, 143, .12);
    border-radius: 24px;
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 107, 47, .12), transparent 34%),
        linear-gradient(135deg, #fff, #f7fbff 58%, #eef8f6);
    box-shadow: 0 22px 54px rgba(4, 33, 76, .09);
    overflow: hidden;
}

.yw-service-commerce-panel__head {
    max-width: 760px;
    margin-bottom: 18px;
}

.yw-service-commerce-panel__head span {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    gap: 9px;
    padding: 8px 12px;
    border-radius: 999px;
    color: var(--yw-forest, var(--yw-primary));
    background: rgba(6, 59, 143, .08);
    font-size: 12px;
    line-height: 1;
    font-weight: 850;
}

.yw-service-commerce-panel__head h3 {
    margin: 14px 0 7px;
    color: var(--yw-ink, #071f1a);
    font-size: clamp(24px, 2.3vw, 34px);
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: 0;
}

.yw-service-commerce-panel__head p {
    margin: 0;
    color: var(--yw-muted, #647471);
    font-size: 15px;
    line-height: 1.6;
    font-weight: 650;
}

.yw-service-commerce-panel__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.yw-service-commerce-panel__grid article {
    min-width: 0;
    min-height: 142px;
    padding: 16px;
    border: 1px solid rgba(6, 59, 143, .11);
    border-radius: 20px;
    background: rgba(255, 255, 255, .82);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.yw-service-commerce-panel__grid i {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-forest, var(--yw-primary)), var(--yw-teal, #0a59d8));
    font-size: 17px;
    box-shadow: 0 14px 28px rgba(6, 59, 143, .18);
}

.yw-service-commerce-panel--visa .yw-service-commerce-panel__grid i {
    background: linear-gradient(135deg, var(--yw-orange, var(--yw-accent)), #ff9f4a);
    box-shadow: 0 14px 28px rgba(255, 107, 47, .2);
}

.yw-service-commerce-panel__grid span {
    display: block;
    margin-top: 14px;
    color: var(--yw-muted, #647471);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 850;
    text-transform: uppercase;
}

.yw-service-commerce-panel__grid strong {
    display: block;
    margin-top: 6px;
    color: var(--yw-ink, #071f1a);
    font-size: 15px;
    line-height: 1.35;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.yw-service-commerce-panel__quick {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 16px;
}

.yw-service-commerce-panel__quick span {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 13px;
    border: 1px solid rgba(6, 59, 143, .1);
    border-radius: 999px;
    color: var(--yw-forest, var(--yw-primary));
    background: rgba(255, 255, 255, .75);
    font-size: 13px;
    line-height: 1.2;
    font-weight: 850;
}

.yw-service-commerce-panel__quick i {
    color: var(--yw-orange, var(--yw-accent));
}

.yw-service-commerce-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.yw-service-commerce-panel__actions a,
.yw-service-commerce-panel__actions button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 18px;
    border: 0;
    border-radius: 999px;
    color: var(--yw-ink, #071f1a);
    background: rgba(232, 247, 244, .95);
    font-size: 14px;
    line-height: 1;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.yw-service-commerce-panel__actions a:first-child {
    color: #fff;
    background: linear-gradient(135deg, var(--yw-forest, var(--yw-primary)), var(--yw-teal, #0a59d8));
    box-shadow: 0 16px 32px rgba(6, 59, 143, .2);
}

.yw-service-commerce-panel--visa .yw-service-commerce-panel__actions a:first-child {
    background: linear-gradient(135deg, var(--yw-orange, var(--yw-accent)), #ff9f4a);
    box-shadow: 0 16px 32px rgba(255, 107, 47, .22);
}

@media (max-width: 991px) {
    .yw-service-commerce-panel__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .yw-service-detail-page .yw-package-offer-strip {
        margin-top: 12px;
    }

    .yw-service-commerce-panel {
        margin: 0 -2px 18px;
        padding: 16px;
        border-radius: 24px;
    }

    .yw-service-commerce-panel__head h3 {
        font-size: 24px;
        line-height: 1.12;
    }

    .yw-service-commerce-panel__grid {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(72vw, 72vw);
        grid-template-columns: none;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        padding-bottom: 2px;
    }

    .yw-service-commerce-panel__grid::-webkit-scrollbar {
        display: none;
    }

    .yw-service-commerce-panel__grid article {
        min-height: 154px;
        scroll-snap-align: start;
    }

    .yw-service-commerce-panel__quick {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .yw-service-commerce-panel__quick::-webkit-scrollbar {
        display: none;
    }

    .yw-service-commerce-panel__quick span {
        flex: 0 0 auto;
    }

    .yw-service-commerce-panel__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .yw-service-commerce-panel__actions a,
    .yw-service-commerce-panel__actions button {
        width: 100%;
        padding-inline: 12px;
    }
}

@media (max-width: 390px) {
    .yw-service-commerce-panel__grid {
        grid-auto-columns: minmax(78vw, 78vw);
    }

    .yw-service-commerce-panel__actions {
        grid-template-columns: 1fr;
    }
}

/* Service tab status chips */
.yw-search-service-tabs a {
    position: relative;
}

.yw-search-service-tabs a small {
    min-height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 7px;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-orange, var(--yw-accent)), #ff9f4a);
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    white-space: nowrap;
}

.yw-search-service-tabs a.is-coming-soon {
    border-color: rgba(255, 107, 47, .28);
    background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(255, 248, 220, .84));
}

.yw-search-service-tabs a.is-coming-soon i {
    color: var(--yw-orange, var(--yw-accent));
}

@media (max-width: 767px) {
    .yw-search-service-tabs a small {
        position: absolute;
        top: 6px;
        right: 7px;
        min-height: 18px;
        padding: 3px 5px;
        font-size: 8px;
        max-width: 72px;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* Yatriwala customer account app shell */
.yw-account-body {
    background:
        radial-gradient(circle at 12% 6%, rgba(255, 107, 47, .12), transparent 28%),
        linear-gradient(135deg, #f7faff 0%, #eef6ff 42%, #fff8f2 100%);
}

.yw-account-body .bc_topbar,
.yw-account-body .bc_header,
.yw-account-body .bc_footer {
    display: none !important;
}

.yw-account-body .bc_wrap,
.yw-account-body .bc_user_profile {
    min-height: 100vh;
    background: transparent;
}

.yw-account-body .bc_user_profile {
    padding: 18px 18px 28px;
}

.yw-account-body .bc_user_profile > .container-fluid {
    max-width: 1480px;
    margin: 0 auto;
    padding: 0;
}

.yw-account-body .row-eq-height {
    align-items: stretch;
}

.yw-account-topbar {
    position: sticky;
    top: 0;
    z-index: 90;
    display: grid;
    grid-template-columns: minmax(180px, 260px) 1fr auto;
    align-items: center;
    gap: 16px;
    min-height: 76px;
    padding: 12px max(18px, calc((100vw - 1480px) / 2 + 18px));
    background: rgba(255, 255, 255, .92);
    border-bottom: 1px solid rgba(6, 59, 143, .10);
    backdrop-filter: blur(18px);
    box-shadow: 0 12px 32px rgba(6, 31, 103, .08);
}

.yw-account-brand,
.yw-account-sidebar-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: var(--yw-ink, var(--yw-ink));
    font-weight: 950;
}

.yw-account-brand:hover,
.yw-account-sidebar-brand:hover {
    color: var(--yw-ink, var(--yw-ink));
    text-decoration: none;
}

.yw-account-brand img,
.yw-account-sidebar-brand img {
    max-width: 190px;
    max-height: 48px;
    object-fit: contain;
}

.yw-account-brand span,
.yw-account-sidebar-brand span {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-primary), var(--yw-accent));
    box-shadow: 0 14px 28px rgba(6, 59, 143, .18);
}

.yw-account-topnav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
}

.yw-account-topnav::-webkit-scrollbar {
    display: none;
}

.yw-account-topnav a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 999px;
    color: var(--yw-ink, var(--yw-ink));
    background: rgba(255, 255, 255, .74);
    border: 1px solid rgba(6, 59, 143, .10);
    font-weight: 900;
    white-space: nowrap;
}

.yw-account-topnav a:hover {
    color: #fff;
    background: var(--yw-primary);
    text-decoration: none;
}

.yw-account-user {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: 0;
}

.yw-account-user img,
.yw-account-user span {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 16px;
    object-fit: cover;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--yw-primary);
    font-weight: 950;
}

.yw-account-user small {
    max-width: 170px;
    overflow: hidden;
    color: var(--yw-muted, #67738f);
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yw-account-sidebar-col {
    padding: 0 12px 0 0;
}

.yw-account-content-col {
    padding: 0 0 0 12px;
}

.yw-account-body .user-form-settings {
    min-height: calc(100vh - 122px);
    padding: 0;
}

.yw-account-body .yw-account-sidebar {
    position: sticky;
    top: 96px;
    overflow: hidden;
    min-height: calc(100vh - 124px);
    border-radius: 30px;
    padding: 22px;
    color: #fff;
    background:
        linear-gradient(150deg, rgba(5, 36, 95, .96) 0%, rgba(6, 59, 143, .96) 58%, rgba(255, 107, 47, .90) 160%);
    box-shadow: 0 26px 70px rgba(6, 31, 103, .20);
}

.yw-account-sidebar-brand {
    margin-bottom: 22px;
    color: #fff;
}

.yw-account-sidebar-brand img {
    padding: 8px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .92);
}

.yw-account-body .sidebar-user .logo {
    margin: 0;
    text-align: left;
}

.yw-account-body .sidebar-user .avatar,
.yw-account-body .sidebar-user .avatar-text {
    width: 72px;
    height: 72px;
    border-radius: 24px;
    margin: 0 0 14px;
    border: 2px solid rgba(255, 255, 255, .48);
    box-shadow: 0 18px 38px rgba(0, 0, 0, .22);
}

.yw-account-body .sidebar-user .avatar-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yw-primary);
    background: #fff;
    font-size: 28px;
    font-weight: 950;
}

.yw-account-body .user-profile-avatar {
    margin: 0 0 14px;
    padding: 0;
    text-align: left;
}

.yw-account-body .user-profile-avatar h5 {
    color: #fff;
    font-size: 20px;
    line-height: 1.2;
}

.yw-account-body .user-profile-avatar p,
.yw-account-body .sidebar-user .role-name {
    color: rgba(255, 255, 255, .78);
}

.yw-account-sidebar-status {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 18px 0;
}

.yw-account-sidebar-status span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 12px;
    border-radius: 999px;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .14);
    font-weight: 850;
}

.yw-account-body .sidebar-menu .main-menu {
    padding: 0;
    margin: 16px 0;
}

.yw-account-body .sidebar-menu .main-menu > li {
    margin-bottom: 8px;
    border-radius: 18px;
}

.yw-account-body .sidebar-menu .main-menu > li > a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 0 14px;
    border-radius: 18px;
    color: rgba(255, 255, 255, .86);
    font-weight: 900;
}

.yw-account-body .sidebar-menu .main-menu > li > a:hover,
.yw-account-body .sidebar-menu .main-menu > li.active > a {
    color: var(--yw-ink);
    background: #fff;
    text-decoration: none;
}

.yw-account-body .sidebar-menu .main-menu .icon {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: inherit;
    background: rgba(255, 255, 255, .12);
}

.yw-account-body .sidebar-menu .main-menu > li.active .icon,
.yw-account-body .sidebar-menu .main-menu > li > a:hover .icon {
    color: #fff;
    background: var(--yw-accent);
}

.yw-account-body .sidebar-user .logout a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    color: rgba(255, 255, 255, .82);
    font-weight: 850;
}

.yw-account-body .user-bc,
.yw-account-body .bc-user-breadcrumb,
.yw-account-body .breadcrumb {
    display: none !important;
}

.yw-account-bottom-nav {
    display: none;
}

.yw-account-body .yw-user-app-page {
    width: 100%;
    min-width: 0;
}

.yw-account-body .yw-user-hero {
    background: linear-gradient(135deg, var(--yw-ink) 0%, var(--yw-primary) 58%, var(--yw-accent) 140%);
}

.yw-account-body .yw-trip-card h3,
.yw-account-body .yw-saved-body h3,
.yw-account-body .yw-profile-card h3 {
    overflow-wrap: anywhere;
}

@media (max-width: 1199px) {
    .yw-account-topbar {
        grid-template-columns: minmax(150px, 220px) 1fr auto;
    }

    .yw-account-user small {
        display: none;
    }
}

@media (max-width: 991px) {
    .yw-account-topbar {
        grid-template-columns: 1fr auto;
    }

    .yw-account-topnav {
        display: none;
    }

    .yw-account-sidebar-col {
        display: none;
    }

    .yw-account-content-col {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0;
    }

    .yw-account-body .bc_user_profile {
        padding: 14px 14px 110px;
    }

    .yw-account-body .user-form-settings {
        min-height: auto;
    }

    .yw-account-bottom-nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 140;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 4px;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
        background: rgba(255, 255, 255, .96);
        border-top: 1px solid rgba(6, 59, 143, .10);
        box-shadow: 0 -18px 44px rgba(6, 31, 103, .12);
        backdrop-filter: blur(18px);
    }

    .yw-account-bottom-nav a {
        min-width: 0;
        min-height: 60px;
        border-radius: 20px;
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        color: #081f1b;
        font-size: 11px;
        font-weight: 900;
    }

    .yw-account-bottom-nav a:hover,
    .yw-account-bottom-nav a:focus {
        color: var(--yw-primary);
        background: #eef6ff;
        text-decoration: none;
    }

    .yw-account-bottom-nav i {
        font-size: 20px;
    }
}

@media (max-width: 767px) {
    .yw-account-topbar {
        min-height: 68px;
        padding: 10px 14px;
    }

    .yw-account-brand img {
        max-width: 144px;
        max-height: 42px;
    }

    .yw-account-brand span {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        border-radius: 14px;
    }

    .yw-account-user img,
    .yw-account-user span {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        border-radius: 14px;
    }

    .yw-account-body .bc_user_profile {
        padding: 10px 10px 104px;
    }

    .yw-account-body .yw-user-hero {
        margin: 0 0 14px;
        border-radius: 28px;
        padding: 18px;
    }

    .yw-account-body .yw-user-hero h1 {
        font-size: 28px;
        line-height: 1.08;
    }

    .yw-account-body .yw-user-hero p {
        font-size: 14px;
    }

    .yw-account-body .yw-profile-quick-actions,
    .yw-account-body .yw-trip-status-tabs {
        margin-left: -2px;
        margin-right: -2px;
        padding-bottom: 12px;
    }

    .yw-account-body .yw-trip-money,
    .yw-account-body .yw-trip-meta {
        gap: 7px;
    }

    .yw-account-body .yw-trip-money span,
    .yw-account-body .yw-trip-meta span {
        max-width: 100%;
    }
}

@media (max-width: 390px) {
    .yw-account-bottom-nav {
        padding-inline: 6px;
    }

    .yw-account-bottom-nav a {
        min-height: 56px;
        border-radius: 17px;
        font-size: 10px;
    }
}

/* Visa applicant workflow */
.yw-visa-application-page {
    min-height: 100vh;
    padding: 24px 0 48px;
    background:
        radial-gradient(circle at 12% 4%, rgba(255, 107, 47, .14), transparent 24%),
        linear-gradient(135deg, #f7faff 0%, #eef6ff 46%, #fff8f2 100%);
}

.yw-visa-application-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding: 28px;
    border-radius: 30px;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-ink) 0%, var(--yw-primary) 62%, var(--yw-accent) 145%);
    box-shadow: 0 24px 60px rgba(6, 59, 143, .18);
}

.yw-visa-application-hero span,
.yw-visa-application-form__head span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0;
}

.yw-visa-application-hero span {
    color: #fff;
    background: rgba(255, 255, 255, .14);
}

.yw-visa-application-hero h1 {
    margin: 8px 0;
    max-width: 720px;
    color: #fff;
    font-size: clamp(32px, 5vw, 56px);
    line-height: 1.02;
}

.yw-visa-application-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, .84);
    font-size: 16px;
}

.yw-visa-application-progress {
    min-width: 150px;
    min-height: 120px;
    border-radius: 28px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .16);
}

.yw-visa-application-progress strong {
    color: #fff;
    font-size: 38px;
    line-height: 1;
}

.yw-visa-application-progress small {
    color: rgba(255, 255, 255, .78);
    font-weight: 850;
}

.yw-visa-application-shell {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.yw-visa-application-guide,
.yw-visa-application-form {
    border: 1px solid rgba(6, 59, 143, .12);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 22px 56px rgba(6, 31, 103, .10);
}

.yw-visa-application-guide {
    position: sticky;
    top: 94px;
    padding: 20px;
}

.yw-visa-progress-track {
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: #eaf1ff;
}

.yw-visa-progress-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--yw-primary), var(--yw-accent));
}

.yw-visa-applicant-chip {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 12px;
    align-items: center;
    margin: 18px 0;
    padding: 14px;
    border-radius: 22px;
    background: #f7faff;
    border: 1px solid rgba(6, 59, 143, .10);
}

.yw-visa-applicant-chip i {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--yw-primary);
    font-size: 22px;
}

.yw-visa-applicant-chip strong {
    display: block;
    color: var(--yw-ink);
    font-size: 18px;
}

.yw-visa-applicant-chip small {
    color: #67738f;
    font-weight: 800;
}

.yw-visa-application-guide ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}

.yw-visa-application-guide li {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 10px;
    align-items: center;
    min-height: 48px;
    color: #52645f;
    font-weight: 850;
}

.yw-visa-application-guide li i {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yw-primary);
    background: #eef6ff;
}

.yw-visa-application-actions {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.yw-visa-application-actions .btn {
    min-height: 48px;
    border-radius: 999px;
    font-weight: 950;
}

.yw-visa-application-form {
    min-width: 0;
    padding: 22px;
}

.yw-visa-application-form__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(6, 59, 143, .10);
}

.yw-visa-application-form__head span {
    color: var(--yw-accent);
    background: #fff1e8;
}

.yw-visa-application-form__head h2 {
    margin: 8px 0 0;
    color: var(--yw-ink);
    font-size: 30px;
    line-height: 1.1;
}

.yw-visa-application-form__head small {
    flex: 0 0 auto;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0 12px;
    color: var(--yw-primary);
    background: #eef6ff;
    font-weight: 900;
}

.yw-visa-application-form .form-group label {
    color: #081f1b;
    font-weight: 900;
}

.yw-visa-application-form .form-control,
.yw-visa-application-form .select2-selection {
    min-height: 50px;
    border-radius: 16px !important;
    border-color: rgba(6, 59, 143, .14) !important;
}

.yw-visa-application-form textarea.form-control {
    min-height: 120px;
}

.yw-visa-application-form .btn-primary,
.yw-visa-application-form button[type="submit"] {
    min-height: 50px;
    border-radius: 999px;
    padding-inline: 22px;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-primary), var(--yw-accent));
    border: 0;
    font-weight: 950;
}

@media (max-width: 991px) {
    .yw-visa-application-shell {
        grid-template-columns: 1fr;
    }

    .yw-visa-application-guide {
        position: static;
    }
}

@media (max-width: 767px) {
    .yw-visa-application-page {
        padding: 10px 0 110px;
    }

    .yw-visa-application-hero {
        flex-direction: column;
        align-items: stretch;
        border-radius: 0 0 30px 30px;
        padding: 22px 18px;
        margin-left: -15px;
        margin-right: -15px;
    }

    .yw-visa-application-hero h1 {
        font-size: 30px;
    }

    .yw-visa-application-progress {
        min-width: 0;
        min-height: 82px;
        flex-direction: row;
        gap: 8px;
        justify-content: flex-start;
        padding: 0 18px;
    }

    .yw-visa-application-progress strong {
        font-size: 32px;
    }

    .yw-visa-application-guide,
    .yw-visa-application-form {
        border-radius: 24px;
        padding: 16px;
    }

    .yw-visa-application-form__head {
        flex-direction: column;
    }

    .yw-visa-application-form__head h2 {
        font-size: 24px;
    }

    .yw-visa-application-actions {
        grid-template-columns: 1fr;
    }
}

/* Marketplace grid hardening for package, hotel and visa cards */
.yw-package-list-shell .list-item > .row,
.yw-service-list-shell .list-item > .row {
    display: flex;
    align-items: stretch;
}

.yw-package-list-shell .list-item > .row > [class*="col-"],
.yw-service-list-shell .list-item > .row > [class*="col-"] {
    display: flex;
    min-width: 0;
}

.yw-package-list-shell .yw-tour-card,
.yw-service-list-shell .yw-tour-card,
.yw-service-list-shell .yw-hotel-card,
.yw-service-list-shell .yw-visa-card {
    width: 100%;
    min-width: 0;
    display: flex !important;
    flex-direction: column;
}

.yw-package-list-shell .yw-tour-card .thumb-image,
.yw-service-list-shell .yw-tour-card .thumb-image,
.yw-service-list-shell .yw-hotel-card .thumb-image,
.yw-service-list-shell .yw-visa-card .thumb-image {
    flex: 0 0 auto;
}

.yw-package-list-shell .yw-tour-card .item-title,
.yw-service-list-shell .yw-tour-card .item-title,
.yw-service-list-shell .yw-hotel-card .item-title,
.yw-service-list-shell .yw-visa-card .item-title {
    min-width: 0;
}

.yw-package-list-shell .yw-tour-card .item-title a,
.yw-service-list-shell .yw-tour-card .item-title a,
.yw-service-list-shell .yw-hotel-card .item-title a,
.yw-service-list-shell .yw-visa-card .item-title a {
    display: -webkit-box;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.yw-package-list-shell .yw-package-includes,
.yw-service-list-shell .yw-service-card-includes,
.yw-service-list-shell .yw-package-includes {
    min-width: 0;
}

.yw-package-list-shell .yw-package-includes span,
.yw-service-list-shell .yw-service-card-includes span,
.yw-service-list-shell .yw-package-includes span {
    min-width: 0;
    text-align: center;
    overflow-wrap: anywhere;
}

.yw-package-list-shell .yw-tour-card__departure,
.yw-service-list-shell .yw-tour-card__departure {
    min-width: 0;
}

.yw-package-list-shell .yw-tour-card__departure span,
.yw-service-list-shell .yw-tour-card__departure span,
.yw-package-list-shell .yw-tour-card__value-strip span,
.yw-service-list-shell .yw-tour-card__value-strip span {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.yw-package-list-shell .yw-tour-card .info,
.yw-service-list-shell .yw-tour-card .info,
.yw-service-list-shell .yw-hotel-card .info,
.yw-service-list-shell .yw-visa-card .info {
    margin-top: auto;
    min-width: 0;
}

.yw-package-list-shell .g-price,
.yw-service-list-shell .g-price {
    min-width: 0;
}

.yw-package-list-shell .g-price .price,
.yw-service-list-shell .g-price .price {
    min-width: 0;
    overflow-wrap: anywhere;
}

.yw-package-list-shell .g-price .text-price,
.yw-service-list-shell .g-price .text-price {
    max-width: 100%;
    display: inline-block;
}

@media (min-width: 1400px) {
    .yw-package-list-shell .col-xl-4,
    .yw-service-list-shell .col-xl-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
}

@media (max-width: 767px) {
    .yw-package-list-shell .list-item > .row,
    .yw-service-list-shell .list-item > .row {
        margin-left: -6px;
        margin-right: -6px;
    }

    .yw-package-list-shell .list-item > .row > [class*="col-"],
    .yw-service-list-shell .list-item > .row > [class*="col-"] {
        padding-left: 6px;
        padding-right: 6px;
    }

    .yw-package-list-shell .yw-tour-card,
    .yw-service-list-shell .yw-tour-card,
    .yw-service-list-shell .yw-hotel-card,
    .yw-service-list-shell .yw-visa-card {
        margin-bottom: 18px !important;
    }

    .yw-package-list-shell .yw-tour-card .item-title a,
    .yw-service-list-shell .yw-tour-card .item-title a,
    .yw-service-list-shell .yw-hotel-card .item-title a,
    .yw-service-list-shell .yw-visa-card .item-title a {
        -webkit-line-clamp: 3;
    }

    .yw-package-list-shell .yw-tour-card__mobile-actions,
    .yw-service-list-shell .yw-tour-card__mobile-actions {
        position: static;
        margin-top: 14px;
        border-radius: 22px;
        box-shadow: inset 0 0 0 1px rgba(6, 59, 143, .08);
    }
}

/* Global admin offer banners: premium app commerce rail */
.yw-global-offers {
    isolation: isolate;
    border-bottom: 1px solid rgba(6, 58, 168, .1) !important;
    box-shadow: 0 16px 42px rgba(6, 31, 103, .08);
}

.yw-global-offers .container {
    display: grid;
    gap: 12px;
}

.yw-global-offers__head {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.yw-global-offers__head > div:first-child {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.yw-global-offers__head span {
    width: max-content;
    max-width: 100%;
    color: #063aa8;
    font-size: 11px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.yw-global-offers__head strong {
    min-width: 0;
    overflow: hidden;
    color: #061f67;
    font-size: clamp(18px, 1.8vw, 26px);
    line-height: 1.12;
    font-weight: 950;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yw-global-offers__controls {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.yw-global-offers__controls button {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(6, 58, 168, .12);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #061f67;
    background: #fff;
    box-shadow: 0 12px 28px rgba(6, 31, 103, .1);
}

.yw-global-offers__controls button:hover {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, #063aa8, #ff6418);
}

.yw-global-offers__rail {
    gap: 14px !important;
    padding: 2px 2px 4px;
}

.yw-global-offer {
    min-height: 136px !important;
    border: 1px solid rgba(255, 255, 255, .36);
    border-radius: 26px !important;
    align-content: end;
    gap: 7px !important;
    padding: 20px !important;
    text-decoration: none !important;
}

.yw-global-offer:after {
    content: "";
    position: absolute;
    inset: auto 18px 18px auto;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .18);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .24);
}

.yw-global-offer span {
    background: #ff6418;
    color: #fff;
}

.yw-global-offer small {
    min-height: 34px;
    padding: 0 14px;
    background: #fff;
    color: #061f67;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .12);
}

.yw-global-offer strong {
    max-width: calc(100% - 54px);
    font-size: clamp(18px, 1.65vw, 25px) !important;
}

.yw-global-offer em {
    max-width: calc(100% - 54px) !important;
    -webkit-line-clamp: 2 !important;
}

.yw-global-offers--home {
    background:
        radial-gradient(circle at 14% 0%, rgba(255, 100, 24, .16), transparent 32%),
        linear-gradient(90deg, rgba(6, 58, 168, .1), rgba(255, 100, 24, .08)),
        #fff !important;
}

@media (max-width: 767px) {
    .yw-global-offers {
        padding: 12px 0 !important;
    }

    .yw-global-offers__head {
        padding-inline: 2px;
    }

    .yw-global-offers__head strong {
        font-size: 19px;
        white-space: normal;
    }

    .yw-global-offers__controls {
        display: none;
    }

    .yw-global-offers__rail {
        grid-auto-columns: minmax(286px, 88vw) !important;
    }

    .yw-global-offer {
        min-height: 152px !important;
        border-radius: 28px !important;
        padding: 18px !important;
    }

    .yw-global-offer strong,
    .yw-global-offer em {
        max-width: 100% !important;
    }

    .yw-global-offer:after {
        display: none;
    }
}

/* Umrah service workflow accents */
.yw-service-commerce-panel--umrah {
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 100, 24, .16), transparent 34%),
        linear-gradient(135deg, #fff, #f5f8ff 54%, #fff3e9);
}

.yw-service-commerce-panel--umrah .yw-service-commerce-panel__head span {
    color: #061f67;
    background: rgba(6, 58, 168, .08);
}

.yw-service-commerce-panel--umrah .yw-service-commerce-panel__grid i,
.yw-service-commerce-panel--umrah .yw-service-commerce-panel__actions a:first-child {
    background: linear-gradient(135deg, #061f67, #ff6418);
    box-shadow: 0 16px 32px rgba(255, 100, 24, .2);
}

.yw-service-commerce-panel--umrah .yw-service-commerce-panel__quick span {
    color: #061f67;
    background: rgba(255, 255, 255, .86);
}

.yw-service-commerce-panel--umrah .yw-service-commerce-panel__quick i {
    color: #ff6418;
}

@media (max-width: 767px) {
    .yw-service-commerce-panel--umrah .yw-service-commerce-panel__actions {
        grid-template-columns: 1fr;
    }
}

/* Tour/Umrah detail app shell consistency */
.yw-tour-detail-page {
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 100, 24, .1), transparent 28%),
        linear-gradient(180deg, #f5f8ff 0%, #eef8f6 36%, #fff 100%);
}

.yw-tour-detail-page--umrah {
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 100, 24, .14), transparent 30%),
        linear-gradient(180deg, #f4f7ff 0%, #fff4eb 42%, #fff 100%);
}

.yw-tour-detail-page--umrah .yw-tour-detail-hero {
    background:
        radial-gradient(circle at 88% 0%, rgba(255, 100, 24, .24), transparent 30%),
        linear-gradient(135deg, #061f67, #063aa8 60%, #ff6418);
}

.yw-tour-detail-page--umrah .yw-tour-detail-hero__meta span {
    background: rgba(255, 255, 255, .14);
    border-color: rgba(255, 255, 255, .2);
}

@media (max-width: 767px) {
    .yw-tour-detail-page .yw-tour-detail-hero,
    .yw-tour-detail-page > .bc_banner {
        display: none;
    }

    .yw-tour-detail-page .bc_content {
        padding-bottom: calc(var(--yw-mobile-nav-height, 78px) + 92px);
    }

    .yw-tour-detail-page .bc_content > .container {
        padding-left: 12px;
        padding-right: 12px;
    }

    .yw-tour-detail-page .bc_content > .container > .row > [class*="col-"] {
        padding-left: 6px;
        padding-right: 6px;
    }
}

/* Hotel/Visa mobile booking bars */
@media (max-width: 767px) {
    .yw-hotel-detail-page .bc-more-book-mobile,
    .yw-visa-detail-page .bc-more-book-mobile {
        left: 10px;
        right: 10px;
        bottom: calc(var(--yw-mobile-nav-height, 78px) + 10px);
        width: auto;
        max-width: none;
        border: 1px solid rgba(6, 58, 168, .14);
        border-radius: 24px;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 18px 42px rgba(6, 31, 103, .18);
        backdrop-filter: blur(18px);
        overflow: hidden;
    }

    .yw-hotel-detail-page .bc-more-book-mobile .container,
    .yw-visa-detail-page .bc-more-book-mobile .container {
        min-height: 68px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(156px, auto);
        align-items: center;
        gap: 8px;
        padding: 8px;
    }

    .yw-hotel-detail-page .bc-more-book-mobile .yw-mobile-book-price,
    .yw-visa-detail-page .bc-more-book-mobile .yw-mobile-book-price {
        min-width: 0;
        overflow: hidden;
    }

    .yw-hotel-detail-page .bc-more-book-mobile .g-price,
    .yw-visa-detail-page .bc-more-book-mobile .g-price {
        display: grid;
        gap: 1px;
    }

    .yw-hotel-detail-page .bc-more-book-mobile .fr_text,
    .yw-visa-detail-page .bc-more-book-mobile .fr_text {
        color: #536864;
        font-size: 10px;
        font-weight: 950;
        letter-spacing: .05em;
        text-transform: uppercase;
    }

    .yw-hotel-detail-page .bc-more-book-mobile .price,
    .yw-visa-detail-page .bc-more-book-mobile .price {
        min-width: 0;
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 6px;
    }

    .yw-hotel-detail-page .bc-more-book-mobile .text-price,
    .yw-visa-detail-page .bc-more-book-mobile .text-price {
        min-width: 0;
        overflow: hidden;
        color: #061f67;
        font-size: 18px;
        line-height: 1;
        font-weight: 950;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .yw-hotel-detail-page .bc-more-book-mobile .onsale,
    .yw-visa-detail-page .bc-more-book-mobile .onsale {
        color: #93a19f;
        font-size: 12px;
        font-weight: 800;
        text-decoration: line-through;
    }

    .yw-hotel-detail-page .yw-mobile-book-cta,
    .yw-visa-detail-page .yw-mobile-book-cta {
        display: grid;
        grid-template-columns: minmax(64px, auto) minmax(76px, auto);
        gap: 7px;
    }

    .yw-hotel-detail-page .yw-mobile-book-cta .btn,
    .yw-visa-detail-page .yw-mobile-book-cta .btn {
        min-width: 0;
        min-height: 50px;
        border: 0 !important;
        border-radius: 18px !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 12px;
        font-size: 13px;
        font-weight: 950 !important;
        white-space: nowrap;
    }

    .yw-hotel-detail-page .yw-mobile-book-cta .btn-light,
    .yw-visa-detail-page .yw-mobile-book-cta .btn-light {
        color: #061f67;
        background: #eef6ff;
    }

    .yw-hotel-detail-page .yw-mobile-book-cta .btn-primary,
    .yw-visa-detail-page .yw-mobile-book-cta .btn-primary {
        color: #fff;
        background: linear-gradient(135deg, #063aa8, #ff6418) !important;
        box-shadow: 0 12px 26px rgba(255, 100, 24, .2);
    }
}

@media (max-width: 360px) {
    .yw-hotel-detail-page .bc-more-book-mobile .container,
    .yw-visa-detail-page .bc-more-book-mobile .container {
        grid-template-columns: 1fr;
    }

    .yw-hotel-detail-page .yw-mobile-book-cta,
    .yw-visa-detail-page .yw-mobile-book-cta {
        grid-template-columns: 1fr 1fr;
    }
}

/* Final marketplace cascade guard. Keep this block last so legacy module CSS
   cannot re-expand package cards after the Yatriwala responsive rules. */
@media (min-width: 1440px) and (max-width: 1759px) {
    .yw-package-search-page .bc-list-item .list-item > .row,
    .search-result-page .bc-list-item .list-item > .row {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .yw-package-list-shell .list-item > .row {
        margin-inline: 0;
    }

    .yw-package-list-shell .list-item > .row > [class*="col-"] {
        padding-inline: 0;
    }

    .yw-package-list-shell .yw-tour-card.yw-tour-card--listing {
        margin-bottom: 14px !important;
        border-radius: 22px !important;
    }

    .yw-package-list-shell .yw-tour-card.yw-tour-card--listing .thumb-image {
        aspect-ratio: 16 / 9 !important;
    }

    .yw-package-list-shell .yw-tour-card.yw-tour-card--listing .item-title a {
        min-height: 2.3em;
        max-height: 2.3em;
        font-size: 18px;
        line-height: 1.15;
        -webkit-line-clamp: 2;
    }

    .yw-package-list-shell .yw-tour-card.yw-tour-card--listing .yw-tour-card__departure,
    .yw-package-list-shell .yw-tour-card.yw-tour-card--listing .service-review,
    .yw-package-list-shell .yw-tour-card.yw-tour-card--listing .yw-tour-card__highlights,
    .yw-package-list-shell .yw-tour-card.yw-tour-card--listing .yw-tour-card__secondary-actions,
    .yw-package-list-shell .yw-tour-card.yw-tour-card--listing .yw-tour-card__desktop-actions,
    .yw-package-list-shell .yw-tour-card.yw-tour-card--listing .g-price {
        display: none !important;
    }

    .yw-package-list-shell .yw-tour-card.yw-tour-card--listing .yw-tour-card__mobile-actions {
        position: static !important;
        margin-top: 0;
        border-radius: 16px;
        box-shadow: none;
    }

    .yw-package-list-shell .yw-tour-card.yw-tour-card--listing .yw-package-includes {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 5px;
        overflow: visible;
        padding-inline: 12px;
    }

    .yw-package-list-shell .yw-tour-card.yw-tour-card--listing .yw-package-includes span {
        min-width: 0;
        min-height: 52px;
        font-size: 8px;
        overflow-wrap: anywhere;
    }

    .yw-global-offers__rail {
        grid-auto-columns: minmax(268px, 84vw) !important;
    }

    .yw-global-offer {
        min-height: 112px !important;
        border-radius: 22px !important;
        padding: 15px !important;
    }

    .yw-global-offer strong {
        font-size: 17px !important;
        line-height: 1.12;
    }

    .yw-global-offer em {
        display: -webkit-box;
        font-size: 11px;
        -webkit-line-clamp: 1 !important;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

@media (max-width: 359px) {
    .yw-package-list-shell .yw-tour-card.yw-tour-card--listing .yw-package-includes {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .yw-package-list-shell .yw-tour-card.yw-tour-card--listing .yw-package-includes span:nth-child(n + 4) {
        display: none;
    }
}

/* V1 package marketplace cards. This matches the current Blade commerce card,
   so tour listings no longer depend on older Booking Core template selectors. */
.yw-package-category-nav,
.yw-smart-picks {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 2px 2px 12px;
    margin: 0 0 16px;
    scrollbar-width: none;
}

.yw-package-category-nav::-webkit-scrollbar,
.yw-smart-picks::-webkit-scrollbar {
    display: none;
}

.yw-package-category-nav a,
.yw-smart-picks a {
    flex: 0 0 auto;
    min-height: 46px;
    border: 1px solid rgba(6, 31, 103, .12);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 16px;
    color: var(--yw-ink) !important;
    background: #fff;
    font-size: 13px;
    font-weight: 950;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(6, 31, 103, .06);
    white-space: nowrap;
}

.yw-package-category-nav a i,
.yw-smart-picks a i {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--yw-forest);
    background: rgba(0, 111, 98, .1);
}

.yw-package-category-nav a.is-active {
    color: #fff !important;
    border-color: transparent;
    background: linear-gradient(135deg, var(--yw-blue), var(--yw-coral));
    box-shadow: 0 16px 30px rgba(255, 100, 24, .16);
}

.yw-package-category-nav a.is-active i {
    color: var(--yw-blue);
    background: #fff;
}

.yw-smart-picks {
    margin-top: -2px;
    margin-bottom: 18px;
}

.yw-smart-picks a {
    min-height: 40px;
    padding: 0 13px;
    color: var(--yw-forest) !important;
    background: rgba(0, 111, 98, .06);
    box-shadow: none;
}

.yw-smart-picks a i {
    width: auto;
    height: auto;
    color: var(--yw-coral);
    background: transparent;
}

.yw-tour-card.yw-tour-card--commerce {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(6, 31, 103, .11);
    border-radius: 24px;
    display: flex !important;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 20px 46px rgba(6, 31, 103, .09);
    transition: transform .2s ease, box-shadow .2s ease;
}

.yw-tour-card.yw-tour-card--commerce:hover {
    transform: translateY(-3px);
    box-shadow: 0 28px 62px rgba(6, 31, 103, .14);
}

.yw-tour-card__app-head {
    min-width: 0;
    min-height: 58px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background:
        linear-gradient(135deg, rgba(255, 100, 24, .08), transparent 45%),
        linear-gradient(135deg, rgba(6, 58, 168, .08), rgba(0, 111, 98, .08));
}

.yw-tour-card__app-head span,
.yw-tour-card__app-head small {
    min-width: 0;
    overflow: hidden;
    color: var(--yw-ink);
    font-weight: 950;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yw-tour-card__app-head span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
}

.yw-tour-card__app-head span i {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--yw-forest);
}

.yw-tour-card__app-head small {
    max-width: 150px;
    color: var(--yw-forest);
    font-size: 12px;
}

.yw-tour-card__media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #dfe8e6;
}

.yw-tour-card__media a,
.yw-tour-card__media img {
    width: 100%;
    height: 100%;
    display: block;
}

.yw-tour-card__media img {
    object-fit: cover;
    transition: transform .35s ease;
}

.yw-tour-card--commerce:hover .yw-tour-card__media img {
    transform: scale(1.04);
}

.yw-tour-card__included-badge,
.yw-tour-card__duration,
.yw-tour-card__sale-ribbon {
    position: absolute;
    z-index: 2;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 950;
    line-height: 1;
}

.yw-tour-card__included-badge {
    left: 14px;
    top: 14px;
    gap: 7px;
    border-radius: 999px;
    padding: 0 12px;
    color: var(--yw-ink);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 25px rgba(6, 31, 103, .12);
}

.yw-tour-card__duration {
    left: 14px;
    bottom: 14px;
    border-radius: 999px;
    padding: 0 13px;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-blue), var(--yw-coral));
}

.yw-tour-card__sale-ribbon {
    right: -36px;
    top: 18px;
    width: 118px;
    height: 34px;
    color: #fff;
    background: #e9003a;
    transform: rotate(45deg);
}

.yw-tour-card--commerce .service-wishlist {
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 3;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(6, 31, 103, .7);
    box-shadow: 0 16px 30px rgba(6, 31, 103, .18);
}

.yw-tour-card__body {
    min-width: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 14px;
    padding: 18px;
}

.yw-tour-card__location {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    overflow: hidden;
    color: var(--yw-muted);
    font-size: 13px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yw-tour-card--commerce h3 {
    min-width: 0;
    min-height: 2.35em;
    margin: 0;
    font-size: clamp(20px, 1.4vw, 26px);
    line-height: 1.16;
    font-weight: 950;
}

.yw-tour-card--commerce h3 a {
    display: -webkit-box;
    min-width: 0;
    overflow: hidden;
    color: var(--yw-ink) !important;
    text-decoration: none !important;
    overflow-wrap: anywhere;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.yw-tour-card__includes {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px;
}

.yw-tour-card__includes span {
    min-width: 0;
    min-height: 60px;
    border: 1px solid var(--yw-border);
    border-radius: 12px;
    display: grid;
    place-items: center;
    gap: 4px;
    padding: 7px 4px;
    color: var(--yw-muted);
    background: #fbfcff;
    font-size: 10px;
    font-weight: 950;
    line-height: 1.1;
    text-align: center;
    overflow-wrap: anywhere;
}

.yw-tour-card__includes span.is-active {
    color: var(--yw-forest);
    border-color: rgba(0, 111, 98, .18);
    background: rgba(0, 111, 98, .07);
}

.yw-tour-card__includes i {
    font-size: 15px;
}

.yw-tour-card__pricing {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 10px;
    margin-top: auto;
}

.yw-tour-card__pricing div {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.yw-tour-card__pricing span {
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

.yw-tour-card__pricing strong {
    min-width: 0;
    overflow: hidden;
    color: var(--yw-blue);
    font-size: 24px;
    line-height: 1;
    font-weight: 950;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yw-tour-card__token {
    border-radius: 16px;
    padding: 9px 11px;
    text-align: right;
    background: rgba(255, 100, 24, .1);
}

.yw-tour-card__token strong {
    color: var(--yw-coral);
    font-size: 17px;
}

.yw-tour-card__details {
    min-height: 52px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    background: var(--yw-forest);
    font-size: 14px;
    font-weight: 950;
    text-decoration: none !important;
    box-shadow: 0 14px 28px rgba(0, 111, 98, .18);
}

@media (max-width: 991px) {
    .yw-package-results-layout {
        display: block;
    }

    .yw-smart-picks {
        position: sticky;
        top: 134px;
        z-index: 9;
        margin-inline: -6px;
        padding-inline: 6px;
        background: linear-gradient(180deg, rgba(245, 248, 255, .96), rgba(245, 248, 255, 0));
    }
}

@media (max-width: 767px) {
    .yw-package-category-nav {
        position: sticky;
        top: 74px;
        z-index: 10;
        margin: -4px -10px 12px;
        padding: 0 10px 10px;
        background: linear-gradient(180deg, rgba(245, 248, 255, .98), rgba(245, 248, 255, 0));
    }

    .yw-package-category-nav a {
        min-height: 42px;
        padding: 0 13px;
        font-size: 12px;
    }

    .yw-smart-picks {
        top: 126px;
        margin-bottom: 12px;
    }

    .yw-smart-picks a {
        min-height: 38px;
        font-size: 12px;
    }

    .yw-tour-card.yw-tour-card--commerce {
        border-radius: 24px;
        box-shadow: 0 14px 34px rgba(6, 31, 103, .1);
    }

    .yw-tour-card__app-head {
        min-height: 54px;
        padding: 10px 14px;
    }

    .yw-tour-card__app-head small {
        max-width: 130px;
    }

    .yw-tour-card__media {
        aspect-ratio: 4 / 3;
    }

    .yw-tour-card__body {
        gap: 12px;
        padding: 16px;
    }

    .yw-tour-card--commerce h3 {
        font-size: 22px;
    }

    .yw-tour-card__includes {
        gap: 6px;
    }

    .yw-tour-card__includes span {
        min-height: 54px;
        border-radius: 11px;
        font-size: 9px;
    }

    .yw-tour-card__pricing {
        grid-template-columns: 1fr;
    }

    .yw-tour-card__token {
        display: none;
    }

    .yw-tour-card__details {
        min-height: 50px;
    }
}

@media (max-width: 359px) {
    .yw-tour-card__includes {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .yw-tour-card__includes span:nth-child(n + 4) {
        display: none;
    }

    .yw-tour-card__app-head {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

@media (max-width: 767px) {
    #enquiry_form_modal .modal-dialog {
        display: flex;
        align-items: flex-end;
        min-height: calc(100% - 12px);
        margin: 6px;
    }

    .enquiry_form_modal_form {
        max-height: calc(100vh - 16px);
        border-radius: 26px 26px 18px 18px;
    }

    .enquiry_form_modal_form .modal-header {
        padding: 18px 18px 14px;
    }

    .enquiry_form_modal_form .modal-title {
        font-size: 19px;
    }

    .enquiry_form_modal_form .modal-body {
        max-height: calc(100vh - 188px);
        overflow-y: auto;
        padding: 18px 18px 8px;
        -webkit-overflow-scrolling: touch;
    }

    .yw-enquiry-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .enquiry_form_modal_form .modal-footer {
        display: grid;
        grid-template-columns: .8fr 1.2fr;
        padding: 12px 18px 18px;
        background: rgba(255,255,255,.96);
        box-shadow: 0 -12px 32px rgba(6, 24, 38, .08);
    }
}

/* Yatriwala V1 commerce clarity: payment schedule, quick actions and product-card CTAs. */
.yw-app-payment-plan,
.yw-app-quick-actions,
.yw-app-booking-steps {
    width: min(100%, 1120px);
    margin: 14px auto;
}

.yw-app-payment-plan {
    border: 1px solid rgba(6, 59, 143, .12);
    border-radius: 26px;
    padding: 18px;
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 100, 24, .12), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(244, 250, 255, .96));
    box-shadow: 0 18px 48px rgba(6, 31, 103, .1);
}

.yw-app-payment-plan__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.yw-app-payment-plan__head span {
    color: var(--yw-coral);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.yw-app-payment-plan__head strong {
    max-width: 560px;
    color: var(--yw-blue);
    font-size: clamp(18px, 2vw, 28px);
    line-height: 1.08;
    font-weight: 950;
    text-align: right;
}

.yw-app-payment-plan__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.yw-app-payment-plan__grid div {
    min-width: 0;
    border: 1px solid rgba(6, 59, 143, .1);
    border-radius: 18px;
    padding: 14px;
    background: rgba(255, 255, 255, .86);
}

.yw-app-payment-plan__grid div.is-token {
    border-color: rgba(255, 100, 24, .22);
    background: rgba(255, 100, 24, .08);
}

.yw-app-payment-plan__grid span {
    display: block;
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

.yw-app-payment-plan__grid strong {
    display: block;
    min-width: 0;
    margin-top: 4px;
    overflow: hidden;
    color: var(--yw-blue);
    font-size: clamp(18px, 2vw, 26px);
    line-height: 1.05;
    font-weight: 950;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yw-app-payment-plan__grid .is-token strong {
    color: var(--yw-coral);
}

.yw-app-payment-plan p {
    display: flex;
    gap: 8px;
    margin: 14px 0 0;
    color: var(--yw-muted);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.45;
}

.yw-app-payment-plan p i {
    flex: 0 0 auto;
    margin-top: 3px;
    color: var(--yw-forest);
}

.yw-app-quick-actions,
.yw-app-booking-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.yw-app-quick-actions a,
.yw-app-quick-actions button {
    min-width: 0;
    min-height: 54px;
    border: 1px solid rgba(6, 59, 143, .12);
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 12px;
    color: var(--yw-blue) !important;
    background: #fff;
    font-size: 13px;
    font-weight: 950;
    text-decoration: none !important;
    box-shadow: 0 14px 34px rgba(6, 31, 103, .08);
}

.yw-app-quick-actions button {
    cursor: pointer;
}

.yw-app-quick-actions i {
    color: var(--yw-coral);
    font-size: 16px;
}

.yw-app-booking-steps div {
    min-width: 0;
    border: 1px solid rgba(6, 59, 143, .1);
    border-radius: 20px;
    padding: 14px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 14px 34px rgba(6, 31, 103, .07);
}

.yw-app-booking-steps span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    border-radius: 999px;
    padding: 0 10px;
    color: var(--yw-forest);
    background: rgba(0, 111, 98, .09);
    font-size: 12px;
    font-weight: 950;
}

.yw-app-booking-steps strong {
    display: block;
    margin-top: 9px;
    color: var(--yw-ink);
    font-size: 15px;
    line-height: 1.25;
    font-weight: 950;
}

.yw-tour-card__actions {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 9px;
    margin-top: -4px;
}

.yw-tour-card__actions a {
    min-width: 0;
    min-height: 46px;
    border: 1px solid rgba(6, 59, 143, .12);
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 10px;
    color: var(--yw-blue) !important;
    background: #fff;
    font-size: 13px;
    font-weight: 950;
    text-decoration: none !important;
    white-space: nowrap;
}

.yw-tour-card__actions a:last-child {
    color: #fff !important;
    border-color: transparent;
    background: linear-gradient(135deg, var(--yw-blue), var(--yw-coral));
    box-shadow: 0 12px 24px rgba(255, 100, 24, .2);
}

.yw-empty-package-card__token {
    border: 1px solid rgba(255, 100, 24, .18);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    background: rgba(255, 100, 24, .08);
}

.yw-empty-package-card__token span {
    color: var(--yw-muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.yw-empty-package-card__token strong {
    color: var(--yw-coral);
    font-size: 13px;
    font-weight: 950;
    text-align: right;
}

.yw-empty-package-card__actions {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 8px;
}

.yw-empty-package-card__actions a {
    min-width: 0;
    min-height: 46px;
    border: 1px solid rgba(6, 59, 143, .12);
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 10px;
    color: var(--yw-blue) !important;
    background: #fff;
    font-size: 13px;
    font-weight: 950;
    text-decoration: none !important;
}

.yw-empty-package-card__actions a:last-child {
    color: #fff !important;
    border-color: transparent;
    background: linear-gradient(135deg, var(--yw-blue), var(--yw-coral));
    box-shadow: 0 12px 24px rgba(255, 100, 24, .18);
}

@media (max-width: 767px) {
    .yw-app-payment-plan {
        margin: 12px 12px;
        border-radius: 24px;
        padding: 14px;
    }

    .yw-app-payment-plan__head {
        display: grid;
        gap: 5px;
    }

    .yw-app-payment-plan__head strong {
        text-align: left;
    }

    .yw-app-payment-plan__grid {
        grid-template-columns: 1fr;
    }

    .yw-app-payment-plan__grid div {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 12px;
    }

    .yw-app-payment-plan__grid strong {
        max-width: 58%;
        margin-top: 0;
        text-align: right;
    }

    .yw-app-quick-actions,
    .yw-app-booking-steps {
        width: auto;
        margin: 12px 12px;
    }

    .yw-app-quick-actions {
        grid-template-columns: repeat(4, minmax(74px, 1fr));
        overflow-x: auto;
        padding-bottom: 2px;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .yw-app-quick-actions::-webkit-scrollbar,
    .yw-app-booking-steps::-webkit-scrollbar {
        display: none;
    }

    .yw-app-quick-actions a,
    .yw-app-quick-actions button {
        min-height: 58px;
        scroll-snap-align: start;
        flex-direction: column;
        gap: 5px;
        font-size: 11px;
    }

    .yw-app-booking-steps {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .yw-app-booking-steps div {
        flex: 0 0 72%;
        scroll-snap-align: start;
    }

    .yw-tour-card__actions {
        grid-template-columns: 1fr 1fr;
    }

    .yw-empty-package-card__token {
        align-items: flex-start;
        flex-direction: column;
    }

    .yw-empty-package-card__token strong {
        text-align: left;
    }
}

@media (max-width: 359px) {
    .yw-tour-card__actions {
        grid-template-columns: 1fr;
    }

    .yw-empty-package-card__actions {
        grid-template-columns: 1fr;
    }

    .yw-app-payment-plan__grid div {
        display: grid;
    }

    .yw-app-payment-plan__grid strong {
        max-width: 100%;
        text-align: left;
    }
}

/* Yatriwala V1 launch polish: stronger offer rails, safer card text, app-width mobile surfaces. */
.yatriwala-design {
    overflow-x: clip;
}

.yatriwala-design .bc_wrap,
.yatriwala-design main,
.yatriwala-design .container {
    max-width: 100%;
}

.yw-global-offers {
    position: relative;
    z-index: 8;
    margin: 0;
    padding: 22px 0;
    background:
        radial-gradient(circle at 12% 0, rgba(255, 105, 58, .18), transparent 30%),
        linear-gradient(135deg, rgba(6, 59, 143, .08), rgba(255, 255, 255, .94) 42%, rgba(0, 111, 98, .10));
    border-bottom: 1px solid rgba(6, 59, 143, .08);
}

.yw-global-offers .container {
    width: min(100% - 32px, 1280px);
    padding-inline: 0;
}

.yw-global-offers__head {
    margin-bottom: 14px;
}

.yw-global-offers__rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(320px, 420px);
    gap: 16px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 2px 2px 14px;
}

.yw-global-offers__rail::-webkit-scrollbar {
    height: 7px;
}

.yw-global-offers__rail::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(6, 59, 143, .25);
}

.yw-global-offer {
    min-height: 188px;
    scroll-snap-align: start;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 28px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 8px;
    padding: 22px;
    overflow: hidden;
    isolation: isolate;
    background-image:
        linear-gradient(120deg, rgba(3, 25, 35, .82), rgba(0, 111, 98, .46)),
        var(--offer-image);
    background-size: cover;
    background-position: center;
    color: #fff !important;
    box-shadow: 0 22px 54px rgba(6, 31, 103, .16);
    text-decoration: none !important;
}

.yw-global-offer:before {
    content: "";
    position: absolute;
    inset: auto 18px 18px auto;
    width: 74px;
    height: 74px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(8px);
    z-index: -1;
}

.yw-global-offer span,
.yw-global-offer small {
    width: fit-content;
    max-width: 100%;
    border-radius: 999px;
    padding: 8px 12px;
    background: rgba(255, 255, 255, .92);
    color: var(--yw-blue) !important;
    font-size: 12px;
    font-weight: 950;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.yw-global-offer strong {
    max-width: 92%;
    color: #fff !important;
    font-size: clamp(22px, 2.2vw, 31px);
    line-height: 1.05;
    font-weight: 950;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.yw-global-offer em {
    max-width: 92%;
    color: rgba(255, 255, 255, .88) !important;
    font-size: 14px;
    font-style: normal;
    font-weight: 750;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.yw-global-offer small {
    margin-top: 4px;
    background: linear-gradient(135deg, var(--yw-coral), #ff8f5a);
    color: #071313 !important;
}

.yw-tour-card,
.yw-package-card,
.yw-empty-package-card {
    overflow: hidden;
    overflow-wrap: anywhere;
}

.yw-tour-card h3,
.yw-tour-card .item-title,
.yw-tour-card .title-address,
.yw-package-card h3,
.yw-empty-package-card__body strong {
    overflow-wrap: anywhere;
    hyphens: auto;
}

.yw-tour-card__includes span,
.yw-package-includes span,
.yw-tour-card__value-strip span,
.yw-empty-package-card__body > div span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.yw-tour-card__actions a,
.yw-empty-package-card__actions a,
.yw-tour-card__details,
.yw-tour-card__enquire,
.yw-tour-card__book {
    min-height: 48px;
}

@media (max-width: 767px) {
    .yw-global-offers {
        margin-top: 0;
        padding: 14px 0 16px;
    }

    .yw-global-offers .container {
        width: 100%;
        padding-inline: 14px;
    }

    .yw-global-offers__head {
        align-items: flex-start;
        gap: 10px;
    }

    .yw-global-offers__head strong {
        font-size: 19px;
        line-height: 1.15;
    }

    .yw-global-offers__controls {
        display: none;
    }

    .yw-global-offers__rail {
        grid-auto-columns: minmax(82vw, 88vw);
        gap: 12px;
        margin-inline: -2px;
        padding-bottom: 10px;
    }

    .yw-global-offer {
        min-height: 166px;
        border-radius: 24px;
        padding: 18px;
    }

    .yw-global-offer strong {
        max-width: 100%;
        font-size: 23px;
    }

    .yw-global-offer em {
        max-width: 100%;
        font-size: 13px;
    }

    .yw-package-list-shell,
    .yw-service-list-shell,
    .search-result-page .bc-list-item {
        max-width: 100vw;
        overflow-x: clip;
    }
}

@media (max-width: 430px) {
    .yw-global-offers__rail {
        grid-auto-columns: minmax(86vw, 90vw);
    }

    .yw-tour-card__includes,
    .yw-package-includes {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .yw-tour-card__includes span,
    .yw-package-includes span {
        padding-inline: 6px;
        font-size: 10px;
    }
}

.yw-error-page {
    min-height: calc(100vh - 90px);
    background:
        radial-gradient(circle at top left, rgba(255, 112, 72, .18), transparent 34%),
        linear-gradient(135deg, rgba(0, 43, 88, .08), rgba(255, 255, 255, .96) 42%, rgba(0, 117, 104, .12));
    padding: clamp(28px, 6vw, 86px) 18px;
    display: flex;
    align-items: center;
}

.yw-error-shell {
    width: min(100%, 960px);
    margin: 0 auto;
}

.yw-error-card {
    width: min(100%, 620px);
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(0, 43, 88, .12);
    border-radius: 28px;
    box-shadow: 0 28px 90px rgba(0, 43, 88, .16);
    padding: clamp(24px, 5vw, 44px);
}

.yw-error-brand {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 28px;
}

.yw-error-brand span {
    width: 52px;
    height: 52px;
    border-radius: 17px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--yw-blue), var(--yw-orange));
    color: #fff;
    font-weight: 900;
    font-size: 24px;
    box-shadow: 0 16px 36px rgba(0, 43, 88, .2);
}

.yw-error-brand strong,
.yw-error-brand small {
    display: block;
    color: var(--yw-ink);
}

.yw-error-brand small {
    color: var(--yw-muted);
    font-weight: 700;
}

.yw-error-code {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    padding: 0 16px;
    border-radius: 999px;
    background: rgba(255, 112, 72, .14);
    color: var(--yw-orange);
    font-weight: 900;
    margin-bottom: 18px;
}

.yw-error-card h1 {
    margin: 0 0 12px;
    color: var(--yw-ink);
    font-size: clamp(30px, 5vw, 54px);
    line-height: 1.04;
    letter-spacing: 0;
}

.yw-error-card p {
    margin: 0;
    color: var(--yw-muted);
    font-size: 17px;
    line-height: 1.7;
    max-width: 54ch;
}

.yw-error-actions,
.yw-error-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.yw-error-actions a,
.yw-error-links a {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 0 18px;
    font-weight: 900;
    text-decoration: none;
    border: 1px solid rgba(0, 43, 88, .14);
    color: var(--yw-ink);
    background: #fff;
}

.yw-error-actions .yw-error-primary {
    background: var(--yw-orange);
    color: #fff;
    border-color: var(--yw-orange);
    box-shadow: 0 18px 32px rgba(255, 112, 72, .28);
}

.yw-error-links {
    padding-top: 8px;
    margin-top: 18px;
}

.yw-error-links a {
    min-height: 40px;
    padding: 0 14px;
    background: rgba(0, 117, 104, .08);
    color: var(--yw-green);
}

@media (max-width: 575px) {
    .yw-error-page {
        align-items: flex-start;
        padding: 20px 12px 96px;
    }

    .yw-error-card {
        border-radius: 24px;
        padding: 22px;
    }

    .yw-error-card h1 {
        font-size: 30px;
    }

    .yw-error-actions a {
        width: 100%;
    }
}

/* Shared mobile application shell for every public service page. */
.yw-global-mobile-tabbar {
    display: none;
}

@media (max-width: 767px) {
    body.yatriwala-design {
        padding-bottom: calc(84px + env(safe-area-inset-bottom));
    }

    .yw-global-mobile-tabbar {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 95;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        min-height: calc(66px + env(safe-area-inset-bottom));
        padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
        border-top: 1px solid rgba(0, 43, 88, .10);
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 -12px 32px rgba(0, 43, 88, .10);
        backdrop-filter: blur(18px);
    }

    .yw-global-mobile-tabbar a {
        min-width: 0;
        min-height: 52px;
        display: grid;
        place-items: center;
        align-content: center;
        gap: 3px;
        border-radius: 16px;
        color: var(--yw-muted, #60716f);
        font-size: 10px;
        font-weight: 800;
        line-height: 1.15;
        text-decoration: none;
    }

    .yw-global-mobile-tabbar i {
        font-size: 18px;
        line-height: 1;
    }

    .yw-global-mobile-tabbar span {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .yw-global-mobile-tabbar a.is-active {
        color: var(--yw-green, #006b61);
        background: rgba(0, 117, 104, .10);
    }
}

/* Group pricing in the package booking form: room choice, group breakdown and
   the quote notice for groups a package cannot price online. */
.yw-room-choice {
    display: grid;
    gap: 8px;
}

.yw-room-choice__title {
    margin: 0;
    font-weight: 800;
}

.yw-room-choice__item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--yw-line);
    border-radius: 12px;
    background: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.yw-room-choice__item.is-active {
    border-color: var(--yw-coral);
    box-shadow: inset 0 0 0 1px var(--yw-coral);
}

.yw-room-choice__item span {
    flex: 1;
}

.yw-room-choice__item strong {
    color: var(--yw-ink);
}

.yw-group-quote {
    display: grid;
    gap: 8px;
    margin-bottom: 12px;
    padding: 12px;
    border-radius: 12px;
    background: #fff7ed;
    color: var(--yw-ink);
    font-size: 13px;
    line-height: 1.45;
}

.yw-group-quote button {
    justify-self: start;
    border: 0;
    border-radius: 999px;
    padding: 8px 14px;
    background: var(--yw-coral);
    color: #fff;
    font-weight: 800;
}

.yw-group-breakdown label,
.yw-group-breakdown span {
    color: var(--yw-muted);
    font-size: 12px;
    font-weight: 600;
}
