html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

/*body {
  margin-bottom: 60px;
}*/

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.passenger-dropdown .passenger-menu {
    top: calc(100% + 4px);
    z-index: 1060;
    max-height: min(70vh, 480px);
    overflow-y: auto;
}

.passenger-btn .passenger-summary-label {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    text-align: left;
}

    .passenger-btn .passenger-summary-label .totalPassengers {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.passenger-menu .passenger-cabin-row {
    border-bottom: none;
    padding-top: 10px;
    padding-bottom: 4px;
}

    /* Real Bootstrap form-select for Cabin Class inside passenger popup */
    .passenger-menu .passenger-cabin-row .js-passenger-cabin-select,
    .passenger-menu .passenger-cabin-row select.form-select {
        display: block;
        width: 100%;
        min-height: 40px;
        height: 40px;
        padding: 0.375rem 2.25rem 0.375rem 0.75rem;
        border-radius: 4px;
        appearance: auto;
        -webkit-appearance: menulist;
        -moz-appearance: menulist;
    }

/* Flight passenger popup: pill UI keeps native select for JS binding (visually hidden) */
.passenger-menu .passenger-cabin-row {
    position: relative;
    align-items: stretch !important;
}

    /* Override .passenger-menu .row div { width: auto !important } so the cabin grid spans full width */
    .passenger-menu .passenger-cabin-row > .col-12,
    .passenger-menu .passenger-cabin-row .cabin-grid {
        width: 100% !important;
        max-width: 100%;
    }

    .passenger-menu .passenger-cabin-row .cabin-grid {
        margin-bottom: 4px;
    }

        .passenger-menu .passenger-cabin-row .cabin-grid + .js-passenger-cabin-select,
        .passenger-menu .passenger-cabin-row .js-passenger-cabin-select.traveller-cabin-class__native {
            position: absolute !important;
            width: 1px !important;
            height: 1px !important;
            min-height: 0 !important;
            margin: -1px !important;
            padding: 0 !important;
            overflow: hidden !important;
            clip: rect(0, 0, 0, 0) !important;
            white-space: nowrap !important;
            border: 0 !important;
            appearance: none !important;
            pointer-events: none;
        }

/* Cabin Class inside Flight+Hotel / Umrah room popup (above Add Room) */
.js-hotel-room-dropdown .package-cabin-row {
    border-bottom: none;
    padding: 10px 12px 4px;
    margin: 0;
}

    .js-hotel-room-dropdown .package-cabin-row .js-package-cabin-select,
    .js-hotel-room-dropdown .package-cabin-row select.form-select {
        display: block;
        width: 100%;
        min-height: 40px;
        height: 40px;
        padding: 0.375rem 2.25rem 0.375rem 0.75rem;
        border-radius: 4px;
        appearance: auto;
        -webkit-appearance: menulist;
        -moz-appearance: menulist;
    }

    /* Scoped card-style Cabin Class — Umrah / Package traveller popup only */
    .js-hotel-room-dropdown .package-cabin-row.traveller-cabin-class-ui {
        position: relative;
        padding: 1px 0px 10px 0px;
        border-bottom: 1px solid #eee;
    }

.js-hotel-room-dropdown .traveller-cabin-class-ui .traveller-cabin-class__title {
    display: block;
    color: #0f172a;
}

.js-hotel-room-dropdown .traveller-cabin-class-ui .traveller-cabin-class__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
}

.js-hotel-room-dropdown .traveller-cabin-class-ui .traveller-cabin-class__option {
    /*display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 10px 8px;
    border: 1.5px solid #cbd5e1;
    border-radius: 10px;
    background: #ffffff;
    color: #1e293b;
    font-size: 0.85rem;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;*/
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 10px 8px;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    background: #ffffff;
    font-size: 0.85rem;
    font-weight: 500;
    font-family: inherit;
    line-height: 1.25;
    color: #64748b;
    text-align: center;
    cursor: pointer;
    transition: all 0.15s ease;
}

    .js-hotel-room-dropdown .traveller-cabin-class-ui .traveller-cabin-class__option:hover {
        border-color: var(--tx-primary);
        color: var(--tx-primary);
    }

    .js-hotel-room-dropdown .traveller-cabin-class-ui .traveller-cabin-class__option:focus {
        outline: none;
    }

    .js-hotel-room-dropdown .traveller-cabin-class-ui .traveller-cabin-class__option:focus-visible {
        border-color: var(--tx-primary);
        box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.25);
    }

    .js-hotel-room-dropdown .traveller-cabin-class-ui .traveller-cabin-class__option.is-selected {
        border-color: var(--tx-primary);
        background: #f0f9ff;
        color: var(--tx-primary);
        font-weight: 600;
    }

/* Keep native select for JS binding; hide visually (not removed from DOM) */
.js-hotel-room-dropdown .traveller-cabin-class-ui .traveller-cabin-class__native,
.js-hotel-room-dropdown .traveller-cabin-class-ui .js-package-cabin-select.traveller-cabin-class__native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    appearance: none !important;
    pointer-events: none;
}

@media (max-width: 576px) {
    .passenger-btn .passenger-summary-label .totalPassengers {
        white-space: normal;
    }

    .passenger-menu .passenger-cabin-row .js-passenger-cabin-select,
    .passenger-menu .passenger-cabin-row select.form-select,
    .js-hotel-room-dropdown .package-cabin-row:not(.traveller-cabin-class-ui) .js-package-cabin-select,
    .js-hotel-room-dropdown .package-cabin-row:not(.traveller-cabin-class-ui) select.form-select {
        width: 100%;
    }

    .js-hotel-room-dropdown .traveller-cabin-class-ui .traveller-cabin-class__grid {
        gap: 8px;
    }
}

@media (max-width: 360px) {
    .js-hotel-room-dropdown .traveller-cabin-class-ui .traveller-cabin-class__grid {
        grid-template-columns: 1fr;
    }
}

.banner-form .form-info,
.banner-form .card-body {
    overflow: visible;
}

/* --------------- flight datalist css start --------------- */

#flightListSearchForm:has(#list-oneway:checked) .round-drip {
    display: none !important;
}

#flightListSearchForm:has(#list-roundtrip:checked) .round-drip {
    display: flex !important;
}

#flightListSearchForm:has(#list-multicity:checked) .round-drip {
    display: none !important;
}

#flightListSearchForm .multi-trip {
    display: none;
}

#flightListSearchForm:has(#list-multicity:checked) .normal-trip {
    display: none !important;
}

#flightListSearchForm:has(#list-multicity:checked) .multi-trip {
    display: block !important;
}

.flight__list__card {
    padding: 10px 12px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e3e8ef;
    box-shadow: 0 1px 4px rgba(17, 24, 39, 0.04);
    transition: box-shadow .2s ease, border-color .2s ease;
}

    .flight__list__card.js-open-flight-modal {
        cursor: pointer;
    }

    .flight__list__card:hover {
        border-color: #d7e6f7;
        box-shadow: 0 5px 16px rgba(25, 56, 94, 0.08);
    }

    .flight__list__card.is-selected {
        border-color: var(--tx-primary);
        box-shadow: 0 0 0 2px rgba(var(--tx-primary-rgb), 0.1);
    }

    .flight__list__card.is-offer-highlight {
        border-color: var(--tx-primary);
        box-shadow: 0 0 0 2px rgba(var(--tx-primary-rgb), 0.14);
        background: linear-gradient(180deg, #f5fbfe 0%, #ffffff 48%);
    }

/* Pinned selected offer fare above list filters (Flight List) */
.js-offer-selected-fare {
    margin-bottom: 1rem;
}

    .js-offer-selected-fare #js-offer-selected-fare-card > .flight__list__card {
        margin-bottom: 0;
    }

.flight__list__card h6.time-value {
    font-size: 14px;
    line-height: 1.1;
    font-weight: 700;
    color: #111827;
    margin-bottom: 2px;
}

.flight__list__card .flight-leg-summary-stack {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.flight__list__card .flight-leg-summary__divider {
    border-color: #e8edf3;
    opacity: 1;
}

.flight__list__card .flight-leg-summary h6.time-range,
.flight__list__card .flight-leg-summary h6.stop-label,
.flight__list__card .flight-leg-summary h6.duration-label {
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    color: #111827;
    margin-bottom: 2px;
}

.flight__list__card .flight-leg-summary__logo .airline__logo {
    width: 32px;
    height: 32px;
}

.flight__list__card .flight-leg-summary .small {
    font-size: 11px;
    color: #596275;
    line-height: 1.25;
}

@media (max-width: 575.98px) {
    .flight__list__card .flight-leg-summary__duration {
        text-align: left !important;
    }
}

.flight__list__card .small {
    font-size: 11px;
    color: #596275;
    line-height: 1.2;
    margin-bottom: 0;
}

.flight__list__card .airline__logo {
    width: 24px;
    height: 24px;
    /*border-radius: 50%;*/
    object-fit: cover;
    margin-top: 0;
}

.flight__list__card .direct {
    text-align: center;
    position: relative;
    margin-top: 6px;
}

    .flight__list__card .direct span.text {
        background: #008234;
        color: #fff;
        font-size: 11px;
        padding: 1px 7px;
        border-radius: 4px;
        font-weight: 600;
    }

/* B2C flight listing: outlined stops badge (Direct / Stops) */
.flight__list__card.js-flight-card .direct span.text {
    background: transparent;
    color: #008234;
    border: 1px solid currentColor;
    box-shadow: none;
}

.flight__list__card .direct span.start::before {
    content: "";
    width: calc(50% - 24px);
    height: 1px;
    background: #bdc7d4;
    position: absolute;
    left: 0;
    top: 50%;
}

.flight__list__card .direct span.start::after {
    content: "";
    position: absolute;
    left: 0;
    top: calc(50% - 3px);
    border: 1px solid #bdc7d4;
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

.flight__list__card .direct span.end::before {
    content: "";
    width: calc(50% - 24px);
    height: 1px;
    background: #bdc7d4;
    position: absolute;
    right: 0;
    top: 50%;
}

.flight__list__card .direct span.end::after {
    content: "";
    position: absolute;
    right: 0;
    top: calc(50% - 3px);
    border: 1px solid #bdc7d4;
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

.flight__list__card .time {
    text-align: center;
    font-size: 11px;
    color: #596275;
    margin-top: 2px;
}

.flight__list__card .airline__name {
    font-size: 12px;
    color: #374151;
    margin: 4px 0 0;
}

.flight__list__card .badge__info {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    list-style: none;
    padding-left: 0;
}

    .flight__list__card .badge__info li {
        color: #008234;
        background-color: #f1fef6;
        padding: 2px 7px;
        font-size: 11px;
        border-radius: 4px;
    }

        .flight__list__card .badge__info li.badge-neutral {
            color: #465166;
            background: #f3f5f9;
        }

.flight__list__card .view__details {
    font-size: 12px;
    background: #fff;
    font-weight: 600;
    color: var(--tx-primary);
    border: 1px solid var(--tx-primary);
    border-radius: 4px;
    padding: 6px 6px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all .2s ease;
    width: auto;
    min-width: 100px;
}

    .flight__list__card .view__details:hover {
        background: var(--tx-primary);
        color: #fff;
    }

.flight__list__card .continue__booking {
    font-size: 12px;
    background: var(--tx-primary);
    font-weight: 700;
    color: #fff;
    border: 1px solid var(--tx-primary);
    border-radius: 4px;
    padding: 6px 6px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all .2s ease;
    width: auto;
    min-width: 100px;
}

    .flight__list__card .continue__booking:hover {
        background: #00a3ca;
        border-color: #00a3ca;
        color: #fff;
    }

.fare-type-label {
    font-size: 12px;
    color: #4b5565;
    margin-bottom: 2px;
}

.baggage-icons {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-bottom: 2px;
    color: #4b5565;
}

    .baggage-icons i {
        font-size: 17px;
        line-height: 1;
    }

.flight__list__card .price-value {
    color: #0f172a;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.1;
    margin-bottom: 2px;
}

.help-icon {
    font-size: 28px;
}

.fare-options-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--tx-primary);
    text-decoration: none;
    font-size: 12px;
    margin: 2px 0 8px;
}

    .fare-options-link:hover {
        color: #00a3ca;
    }

.segment-summary {
    font-size: 11px;
    color: #5f6472;
    border-top: 1px dashed #ececf0;
    margin-top: 6px;
    padding-top: 6px;
    line-height: 1.25;
}

    .segment-summary .segment-item + .segment-item {
        margin-top: 2px;
    }

.ui-chip-btn {
    border: 1px solid #d8dee9;
    background: #fff;
    color: #445066;
    border-radius: 8px;
    padding: 5px 10px;
    font-size: 13px;
    cursor: pointer;
    transition: all .2s ease;
}

    .ui-chip-btn:hover,
    .ui-chip-btn.is-active {
        border-color: var(--tx-primary);
        color: var(--tx-primary);
        background: #effbff;
    }

.ui-sort-option {
    cursor: pointer;
    border-radius: 6px;
    transition: background .2s ease;
    padding: 2px 0;
}

    .ui-sort-option:hover {
        background: #f5f8fb;
    }

    .ui-sort-option.is-active {
        background: #ebf9ff;
    }

.accordion-button.is-active {
    color: var(--tx-primary);
    font-weight: 600;
}

.collapse-toggle {
    border: 0;
    background: transparent;
    color: var(--tx-primary);
    padding: 0;
    font-size: 13px;
    font-weight: 500;
}

.summary-note {
    margin-top: 4px;
    color: #4b5565;
    font-size: 11px;
}

.result-baggage-note {
    font-size: 0.85rem;
    color: #4b5563;
    line-height: 1.35;
}

    .result-baggage-note.is-loading {
        color: #68758c;
        font-style: italic;
    }

.result-count-note {
    font-size: 11px;
    color: #68758c;
    margin: 1px 0 8px;
}

.airport-line {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 3px;
}

.route-times {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 0;
}

.right-pane {
    border-left: 1px solid #e5ebf2;
    padding-left: 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.flight__list__card .detail__info {
    width: 100%;
}

.right-price-row {
    display: flex;
    align-items: center;
    gap: 15px;
    justify-content: flex-end;
}

.help-icon {
    width: 20px;
    height: 20px;
    border: 2px solid #6b7280;
    color: #111827;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    line-height: 1;
    font-weight: 900;
}

.fare-breakup-trigger {
    background: #fff;
    cursor: pointer;
    padding: 0;
}

    .fare-breakup-trigger:hover {
        border-color: var(--tx-primary);
        color: var(--tx-primary);
    }

.fare-breakup-modal .modal-dialog {
    max-width: 640px;
}

.fare-breakup-card {
    border-radius: 18px;
    border: 0;
    overflow: hidden;
}

.fare-breakup-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px 12px;
    border-bottom: 1px solid #e8edf4;
}

.fare-breakup-title {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
}

.fare-breakup-subtitle {
    margin: 4px 0 0;
    color: #68758c;
    font-size: 13px;
}

.fare-breakup-body {
    padding: 18px 22px 22px;
}

.fare-breakup-summary {
    border: 1px solid #e8edf4;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 16px;
}

.fare-breakup-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 12px;
    font-size: 14px;
    border-bottom: 1px solid #edf1f6;
}

    .fare-breakup-row:last-child {
        border-bottom: 0;
    }

    .fare-breakup-row strong {
        color: #0f172a;
    }

.fare-breakup-total {
    background: #f5fbff;
    font-weight: 700;
}

.fare-breakup-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

    .fare-breakup-table th,
    .fare-breakup-table td {
        padding: 9px 8px;
        border-bottom: 1px solid #edf1f6;
        text-align: right;
        white-space: nowrap;
    }

        .fare-breakup-table th:first-child,
        .fare-breakup-table td:first-child {
            text-align: left;
        }

    .fare-breakup-table th {
        color: #68758c;
        font-weight: 600;
        background: #f8fafc;
    }

.fare-breakup-empty,
.fare-breakup-loading {
    color: #68758c;
    text-align: center;
    padding: 28px 12px;
}

@media (max-width: 575px) {
    .fare-breakup-body,
    .fare-breakup-header {
        padding-left: 16px;
        padding-right: 16px;
    }

    .fare-breakup-table-wrap {
        overflow-x: auto;
    }
}

.top-airlines-section .hotel-type-item {
    padding: 8px 5px 8px 8px;
    box-shadow: 0 4px 24px 0 rgba(194, 194, 194, 0.25);
    border-radius: 10px;
    background: #fff;
    border: 1px solid #e4ebf1;
    transition: all 0.5s ease;
}

.top-airlines-section .avatar.avatar-lg {
    width: 2.813rem;
    height: 2.813rem;
    line-height: 2.813rem;
}

.top-airlines-section .hotel-type-item .avatar {
    overflow: hidden;
    border-radius: 50%;
    flex-shrink: 0;
    background: #f5f7fa;
}

    .top-airlines-section .hotel-type-item .avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: all 0.3s ease-out;
    }

.top-airlines-section .hotel-type-item:hover {
    transform: translateY(-2px);
}

    .top-airlines-section .hotel-type-item:hover .avatar img {
        transform: scale(1.1);
    }

.top-airlines-section .hotel-type-item h6 {
    color: #1f1f1f;
    margin-bottom: 2px;
}

.top-airlines-section .hotel-type-item p.fs-14 {
    color: #6b7280;
    margin-bottom: 0;
}

.flight-details-modal .modal-dialog {
    max-width: 624px;
}

.flight-details-modal .modal-content {
    background: transparent;
    border: 0;
    overflow: visible;
    max-height: unset;
}

.flight-popup-mockup,
.flight-popup-mockup * {
    box-sizing: border-box;
}

.flight-popup-mockup {
    --fp-text: #222222;
    --fp-muted: #6f6f6f;
    --fp-light: #8b8b8b;
    --fp-border: #e6e6e6;
    --fp-green: #2e8b57;
    --fp-blue: #2f6fdd;
    --fp-bg: #ffffff;
    --fp-shadow: 0 10px 30px rgba(0, 0, 0, 0.16);
    font-family: Arial, Helvetica, sans-serif;
    color: var(--fp-text);
    border-radius: 16px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

    .flight-popup-mockup .fp-modal {
        width: 100%;
        max-width: 624px;
        background: var(--fp-bg);
        border: 1px solid #dddddd;
        border-radius: 18px;
        box-shadow: var(--fp-shadow);
        overflow: hidden;
        margin-top: 0;
    }

    .flight-popup-mockup .fp-inner {
        padding: 18px;
        max-height: unset;
        overflow: visible;
    }

    .flight-popup-mockup .fp-header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 10px;
    }

    .flight-popup-mockup .fp-title {
        margin: 0 0 10px;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
        color: #1f1f1f;
    }

    .flight-popup-mockup .fp-share {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        text-decoration: none;
        font-size: 13px;
        color: #4a77b8;
        line-height: 1.2;
    }

        .flight-popup-mockup .fp-share svg {
            width: 14px;
            height: 14px;
            stroke: currentColor;
            flex: 0 0 auto;
        }

    .flight-popup-mockup .fp-close {
        width: 24px;
        height: 24px;
        border: 0;
        background: transparent;
        padding: 0;
        cursor: pointer;
        color: #333333;
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-top: 1px;
    }

        .flight-popup-mockup .fp-close svg {
            width: 16px;
            height: 16px;
            stroke: currentColor;
        }

    .flight-popup-mockup .fp-flight-section {
        margin-bottom: 20px;
    }

        .flight-popup-mockup .fp-flight-section:last-of-type {
            margin-bottom: 16px;
        }

    .flight-popup-mockup .fp-flight-title {
        margin: 0 0 2px;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.25;
        color: #1f1f1f;
    }

    .flight-popup-mockup .fp-flight-subtitle {
        margin: 0 0 12px;
        font-size: 12px;
        color: var(--fp-muted);
        line-height: 1.2;
    }

    .flight-popup-mockup .fp-flight-row {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 18px;
    }

    .flight-popup-mockup .fp-timeline-wrap {
        flex: 1 1 auto;
        min-width: 0;
        padding-right: 8px;
    }

    .flight-popup-mockup .fp-timeline {
        position: relative;
        padding-left: 26px;
    }

        .flight-popup-mockup .fp-timeline::before {
            content: "";
            position: absolute;
            top: 14px;
            bottom: 40px;
            left: 5px;
            width: 1px;
            background: #222222;
        }

    .flight-popup-mockup .fp-stop {
        position: relative;
        min-height: 48px;
    }

        .flight-popup-mockup .fp-stop + .fp-stop {
            margin-top: 18px;
        }

        .flight-popup-mockup .fp-stop::before {
            content: "";
            position: absolute;
            left: -26px;
            top: 2px;
            width: 12px;
            height: 12px;
            border: 1.5px solid var(--tx-primary);
            border-radius: 50%;
            background: #ffffff;
        }

    .flight-popup-mockup .fp-time {
        margin: 0 0 3px;
        font-size: 12px;
        font-weight: 400;
        color: #4e4e4e;
        line-height: 1.25;
        white-space: nowrap;
    }

    .flight-popup-mockup .fp-airport {
        margin: 0;
        font-size: 14px;
        font-weight: 700;
        color: #1f1f1f;
        line-height: 1.3;
    }

    /*.flight-popup-mockup .fp-airline {
        width: 175px;
        flex: 0 0 175px;
        display: grid;
        align-items: center;
        gap: 10px;
        padding-top: 15px;
    }*/

    .flight-popup-mockup .fp-airline {
        width: 43%;
        flex: 0 0 43%;
        display: grid;
        align-items: center;
        gap: 5px;
        padding-top: 15px;
    }

    /*.flight-popup-mockup .fp-airline-logo {
        width: 28px;
        flex: 0 0 28px;
        display: flex;
        align-items: center;
        justify-content: center;
    }*/

    .flight-popup-mockup .fp-airline-logo {
        width: 100%;
        flex: 0 0 28px;
        display: flex;
        align-items: center;
        justify-content: left;
    }

        /*.flight-popup-mockup .fp-airline-logo .airline__logo {
            width: 22px;
            height: 22px;
            border-radius: 50%;
            object-fit: cover;
        }*/

        .flight-popup-mockup .fp-airline-logo .airline__logo {
            width: 28px;
            height: 28px;
            border-radius: unset;
            object-fit: cover;
            padding-right: 5px;
        }

        .flight-popup-mockup .fp-airline-logo p {
            margin: 0;
            font-size: 14px;
            font-weight: 700;
            color: #1f1f1f;
            line-height: 1.3;
        }

    .flight-popup-mockup .fp-airline-meta {
        min-width: 0;
    }

        .flight-popup-mockup .fp-airline-meta p {
            margin: 0;
            font-size: 12px;
            line-height: 1.4;
            color: #666666;
        }

    .flight-popup-mockup .fp-segment-block + .fp-segment-block {
        margin-top: 14px;
        padding-top: 14px;
        border-top: 1px dashed var(--fp-border);
    }

    .flight-popup-mockup .fp-layover {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-top: 10px;
        padding: 6px 12px;
        border-radius: 999px;
        background: #f3f6f9;
        color: #4e4e4e;
        font-size: 12px;
        line-height: 1.3;
    }

        .flight-popup-mockup .fp-layover i {
            font-size: 14px;
            line-height: 1;
            flex: 0 0 auto;
        }

    .flight-popup-mockup .fp-divider {
        border-top: 1px solid var(--fp-border);
        margin: 16px 0;
    }

    .flight-popup-mockup .fp-table {
        border-top: 1px solid var(--fp-border);
        border-bottom: 1px solid var(--fp-border);
    }

    .flight-popup-mockup .fp-table-row {
        display: grid;
        grid-template-columns: 162px 1fr;
    }

    .flight-popup-mockup .fp-table-side {
        border-right: 1px solid var(--fp-border);
        padding: 16px 10px 16px 10px;
    }

    .flight-popup-mockup .fp-table-content {
        padding: 16px 10px 16px 10px;
    }

    .flight-popup-mockup .fp-side-title {
        margin: 0 0 3px;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.2;
        color: #1f1f1f;
    }

    .flight-popup-mockup .fp-side-text {
        margin: 0;
        font-size: 12px;
        color: var(--fp-muted);
        line-height: 1.35;
    }

    /*.flight-popup-mockup .fp-bag-group + .fp-bag-group {
        margin-top: 16px;
    }*/

    .flight-popup-mockup .fp-bag-group-title {
        margin: 0 0 8px;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.2;
        color: #1f1f1f;
    }

    .flight-popup-mockup .fp-bag-item {
        display: grid;
        grid-template-columns: 30px 1fr auto;
        gap: 12px;
        align-items: start;
    }

    .flight-popup-mockup .fp-rule-item,
    .flight-popup-mockup .fp-extra-item {
        display: grid;
        grid-template-columns: 18px 1fr auto;
        gap: 12px;
        align-items: start;
    }

    .flight-popup-mockup .fp-bag-item + .fp-bag-item {
        margin-top: 14px;
    }

    .flight-popup-mockup .fp-bag-icon svg,
    .flight-popup-mockup .fp-rule-icon svg,
    .flight-popup-mockup .fp-extra-icon svg {
        width: 18px;
        height: 18px;
        stroke: #333333;
        fill: none;
        stroke-width: 1.8;
        display: block;
        margin-top: 1px;
    }

    .flight-popup-mockup .fp-bag-body {
        min-width: 0;
    }

    .flight-popup-mockup .fp-bag-title {
        display: block;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.25;
        color: #1f1f1f;
    }

    .flight-popup-mockup .fp-bag-detail {
        display: block;
        margin-top: 2px;
        font-size: 12px;
        line-height: 1.35;
        color: var(--fp-muted);
    }

    .flight-popup-mockup .fp-status {
        font-size: 12px;
        line-height: 1.35;
        color: var(--fp-green);
        white-space: nowrap;
        padding-left: 8px;
    }

    .flight-popup-mockup .fp-extra-side {
        font-size: 12px;
        line-height: 1.35;
        color: #666666;
        white-space: nowrap;
        padding-left: 8px;
    }

    .flight-popup-mockup .fp-return-section.is-hidden {
        display: none;
    }

    .flight-popup-mockup .fp-bag-group.is-hidden {
        display: none;
    }

    .flight-popup-mockup .fp-rule-list,
    .flight-popup-mockup .fp-extra-list {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .flight-popup-mockup .fp-rule-text,
    .flight-popup-mockup .fp-extra-main {
        font-size: 13px;
        line-height: 1.35;
        color: #333333;
    }

    .flight-popup-mockup .fp-extra-title {
        margin: 0 0 2px;
        font-size: 13px;
        line-height: 1.2;
        color: #1f1f1f;
    }

    .flight-popup-mockup .fp-extra-sub {
        margin: 0;
        font-size: 12px;
        line-height: 1.35;
        color: #666666;
    }

    .flight-popup-mockup .fp-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding-top: 18px;
    }

    .flight-popup-mockup .fp-price {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 16px;
        font-weight: 700;
        line-height: 1;
        color: #1f1f1f;
    }

    .flight-popup-mockup .fp-info {
        width: 15px;
        height: 15px;
        border: 1px solid #9a9a9a;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 10px;
        color: #6a6a6a;
        font-weight: 700;
        line-height: 1;
    }

    .flight-popup-mockup .fp-btn {
        min-width: 110px;
        height: 38px;
        border: 0;
        border-radius: 4px;
        background: var(--fp-blue);
        color: #ffffff;
        font-size: 14px;
        font-weight: 700;
        line-height: 1;
        padding: 0 18px;
        cursor: pointer;
    }

@media (max-width: 767px) {
    .flex__button {
        display: flex;
    }

    .flight__list__card .border-end {
        border-inline-end: unset !important;
    }

    .flight__list__card {
        padding: 12px;
    }

        .flight__list__card h6.time-value {
            font-size: 13px;
        }

        .flight__list__card .continue__booking,
        .flight__list__card .view__details {
            width: auto;
            font-size: 12px;
        }

        .flight__list__card .small,
        .flight__list__card .direct span.text,
        .flight__list__card .time,
        .fare-type-label,
        .fare-options-link {
            font-size: 11px;
        }

        .flight__list__card .airline__name {
            font-size: 12px;
        }

        .flight__list__card .price-value {
            font-size: 22px;
        }

    .right-pane {
        border-left: 0;
        border-top: 1px solid #e5ebf2;
        padding-left: 10px;
        padding-top: 10px;
        margin-top: 10px;
    }

    .flight-popup-mockup .fp-modal {
        max-width: 100%;
        border-radius: 14px;
    }

    .flight-popup-mockup .fp-inner {
        padding: 16px 14px;
    }

    .flight-popup-mockup .fp-flight-row {
        flex-direction: row !important;
        gap: 10px !important;
    }


    .flight-popup-mockup .fp-airline {
        width: 50%;
        flex: 1 1 auto;
        padding-top: 0;
        padding-left: 10px;
    }

    .flight-popup-mockup .fp-timeline-wrap {
        width: 50%;
        flex: 1 1 auto;
        min-width: 0;
        padding-right: 10px;
    }

    .flight-popup-mockup .fp-table-row {
        grid-template-columns: 1fr;
    }

    .flight-popup-mockup .fp-table-side {
        border-right: 0;
        border-bottom: 1px solid var(--fp-border);
        padding: 14px 10px;
    }

    div#fpBaggageGroups {
        flex-direction: row;
        display: flex;
    }

    .flight-popup-mockup .fp-table-content {
        padding: 14px 10px;
    }

    .flight-popup-mockup .fp-bag-item,
    .flight-popup-mockup .fp-rule-item,
    .flight-popup-mockup .fp-extra-item {
        grid-template-columns: 18px 1fr;
    }

    .flight-popup-mockup .fp-status,
    .flight-popup-mockup .fp-extra-side {
        grid-column: 2 / 3;
        padding-left: 0;
    }

    .flight-popup-mockup .fp-footer {
        flex-direction: column;
        align-items: stretch;
    }

    .flight-popup-mockup .fp-btn {
        width: 100%;
    }
}

@media (max-width: 1199px) and (min-width: 768px) {
    .top-airlines-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.flight-popup-mockup .fp-rule-text {
    white-space: nowrap !important;
    width: auto !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.flight-popup-mockup .fp-rule-item {
    display: block !important;
}

.flight-popup-mockup .fp-rule-text {
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.flight-popup-mockup .fp-extra-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 20px !important;
}

.flight-popup-mockup .fp-extra-main {
    flex: 1 !important;
    min-width: 0 !important;
}

.flight-popup-mockup .fp-extra-title,
.flight-popup-mockup .fp-extra-sub,
.flight-popup-mockup .fp-extra-side {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

.flight-popup-mockup .fp-extra-side {
    min-width: 180px !important;
    text-align: right !important;
}

.flight__list__card .top-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    gap: 12px;
    margin-bottom: 4px;
}

    .flight__list__card .top-row .right-price-row {
        flex-shrink: 0;
    }

.flight__list__card .fare-actions-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    gap: 2px;
}

    .flight__list__card .fare-actions-center .fare-options-link {
        justify-content: center;
        margin: 2px 0 4px;
    }

    .flight__list__card .fare-actions-center .result-count-note {
        width: 100%;
        margin: 0 0 4px;
        text-align: center;
    }

    .flight__list__card .fare-actions-center .result-baggage-note {
        width: 100%;
        margin: 0 0 8px;
        text-align: center;
        font-size: 11px;
        color: #4b5563;
        line-height: 1.35;
    }

    .flight__list__card .fare-actions-center .continue__booking,
    .flight__list__card .fare-actions-center .view__details {
        margin: 0 auto;
    }

/*.flight__list__card .fare-actions-center .continue__booking {
        margin-bottom: 8px;
    }*/

.theiaStickySidebar .breadcrumb .breadcrumb-item + .breadcrumb-item::before,
.theiaStickySidebar .breadcrumb .breadcrumb-item + .breadcrumb-item::after,
.theiaStickySidebar a.dropdown-toggle.dropdown-toggle-iconsax::after {
    content: none !important;
    display: none !important;
}

#js-flight-list-main a.dropdown-toggle.dropdown-toggle-iconsax::after {
    content: none !important;
    display: none !important;
}

.theiaStickySidebar .breadcrumb-separator-icon {
    font-size: 12px;
    color: #E4EBF1;
    vertical-align: middle;
}

.theiaStickySidebar .hotel-sort-chevron {
    font-size: 12px;
    color: #4E5561;
    vertical-align: middle;
}

#js-flight-list-main .hotel-sort-chevron {
    font-size: 12px;
    color: #4E5561;
    vertical-align: middle;
}

.theiaStickySidebar .filter-sidebar .accordion-list .accordion-button::after {
    content: none !important;
    display: none !important;
}

.theiaStickySidebar .filter-sidebar .filter-accordion-chevron {
    font-size: 16px;
    color: #4E5561;
    transition: transform 0.2s ease;
}

.theiaStickySidebar .filter-sidebar .accordion-button:not(.collapsed) .filter-accordion-chevron {
    transform: rotate(180deg);
}

.theiaStickySidebar .filter-sidebar .filter-star-rating .isax-star-1 {
    font-size: 14px;
}

.theiaStickySidebar .hotel-result-item.hotel-paged-out {
    display: none !important;
}

.theiaStickySidebar .pagination-nav .page-link {
    cursor: pointer;
}

#hotel-sort-toggle:after {
    content: none !important;
    display: none !important;
}
/* --------------- flight datalist css end --------------- */

.irs-min, .irs-max, .irs-from, .irs-to {
    display: none;
}

/* B2C flight list price filter slider */
#flight-price-range-wrap .irs--round.irs-with-grid {
    height: 50px;
}

#flight-price-range-wrap .irs--round .irs-line,
#flight-price-range-wrap .irs--round .irs-bar {
    top: 36px;
}

#flight-price-range-wrap .irs--round .irs-handle {
    top: 32px;
    width: 16px;
    height: 16px;
    background-color: var(--tx-primary);
    border: 0;
}

#flight-price-range-wrap .irs--round .irs-line {
    background: #E4EBF1;
}

#flight-price-range-wrap .irs--round .irs-bar {
    background-color: var(--tx-primary);
}

.umrah__section {
    background: #f7faff;
}

.hotel_section {
    background: #f9fff4;
}

@media (max-width: 576px) {
    /*.passenger-menu {
        left: -16px;
        min-width: 305px;
        top: calc(100% + 2px) !important;
    }*/

    html, body {
        overflow-x: hidden;
    }

    .dropdown1 {
        top: 38px;
    }

    .dropdown1 {
        position: fixed !important;
        top: -100px !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0px !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: 80vh !important;
        min-height: 80vh !important;
        max-height: 80vh !important;
        margin: 0 !important;
        padding: 20px !important;
        border-radius: 0 !important;
        background: #fff !important;
        overflow-y: auto !important;
        z-index: 999999 !important;
        transform: none !important;
    }
}

/* Mobile-only traveller header; hidden so desktop/tablet remain unchanged. */
.passenger-menu .passenger-mobile-header {
    display: none;
}

.js-hotel-room-dropdown .hotel-room-mobile-header {
    display: none;
}

.inputIconParent {
    position: relative;
    padding-left: 20px;
}

    .inputIconParent .inputIcon {
        position: absolute;
        top: 7px;
        left: 0;
    }

        .inputIconParent .inputIcon.hotel_ {
            width: 20px;
            top: 4px;
            fill: #838383;
        }

    .inputIconParent:has(.inputIcon.hotel_) {
        padding-left: 24px;
    }

.btn {
    white-space: nowrap;
}

    .btn.btn-primary:hover, .btn.btn-primary:focus, .btn.btn-primary.focus, .btn.btn-primary:active, .btn.btn-primary.active {
        background-color: #fcbe09;
        border: 1px solid #fcbe09;
        color: #FFF;
    }

@media (max-width: 767px) {

    .place-item .place-content {
        min-height: 186px;
    }

    .place-item .place-img img {
        max-height: 200px;
    }

    html.passenger-modal-open,
    body.passenger-modal-open {
        overflow: hidden !important;
        overscroll-behavior: none;
    }

        body.passenger-modal-open::before {
            content: "";
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.45);
            z-index: 2147483645;
        }

    /*body > .passenger-dropdown.passenger-dropdown-mobile-open > .passenger-menu.passenger-menu-mobile-open {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 100vh !important;
        min-height: 100dvh !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 20px !important;
        padding-bottom: calc(84px + env(safe-area-inset-bottom)) !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-sizing: border-box;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        z-index: 2147483646 !important;
        transform: none !important;
    }*/

    body > .passenger-dropdown.passenger-dropdown-mobile-open > .passenger-menu.passenger-menu-mobile-open {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        top: 30% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 70vh !important;
        min-height: 70vh !important;
        min-height: 70vh !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0px 20px !important;
        padding-bottom: calc(84px + env(safe-area-inset-bottom)) !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-sizing: border-box;
        overscroll-behavior: contain;
        animation-duration: .4s;
        animation-name: slideInUp;
        z-index: 2147483646 !important;
    }

    .passenger-menu-mobile-open .passenger-mobile-header {
        position: sticky;
        top: 0;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 0px 0px 0px;
        padding: 10px 0px;
        border-bottom: 1px solid #eee;
        background: #fff;
    }

    .passenger-menu-mobile-open .passenger-mobile-title {
        color: #111827;
        font-size: 18px;
        font-weight: 600;
    }

    .passenger-menu-mobile-open .passenger-close-btn {
        display: flex;
        flex: 0 0 32px;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: #fff;
        color: #111827;
        font: inherit;
        font-size: 24px;
        line-height: 1;
        cursor: pointer;
    }

        .passenger-menu-mobile-open .passenger-close-btn:focus-visible {
            outline: 2px solid var(--tx-primary);
            outline-offset: 2px;
        }

    .passenger-menu-mobile-open .footer {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 3;
        margin: 0;
        padding: 12px 20px calc(12px + env(safe-area-inset-bottom)) !important;
        border-top: 1px solid #eee;
        background: #fff;
    }

    html.hotel-room-modal-open,
    body.hotel-room-modal-open {
        overflow: hidden !important;
        overscroll-behavior: none;
    }

        body.hotel-room-modal-open::before {
            content: "";
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.45);
            z-index: 2147483645;
        }

    .fa-star {
        color: #fcbe09;
    }
    /*
    body > .room-selector.hotel-room-selector-mobile-open > .js-hotel-room-dropdown.hotel-room-dropdown-mobile-open {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 100vh !important;
        min-height: 100dvh !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 20px !important;
        padding-bottom: calc(84px + env(safe-area-inset-bottom)) !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-sizing: border-box;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        z-index: 2147483646 !important;
        transform: none !important;
    }*/

    body > .room-selector.hotel-room-selector-mobile-open > .js-hotel-room-dropdown.hotel-room-dropdown-mobile-open {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        min-width: 0 !important;
        max-width: none !important;
        top: 35% !important;
        height: 80dvh !important;
        min-height: 80dvh !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0px 20px !important;
        padding-bottom: calc(84px + env(safe-area-inset-bottom)) !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-sizing: border-box;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        animation-duration: .4s;
        animation-name: slideInUp;
        z-index: 2147483646 !important;
        transform: none !important;
    }

    .hotel-room-dropdown-mobile-open .hotel-room-mobile-header {
        position: sticky;
        top: 0;
        z-index: 3;
        display: flex;
        align-items: center;
        /*justify-content: space-between;
        margin: -20px -20px 12px;
        padding: calc(16px + env(safe-area-inset-top)) 20px 16px;
        border-bottom: 1px solid #eee;
        background: #fff;*/
        justify-content: space-between;
        margin: 0px 0px 0px;
        padding: 10px 0px;
        border-bottom: 1px solid #eee;
        background: #fff;
    }

    .hotel-room-dropdown-mobile-open .hotel-room-mobile-title {
        color: #111827;
        font-size: 18px;
        font-weight: 600;
    }

    .hotel-room-dropdown-mobile-open .hotel-room-close-btn {
        display: flex;
        flex: 0 0 32px;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: #fff;
        color: #111827;
        font: inherit;
        font-size: 24px;
        line-height: 1;
        cursor: pointer;
    }

        .hotel-room-dropdown-mobile-open .hotel-room-close-btn:focus-visible {
            outline: 2px solid var(--tx-primary);
            outline-offset: 2px;
        }

    .hotel-room-dropdown-mobile-open .footer {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 3;
        margin: 0;
        padding: 12px 20px calc(12px + env(safe-area-inset-bottom)) !important;
        border-top: 1px solid #eee;
        background: #fff;
    }
}

/* --------------- Offer card equal-height layout --------------- */

.place-section .row > [class*="col-"],
.benifit-section .row > [class*="col-"],
.featured-sec-eleven .row > [class*="col-"] {
    display: flex;
    flex-direction: column;
}

.offer-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}

.offer-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.offer-card__footer {
    margin-top: auto;
    flex-shrink: 0;
}

    .offer-card__footer .btn {
        flex-shrink: 0;
        margin-left: auto;
    }

.offer-card__img {
    flex-shrink: 0;
    height: 220px;
    overflow: hidden;
}

    .offer-card__img > a,
    .offer-card__img .img-slider,
    .offer-card__img .img-slider .owl-stage-outer,
    .offer-card__img .img-slider .owl-stage,
    .offer-card__img .img-slider .owl-item,
    .offer-card__img .slide-images,
    .offer-card__img .slide-images a {
        display: block;
        height: 100%;
        width: 100%;
    }

    .offer-card__img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.offer-card__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.offer-card__desc {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.offer-card__meta {
    min-width: 0;
}

    .offer-card__meta > span {
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        min-width: 0;
    }

.offer-card .flight-loc .loc-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

header .header-nav .main-menu-wrapper .main-nav > li > a {
    text-transform: capitalize;
}

.place-slider.owl-carousel .owl-stage {
    display: flex;
}

.place-slider.owl-carousel .owl-item {
    display: flex;
    height: auto;
}

    .place-slider.owl-carousel .owl-item > a,
    .place-slider.owl-carousel .owl-item > .offer-card,
    .place-slider.owl-carousel .owl-item > .featured-item,
    .place-slider.owl-carousel .owl-item > .trending-list-item {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
    }

.benifit-section .place-slider.owl-carousel .owl-item > .offer-card {
    width: 100%;
}

.accordion-button {
    justify-content: space-between;
}

.alert-warning {
    background-color: rgb(255 247 207);
    color: var(--tx-primary);
    border-color: rgba(255, 202, 24, 0.1);
}

.fixed__price {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    padding: 10px 16px;
    position: fixed;
    bottom: 0;
    z-index: 99;
    background: #f1f1f1;
    width: 100%;
    display: none;
    box-shadow: 0 0 3px #ffffff;
}

    .fixed__price h6 {
        color: #000;
        font-size: 20px;
    }

        .fixed__price h6 span {
            font-size: 18px;
            font-weight: 800;
            color: var(--tx-primary);
            white-space: nowrap;
            line-height: 1;
        }

@media (max-width: 767.98px) {
    .fixed__price {
        display: block;
    }

    .offer-card__img {
        height: 200px;
    }

    .back-to-top-icon {
        bottom: 78px;
    }

    .top-padding-zero {
        margin-top: 0px !important;
    }
}
/* --------------- Why Choose Us equal-height cards --------------- */

.why-choose-nine .row > [class*="col-"] {
    display: flex;
    flex-direction: column;
}

.why-choose-nine .why-choose-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}

    .why-choose-nine .why-choose-card .why-choose-icon {
        flex-shrink: 0;
    }

.why-choose-nine .why-choose-card__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
    flex-shrink: 0;
}

.why-choose-nine .why-choose-card__desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
    flex: 1 1 auto;
    min-height: 0;
}

/* --------------- Why Choose Us — IconPlain (reference, no pastel cards) --------------- */

.why-choose-nine--icon-plain .why-choose-plain {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    width: 100%;
    padding: 12px 8px 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    text-align: center;
}

.why-choose-nine--icon-plain .why-choose-plain__icon {
    width: 88px;
    height: 88px;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
}

.why-choose-nine--icon-plain .why-choose-plain__icon img {
    max-width: 72px;
    max-height: 72px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.why-choose-nine--icon-plain .why-choose-plain__title {
    color: #2a1f5e;
    font-weight: 700;
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.why-choose-nine--icon-plain .why-choose-plain__desc {
    color: #4a4468;
    font-size: 0.95rem;
    line-height: 1.55;
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
    flex: 1 1 auto;
    min-height: 0;
}

@media (max-width: 991.98px) {
    .why-choose-nine--icon-plain .why-choose-plain {
        padding: 8px 4px;
    }

    .why-choose-nine--icon-plain .why-choose-plain__icon {
        width: 72px;
        height: 72px;
        margin-bottom: 14px;
    }

    .why-choose-nine--icon-plain .why-choose-plain__icon img {
        max-width: 56px;
        max-height: 56px;
    }
}

footer.footer-eleven .footer-top .footer-subscribe {
    margin-bottom: 16px;
}

.footer__bg {
    /*background: #0c1826;*/
    /*background-color: rgb(227 240 255 / 10%);*/
    border-radius: 10px;
    /*backdrop-filter: blur(6px);*/
    /*border: 1px solid rgba(227, 240, 255, 0.2);*/
    padding: 8px;
    height: 100%;
}

.badge.badge-info-100 {
    background: var(--tx-primary);
    color: #fff !important;
}

.fav-item .bg-info, .stars .bg-info {
    border: unset !important;
    background: unset !important;
    padding: 0;
    color: #f3b500;
}

.contact__content {
    position: relative;
}

    .contact__content::before {
        content: '';
        background: url(../assets/img/cartographer.png);
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        opacity: .3;
        z-index: -1;
    }

.btn, button {
    padding: 6px 16px;
    font-size: 16px;
    font-weight: 500;
}

    button svg {
        width: 16px;
        height: 16px;
    }

.form-check-input {
    width: 1.25rem;
    height: 1.25rem;
}

.form-check-label {
    margin-left: 6px;
}

.place-item .place-content {
    min-height: 300px;
}

.hotel-list .place-item .place-img a img {
    max-height: 300px;
}

/* Homepage banner hero text (DB-driven) — vertically centered between header and search */
.hero-sec-eight .hero-home-banner-content {
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Keep search at bottom when no in-flow hero text (legacy absolute animate-text / empty). */
.hero-sec-eight .hero-home-banner-content:not(:has(.hero-banner-text)) > .hero-content {
    margin-top: auto;
}

.hero-sec-eight .hero-banner-text {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    max-width: 56rem;
    margin-top: auto;
    margin-bottom: auto;
    margin-left: auto;
    margin-right: auto;
    padding: 0 0.75rem;
    text-align: center;
    color: #fff;
    font-size: 56px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
}

.hero-sec-eight .hero-legacy-accent {
    color: #ffcb35;
}

.homepage-banner-admin-preview {
    display: block;
    width: 100%;
    max-width: 100%;
    max-height: 180px;
    object-fit: contain;
    background: #f8f9fa;
}

@media (max-width: 991.98px) {
    .hero-sec-eight .hero-banner-text {
        font-size: 40px;
    }
}

@media (max-width: 767.98px) {
    .hero-sec-eight .hero-banner-text {
        font-size: 30px;
        margin-top: 0;
        margin-bottom: 0.85rem;
        line-height: 1.2;
    }
}

/*.hero-sec-eight .animate-text {
    white-space: unset;
}*/

/* Crown header menu item spacing */
@media (min-width: 992px) {
    .main-header-nine .header-nine .header-nav .main-menu-wrapper .main-nav > li {
        margin-right: 16px !important;
    }

        .main-header-nine .header-nine .header-nav .main-menu-wrapper .main-nav > li:last-child {
            margin-right: 0 !important;
        }
}

@media (max-width: 991px) {
    .footer__bg {
        height: calc(100% - 20px);
        margin-bottom: 20px;
    }

    .hero-sec-eight .animate-text {
        top: 50px;
        white-space: unset;
        width: calc(100% - 32px);
        display: none;
    }
}


.form-check-input[type=checkbox] {
    width: 20px !important;
    height: 20px !important;
}

.svg-inline--fa {
    color: var(--tx-primary) !important;
    font-size: 24px;
}

svg.svg-inline--fa.fa-star {
    color: #f3b500 !important;
    font-size: 16px;
}

svg.svg-inline--fa.fa-address-card {
    color: #f3b500 !important;
    font-size: 16px;
}

svg.svg-inline--fa.fa-chevron-right {
    color: #f3b500 !important;
    font-size: 16px;
}

svg.svg-inline--fa.fa-chevron-left {
    color: #f3b500 !important;
    font-size: 16px;
}

.remove-style-css {
    position: absolute;
    right: 23%;
    margin-top: 35px;
}

@media (max-width: 991px) {
    .remove-style-css {
        position: absolute;
        right: 7%;
        margin-top: 125px;
    }
}

/*contact details right section start*/
/* Sidebar */
.booking-sidebar {
    position: sticky;
    top: 100px;
}

.booking-card {
    background: #fff;
    border: 1px solid #e7edf3;
    border-radius: 22px;
    padding: 24px;
    box-shadow: 0 10px 24px rgba(15,43,77,.06);
}

/* Heading */
.booking-title {
    font-weight: 600;
    margin-bottom: 18px;
    line-height: 1.2;
}

/* Passenger badge */
.passenger-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #f5fbfe;
    border: 1px solid #d8eef8;
    color: #0f2b4d;
    font-weight: 600;
    font-size: 14px;
}

    .passenger-badge i {
        color: #19b5df;
    }

/* Divider */
.divider {
    border-top: 1px solid #e8eef3;
    margin: 18px 0;
}

/* Fare rows */
.price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    color: #5b6577;
    margin-bottom: 12px;
}

    .price-row strong {
        color: #111827;
        font-weight: 700;
    }

/* Total */
.total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.total-label {
    font-weight: 600;
    color: #111827;
}

.total-amount {
    font-size: 24px;
    font-weight: 800;
    color: var(--tx-primary);
    white-space: nowrap;
    line-height: 1;
}

/* Protection card */
.protection-card {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    background: #f7fcfe;
    border: 1px solid #d9eef7;
    border-radius: 16px;
    padding: 18px;
}

    .protection-card i {
        color: #19b5df;
        font-size: 28px;
        margin-top: 2px;
    }

.protection-title {
    font-weight: 700;
    color: #102b4d;
    margin-bottom: 4px;
}

.protection-text {
    font-size: 14px;
    color: #64748b;
    line-height: 1.5;
    margin: 0;
}

/* Section title */
.section-title {
    font-weight: 600;
    color: #111827;
    margin-bottom: 16px;
}

/* Feature list */
.feature-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 0;
    color: #475569;
    font-size: 15px;
}

    .feature-item i {
        width: 22px;
        color: #19b5df;
        font-size: 18px;
        text-align: center;
    }

/* Help card */
.help-card {
    background: #f8fcfe;
    border: 1px solid #d9eef7;
    border-radius: 18px;
    padding: 20px;
}

.help-title {
    font-weight: 600;
    margin-bottom: 10px;
}

.help-text {
    color: #64748b;
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 18px;
}

/* Phone */
.phone-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

    .phone-row i {
        color: #19b5df;
        font-size: 22px;
    }

    .phone-row span {
        font-size: 28px;
        font-weight: 800;
        color: #111827;
        line-height: 1;
        white-space: nowrap;
    }

/* Button */
.call-btn {
    width: 100%;
    border: none;
    border-radius: 999px;
    padding: 14px;
    background: #19b5df;
    color: #fff;
    font-weight: 700;
    transition: .25s ease;
}

    .call-btn:hover {
        background: #11a5ce;
    }

/* Logos */
.logos {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 12px;
}

.logo-box {
    height: 64px;
    border: 1px solid #e7edf3;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

    .logo-box img {
        max-width: 70%;
        max-height: 36px;
        object-fit: contain;
    }

/* Bottom features */
.bottom-feature {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 0;
    border-top: 1px solid #e8eef3;
    color: #334155;
    font-size: 15px;
}

    .bottom-feature:first-child {
        border-top: none;
    }

    .bottom-feature i {
        width: 20px;
        color: #19b5df;
    }

/* Responsive */
@media (max-width:991px) {
    .booking-sidebar {
        position: static;
        margin-top: 24px;
    }
}

@media (max-width:576px) {
    .booking-card {
        padding: 20px;
        border-radius: 18px;
    }

    .booking-title {
        font-size: 20px;
    }

    .section-title {
        font-size: 20px;
    }

    /*.total-row {
        flex-direction: column;
        align-items: flex-start;
    }*/

    .total-amount {
        font-size: 24px;
    }

    .phone-row span {
        font-size: 26px;
    }

    .logos {
        grid-template-columns: repeat(3,1fr);
    }
}
/*contact details right section end*/

.col-xl-4 .theiaStickySidebar {
    top: 100px !important;
}

@media (max-width: 576px) {
    svg.svg-inline--fa.fa-star {
        font-size: 12px;
    }
}

.hero-sec-eight .banner-form .card-body .form-info .form-item:nth-last-child(1), .hero-sec-eight .banner-form .card-body .form-info .form-item {
    width: 100%;
    border-top: 1px solid #E4EBF1;
}

.section-header h2 {
    margin-bottom: 4px !important;
}

.section-head-nine h2 {
    margin-bottom: 4px;
}

/* Homepage search engine — SlimBar design (WebsiteWidgetDesign / SearchEngine)
   Dark flat bar (fareshop-style) while keeping Flights/Hotels/Package/Umrah + Multi City.
   Accent follows SiteMaster / B2C theme (--tx-primary), not hardcoded FareShop red. */
.banner-form.banner-form--slim-bar {
    --slim-bar-bg: rgba(0, 0, 0, 0.78);
    --slim-bar-accent: var(--tx-primary);
    --slim-bar-field-bg: #ffffff;
    background: var(--slim-bar-bg) !important;
    background-color: var(--slim-bar-bg) !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    overflow: visible;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.4);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.banner-form.banner-form--slim-bar.card,
.hero-sec-eight .banner-form.banner-form--slim-bar.card {
    background: var(--slim-bar-bg) !important;
    background-color: var(--slim-bar-bg) !important;
}

.banner-form.banner-form--slim-bar .card-header {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: none !important;
    border-radius: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    margin-bottom: 0 !important;
    padding: 12px 16px 4px;
}

.banner-form.banner-form--slim-bar .card-header .nav {
    gap: 6px;
    flex-wrap: wrap;
}

.banner-form.banner-form--slim-bar .card-header .nav li {
    margin: 0 !important;
}

.banner-form.banner-form--slim-bar .card-header .nav-link {
    color: rgba(255, 255, 255, 0.92);
    border-radius: 8px;
    padding: 8px 14px;
    font-weight: 600;
    background: transparent !important;
}

.banner-form.banner-form--slim-bar .card-header .nav-link.active,
.banner-form.banner-form--slim-bar .card-header .nav-link:hover {
    background: var(--slim-bar-accent) !important;
    color: #fff !important;
}

.banner-form.banner-form--slim-bar .card-body {
    background: transparent !important;
    background-color: transparent !important;
    padding: 8px 16px 16px;
    border: none !important;
    border-radius: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    margin-bottom: 0 !important;
}

.hero-sec-eight .banner-form.banner-form--slim-bar {
    background: var(--slim-bar-bg) !important;
    background-color: var(--slim-bar-bg) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.4) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.hero-sec-eight .banner-form.banner-form--slim-bar .card-header,
.hero-sec-eight .banner-form.banner-form--slim-bar .card-body {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    margin-bottom: 0 !important;
}

.banner-form.banner-form--slim-bar .form-check {
    margin-bottom: 0.35rem !important;
}

.banner-form.banner-form--slim-bar .form-check-label {
    color: rgba(255, 255, 255, 0.92) !important;
}

.banner-form.banner-form--slim-bar .form-check-input:checked {
    background-color: var(--slim-bar-accent);
    border-color: var(--slim-bar-accent);
}

.banner-form.banner-form--slim-bar .form-info {
    width: 100% !important;
    gap: 8px;
    align-items: stretch !important;
}

.hero-sec-eight .banner-form.banner-form--slim-bar .card-body .form-info .form-item,
.banner-form.banner-form--slim-bar .form-info .form-item {
    flex: 1 1 0;
    min-width: 120px;
    width: auto !important;
    background: var(--slim-bar-field-bg);
    border-radius: 10px;
    border: none !important;
    border-top: none !important;
    border-left: none !important;
    padding: 8px 12px !important;
    margin: 0;
    position: relative;
}

.banner-form.banner-form--slim-bar .form-item .form-label,
.banner-form.banner-form--slim-bar .form-item > .fs-12 {
    display: none !important;
}

/* When .round-drip is shown (Round Trip), keep block layout so date text is visible. */
.banner-form.banner-form--slim-bar .form-item.round-drip .inputIconParent,
.banner-form.banner-form--slim-bar .form-item .inputIconParent {
    position: relative;
    width: 100%;
    display: block;
}

.banner-form.banner-form--slim-bar .form-item .form-control {
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a !important;
    min-height: 36px;
    width: 100%;
    opacity: 1 !important;
}

.banner-form.banner-form--slim-bar .form-item .form-control::placeholder {
    color: #8b93a0;
    font-weight: 500;
}

.banner-form.banner-form--slim-bar .inputIcon {
    color: #5c6570;
}

.banner-form.banner-form--slim-bar .passenger-btn,
.banner-form.banner-form--slim-bar .selector-btn {
    background: transparent;
    border: none;
    box-shadow: none;
    min-height: 36px;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    justify-content: space-between;
    color: #1a1a1a;
    font-weight: 600;
}

.banner-form.banner-form--slim-bar .slim-bar-fields-row {
    gap: 10px;
    align-items: stretch !important;
}

.banner-form.banner-form--slim-bar .slim-bar-fields-row > .search-btn {
    align-self: stretch;
    height: auto;
    min-height: 52px;
}

/* Swap control: hidden on GlassTabs, shown on SlimBar */
.slim-bar-swap {
    display: none;
}

.banner-form.banner-form--slim-bar .slim-bar-swap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    margin: 0 -4px;
    z-index: 2;
    border: none;
    border-radius: 50%;
    background: var(--slim-bar-accent);
    color: #fff;
    box-shadow: 0 2px 8px rgba(var(--tx-primary-rgb), 0.45);
    cursor: pointer;
    padding: 0;
}

.banner-form.banner-form--slim-bar .slim-bar-swap:hover {
    background: color-mix(in srgb, var(--slim-bar-accent) 82%, #000);
    color: #fff;
}

/* All SlimBar Search CTAs follow theme primary (--slim-bar-accent) */
.banner-form.banner-form--slim-bar .search-btn,
.banner-form.banner-form--slim-bar .search-btn.btn-primary,
.banner-form.banner-form--slim-bar .search-btn.btn-danger {
    background-color: var(--slim-bar-accent) !important;
    border-color: var(--slim-bar-accent) !important;
    color: #fff !important;
    min-width: 140px;
    white-space: nowrap;
    font-weight: 700;
    border-radius: 10px;
    padding: 0 18px;
}

.banner-form.banner-form--slim-bar .search-btn:hover,
.banner-form.banner-form--slim-bar .search-btn.btn-primary:hover,
.banner-form.banner-form--slim-bar .search-btn.btn-danger:hover {
    background-color: color-mix(in srgb, var(--slim-bar-accent) 82%, #000) !important;
    border-color: color-mix(in srgb, var(--slim-bar-accent) 82%, #000) !important;
    color: #fff !important;
}

/* Multi City secondary action — distinct from Search */
.banner-form.banner-form--slim-bar .js-mc-add,
.banner-form.banner-form--slim-bar .js-mc-add.btn-outline-primary {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.75) !important;
    color: #fff !important;
    border-radius: 999px;
    font-weight: 600;
}

.banner-form.banner-form--slim-bar .js-mc-add:hover,
.banner-form.banner-form--slim-bar .js-mc-add.btn-outline-primary:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: #fff !important;
    color: #fff !important;
}

.banner-form.banner-form--slim-bar .multi-trip {
    margin-top: 10px;
}

@media (max-width: 991.98px) {
    .banner-form.banner-form--slim-bar .form-info {
        gap: 10px;
    }

    .banner-form.banner-form--slim-bar .slim-bar-swap {
        margin: 0 auto;
    }

    .banner-form.banner-form--slim-bar .search-btn,
    .banner-form.banner-form--slim-bar .search-btn.btn-primary,
    .banner-form.banner-form--slim-bar .search-btn.btn-danger {
        width: 100%;
        min-width: 0;
        min-height: 48px;
    }
}

@media (max-width: 767.98px) {
    .banner-form.banner-form--slim-bar .card-header .nav-link {
        padding: 7px 10px;
        font-size: 13px;
    }

    .hero-sec-eight .banner-form.banner-form--slim-bar .card-body .form-info .form-item,
    .banner-form.banner-form--slim-bar .form-info .form-item {
        flex: 1 1 100%;
        min-width: 0;
    }

    .banner-form.banner-form--slim-bar .slim-bar-swap {
        position: absolute;
        top: 125px;
        right: 16px;
    }
}

@media (max-width: 576px) {
    .banner-form.banner-form--slim-bar .slim-bar-swap {
        top: 150px;
    }

    #package-tab .normal-trip .slim-bar-fields-row .d-flex .js-flight-swap-airports {
        top: 125px;
    }
}

/* Hotel Offers — SimpleBook: star badge straddles image/body (Offer card style) */
.hotel-offers-slider--simple .hotel-offer-card--simple {
    overflow: visible;
    height: auto;
}

.hotel-offers-slider--simple.owl-carousel .owl-item > .hotel-offer-card--simple {
    height: auto;
}

.hotel-offers-slider--simple .hotel-offer-card--simple .place-img.offer-card__img {
    position: relative;
    overflow: visible;
    z-index: 1;
}

.hotel-offers-slider--simple .hotel-offer-card--simple .place-img .img-slider,
.hotel-offers-slider--simple .hotel-offer-card--simple .place-img .image-slide {
    overflow: hidden;
    border-radius: 10px 10px 0 0;
}

.hotel-offers-slider--simple .hotel-offer-card--simple .hotel-offer-card__rating-badge,
.hotel-offers-slider--simple .hotel-offer-card--simple .place-img .rating {
    padding: 4px 10px;
    border-radius: 50px;
    position: absolute;
    right: 16px;
    bottom: -14px;
    top: auto !important;
    background-color: #fff;
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: 14px;
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.07);
    border: 1px solid #e4e6e8;
    z-index: 5;
    pointer-events: none;
}

.hotel-offers-slider--simple .hotel-offer-card--simple .place-content.offer-card__body {
    position: relative;
    z-index: 0;
    padding-top: 18px;
    height: auto !important;
    min-height: 0 !important;
    flex: 0 0 auto;
}

.hotel-offers-slider--simple .hotel-offer-card--simple .hotel-card-content {
    flex: 0 0 auto;
    flex-grow: 0;
    padding: 0;
}

.hotel-offers-slider--simple .hotel-offer-card--simple .offer-card__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 6px;
    line-height: 1.35;
}

.hotel-offers-slider--simple .hotel-offer-card--simple .offer-card__desc {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 10px !important;
    line-height: 1.4;
}

.hotel-offers-slider--simple .hotel-offer-card--simple .hotel-card-footer {
    margin-top: 0;
    padding: 10px 0 0;
    border-top: 1px solid #eef2f6;
    background: transparent;
}

.hotel-offers-slider--simple .hotel-offer-card--simple .hotel-offer-card__cta-row {
    width: 100%;
    min-width: 0;
    flex-wrap: nowrap;
}

.hotel-offers-slider--simple .hotel-offer-card--simple .hotel-offer-card__price {
    min-width: 0;
    flex: 1 1 auto;
    line-height: 1.25;
    margin: 0;
    overflow-wrap: anywhere;
}

.hotel-offers-slider--simple .hotel-offer-card--simple .hotel-offer-card__book {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 0.35rem 0.85rem;
    font-size: 0.8125rem;
    line-height: 1.2;
}

/* Hotel Offers — TrendingList Option B: polished stripped card (no badge/heart/facilities/host) */
.hotel-offers-slider--trending.trending-list {
    position: relative;
}

.hotel-offers-slider--trending .hotel-offer-card--trending {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.08);
    border: 1px solid rgba(15, 23, 42, 0.06);
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.hotel-offers-slider--trending .hotel-offer-card--trending .place-img.offer-card__img {
    position: relative;
    overflow: hidden;
    border-radius: 0;
    height: 230px;
    flex-shrink: 0;
}

.hotel-offers-slider--trending .hotel-offer-card--trending .place-img img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 0;
    transition: transform 0.9s ease;
    /* Theme .trending-list img uses z-index:-1; override so plain <img> stays visible. */
    z-index: 0;
    position: relative;
}

.hotel-offers-slider--trending .hotel-offer-card--trending:hover .place-img img {
    transform: scale(1.06);
}

.hotel-offers-slider--trending .hotel-offer-card--trending .place-content {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    border: none;
    box-shadow: none;
    border-radius: 0;
    background: #fff;
    min-height: 0;
}

.hotel-offers-slider--trending .hotel-offer-card--trending .hotel-offer-card__rating {
    margin-bottom: 8px;
}

.hotel-offers-slider--trending .hotel-offer-card--trending .hotel-offer-card__title,
.hotel-offers-slider--trending .hotel-offer-card--trending .offer-card__title {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    color: #1b2559;
    margin: 0 0 6px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

.hotel-offers-slider--trending .hotel-offer-card--trending .offer-card__title a {
    color: inherit;
    text-decoration: none;
}

.hotel-offers-slider--trending .hotel-offer-card--trending .hotel-offer-card__location {
    margin: 0 0 12px;
    color: #6b7280;
    font-size: 0.8125rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hotel-offers-slider--trending .hotel-offer-card--trending .badge-warning {
    background-color: #ffc107;
    color: #111827;
    border-radius: 6px;
    padding: 3px 8px;
}

.hotel-offers-slider--trending .hotel-offer-card--trending .hotel-offer-card__footer {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid #eef2f6;
}

.hotel-offers-slider--trending .hotel-offer-card--trending .hotel-offer-card__price {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--tx-primary) !important;
    text-align: left;
}

/* Flight Offers — MinimalTicket (schedule-card) widget skin */
.flight-offer-card--minimal.flight-package-box {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 18px 18px 16px;
    border-radius: 16px;
    border: 1px solid transparent;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    background: #fff;
    text-decoration: none;
    color: inherit;
    height: 100%;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
    /* No translateY — Owl .owl-stage-outer overflow:hidden clips the top border */
}

.flight-offer-card--minimal.flight-package-box:hover {
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
    border-color: var(--tx-primary);
    color: inherit;
}

.flight-offer-card--minimal .flight-offer-card__title {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.25;
    color: #0f172a;
    margin-bottom: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.flight-offer-card--minimal .flight-offer-card__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    min-width: 0;
}

/* Beat Owl's `.owl-item img { width: 100% }` so logo stays a small chip beside airline • cabin */
.place-slider.owl-carousel .owl-item .flight-offer-card--minimal .flight-offer-card__logo,
.flight-offer-card--minimal .flight-offer-card__logo,
.flight-offer-card--minimal .flight-offer-card__logo-fallback {
    display: inline-block;
    width: 22px !important;
    max-width: 22px;
    height: 22px;
    border-radius: 50%;
    object-fit: contain;
    flex-shrink: 0;
    background: #f3f4f6;
    vertical-align: middle;
}

.flight-offer-card--minimal .flight-offer-card__logo-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--tx-primary);
    font-size: 11px;
}

.flight-offer-card--minimal .flight-offer-card__meta-text {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    flex: 1 1 auto;
    font-size: 0.8125rem;
    color: #6b7280;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.flight-offer-card--minimal .flight-offer-card__airline-name,
.flight-offer-card--minimal .flight-offer-card__cabin {
    overflow: hidden;
    text-overflow: ellipsis;
}

.flight-offer-card--minimal .flight-offer-card__meta-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--tx-primary, #e03131);
    flex-shrink: 0;
}

.flight-offer-card--minimal .flight-offer-card__schedule {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 14px;
    margin-bottom: 14px;
    border-radius: 12px;
    background: #eef2f6;
}

.flight-offer-card--minimal .flight-offer-card__endpoint {
    min-width: 0;
    flex: 0 1 auto;
    max-width: 38%;
}

.flight-offer-card--minimal .flight-offer-card__city {
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.2;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.flight-offer-card--minimal .flight-offer-card__code {
    margin-top: 4px;
    font-size: 0.75rem;
    font-weight: 500;
    color: #6b7280;
}

.flight-offer-card--minimal .flight-offer-card__endpoint--end {
    text-align: right;
}

.flight-offer-card--minimal .flight-offer-card__path {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 56px;
    max-width: 110px;
    padding: 0 4px;
}

.flight-offer-card--minimal .flight-offer-card__rail {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 0;
}

.flight-offer-card--minimal .flight-offer-card__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    border: 1.5px solid #94a3b8;
    background: #fff;
    flex-shrink: 0;
}

.flight-offer-card--minimal .flight-offer-card__line {
    flex: 1 1 auto;
    height: 0;
    border-top: 1.5px dotted #94a3b8;
    min-width: 12px;
}

.flight-offer-card--minimal .flight-offer-card__plane {
    flex-shrink: 0;
    margin: 0 2px;
    font-size: 12px;
    line-height: 1;
    color: #64748b;
    transform: rotate(-45deg);
}

.flight-offer-card--minimal .flight-offer-card__direct {
    font-size: 0.6875rem;
    font-weight: 500;
    color: #6b7280;
    line-height: 1;
}

.flight-offer-card--minimal .flight-offer-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid #eef2f6;
}

.flight-offer-card--minimal .flight-offer-card__dates {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    font-size: 0.75rem;
    font-weight: 500;
    color: #6b7280;
    min-width: 0;
}

.flight-offer-card--minimal .flight-offer-card__dates--empty {
    flex: 1 1 auto;
}

.flight-offer-card--minimal .flight-offer-card__dates-sep {
    color: #9ca3af;
}

.flight-offer-card--minimal .flight-offer-card__price-block {
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-shrink: 0;
    margin-left: auto;
}

.flight-offer-card--minimal .flight-offer-card__from {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #6b7280;
}

.flight-offer-card--minimal .flight-offer-card__price {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--tx-primary, #e03131);
}

/* Holiday Packages — TrendingPackage widget skin */
.handpicked-package-slider--trending .package-offer-card--trending {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.08);
    border: 1px solid rgba(15, 23, 42, 0.06);
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.handpicked-package-slider--trending .package-offer-card__img {
    position: relative;
    overflow: hidden;
    height: 240px;
    flex-shrink: 0;
}

.place-slider.owl-carousel .owl-item .package-offer-card--trending .package-offer-card__img img,
.handpicked-package-slider--trending .package-offer-card__img img {
    width: 100% !important;
    max-width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 0;
    transition: transform 0.9s ease;
}

.handpicked-package-slider--trending .package-offer-card--trending:hover .package-offer-card__img img {
    transform: scale(1.06);
}

.handpicked-package-slider--trending .package-offer-card__body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    background: #fff;
    min-height: 0;
    gap: 0;
}

.handpicked-package-slider--trending .package-offer-card__hotel-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
    min-width: 0;
}

.handpicked-package-slider--trending .package-offer-card__hotel {
    display: inline-flex;
    align-items: center;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #6b7280;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    flex: 1 1 auto;
}

.handpicked-package-slider--trending .package-offer-card__hotel-sep {
    margin-left: auto;
}

.handpicked-package-slider--trending .package-offer-card__score {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
    background: transparent;
    color: #ffc107;
    border-radius: 0;
    padding: 0;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
}

.handpicked-package-slider--trending .package-offer-card__score--stars i {
    color: #ffc107;
}

.handpicked-package-slider--trending .package-offer-card__title {
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.35;
    color: #1b2559;
    margin: 0 0 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: unset;
}

.handpicked-package-slider--trending .package-offer-card__title a {
    color: inherit;
    text-decoration: none;
}

.handpicked-package-slider--trending .package-offer-card__location {
    margin: 0 0 0;
    color: #6b7280;
    font-size: 0.8125rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.handpicked-package-slider--trending .package-offer-card__meta-row {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px 10px;
    margin-top: 12px;
    margin-bottom: 10px;
    padding-top: 12px;
    border-top: 1px solid #eef2f6;
    min-width: 0;
}

.handpicked-package-slider--trending .package-offer-card__price-row {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 0;
}

.handpicked-package-slider--trending .package-offer-card__from {
    font-size: 0.8125rem;
    color: #6b7280;
}

.handpicked-package-slider--trending .package-offer-card__price {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--tx-primary, #e03131);
}

.handpicked-package-slider--trending .package-offer-card__footer {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px 10px;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid #eef2f6;
    min-height: 36px;
}

.handpicked-package-slider--trending .package-offer-card__footer--price {
    min-height: 0;
}

.handpicked-package-slider--trending .package-offer-card__footer-sep {
    width: 1px;
    height: 14px;
    background: #d1d5db;
    flex-shrink: 0;
}

.handpicked-package-slider--trending .package-offer-card__duration,
.handpicked-package-slider--trending .package-offer-card__airline {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    font-size: 0.8125rem;
    color: #6b7280;
}

.handpicked-package-slider--trending .package-offer-card__meta-row .package-offer-card__duration {
    flex: 0 1 auto;
}

.handpicked-package-slider--trending .package-offer-card__meta-row .package-offer-card__airline {
    margin-left: auto;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 48%;
    justify-content: flex-end;
}

/* Homepage FAQ — loaded after style.css so + icons beat Iconsax accordion rules */
.faq-home-section {
    position: relative;
    padding: 96px 0;
    overflow: hidden;
    background:
        radial-gradient(ellipse 38% 55% at 8% 58%, rgba(var(--tx-secondary-rgb), 0.12), transparent 70%),
        radial-gradient(ellipse 42% 60% at 92% 52%, rgba(var(--tx-primary-rgb), 0.12), transparent 72%);
}

.faq-home-section .section-head-nine {
    margin-bottom: 40px;
}

.faq-home-section .section-head-nine h2 {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 12px;
    color: #111827;
}

.faq-home-section .section-head-nine h2 span {
    color: var(--tx-primary);
    font-style: italic;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.faq-home-section .section-head-nine > span {
    display: block;
    max-width: 560px;
    margin: 0 auto;
    color: #6b7280;
    font-size: 15px;
    line-height: 1.55;
}

.faq-home-list {
    background: transparent;
}

.faq-home-list.faq-accordion .accordion-item,
.faq-home-list.faq-accordion .accordion-item.show {
    margin: 0;
    border: 0 !important;
    border-bottom: 1px solid #E4EBF1 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.faq-home-list.faq-accordion .accordion-item:last-child {
    border-bottom: 0 !important;
}

    .faq-home-list.faq-accordion .accordion-item .accordion-button,
    .faq-home-list.faq-accordion .accordion-item .accordion-button:not(.collapsed),
    .faq-home-list.faq-accordion .accordion-item .accordion-button:focus {
        position: relative;
        padding: 20px 54px 26px 0;
        font-size: 20px;
        font-weight: 600;
        color: #111827 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

.faq-home-list.faq-accordion .accordion-item .accordion-button::after,
.faq-home-list.faq-accordion .accordion-item .accordion-button:after,
.faq-home-list.faq-accordion .accordion-item .accordion-button:not(.collapsed)::after,
.faq-home-list.faq-accordion .accordion-item .accordion-button:not(.collapsed):after {
    position: absolute !important;
    right: 0 !important;
    left: auto !important;
    top: 50% !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background-image: none !important;
    font-family: Arial, sans-serif !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    color: #111827 !important;
    content: "+" !important;
    transform: translateY(-50%) !important;
    -webkit-transform: translateY(-50%) !important;
}

.faq-home-list.faq-accordion .accordion-item .accordion-button:not(.collapsed)::after,
.faq-home-list.faq-accordion .accordion-item .accordion-button:not(.collapsed):after {
    content: "\2212" !important;
}

.faq-home-list.faq-accordion .accordion-item .accordion-body {
    border-top: 0 !important;
    padding: 0 56px 18px 0 !important;
    font-size: 14px;
    color: #6b7280;
    box-shadow: none !important;
}

.faq-home-accent {
    position: absolute;
    top: 52%;
    height: 44px;
    z-index: 0;
    pointer-events: none;
}

.faq-home-accent--start {
    left: 0;
    width: 120px;
    border-radius: 0 6px 6px 0;
    background: var(--tx-secondary);
}

.faq-home-accent--end {
    right: 0;
    width: 96px;
    border-radius: 6px 0 0 6px;
    background: var(--tx-primary);
}

.faq-home-glow {
    position: absolute;
    right: 7%;
    bottom: 12%;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(var(--tx-primary-rgb), 0.35);
    filter: none;
    z-index: 0;
    pointer-events: none;
}

.faq-home-section .container {
    position: relative;
    z-index: 1;
}

@media (max-width: 991.98px) {
    .faq-home-section {
        padding: 48px 0;
    }

    .faq-home-section .section-head-nine h2 {
        font-size: 26px;
    }

    .faq-home-accent {
        display: none;
    }
}

