/* ═══════════════════════════════════════════════════════════
   ATT Cabs — Mobile App Shell
   Active only below 992px. Desktop layout unchanged.
   ═══════════════════════════════════════════════════════════ */

:root {
    --app-radius: 18px;
    --app-ease: 300ms cubic-bezier(0.22, 1, 0.36, 1);
    --app-header-h: 56px;
    --app-nav-h: 64px;
    --app-safe-top: env(safe-area-inset-top, 0px);
    --app-safe-bottom: env(safe-area-inset-bottom, 0px);
    --app-fab-gap: calc(var(--app-nav-h) + var(--app-safe-bottom) + 16px);
}

/* Desktop helpers — visible on lg+ */
@media (min-width: 992px) {
    .wti-app-header,
    .wti-bottom-nav,
    .wti-app-fabs,
    .wti-install-banner,
    .wti-mobile-footer-mini,
    .wti-place-picker,
    .wti-notify-sheet,
    .wti-cab-sheet,
    .wti-app-sticky-book,
    .wti-checkout-sticky {
        display: none !important;
    }
}

@media (max-width: 991.98px) {
    body.wti-app-shell {
        font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
        overflow-x: hidden;
        background: var(--p-cream, #faf8f5);
        padding-top: calc(var(--app-header-h) + var(--app-safe-top));
        padding-bottom: calc(var(--app-nav-h) + var(--app-safe-bottom) + 8px);
        -webkit-tap-highlight-color: transparent;
    }

    body.wti-app-shell h1,
    body.wti-app-shell h2,
    body.wti-app-shell h3,
    body.wti-app-shell .wti-sheet-title,
    body.wti-app-shell .wti-cab-name,
    body.wti-app-shell .wti-review-header-title {
        font-family: Poppins, Inter, sans-serif;
        letter-spacing: -0.02em;
    }

    .wti-desktop-only,
    .wti-desktop-header {
        display: none !important;
    }

    .wti-tour-section-subtitle{
        font-size: 14px !important;
        font-weight: 400;
    }
    .wti-section-sub{
        font-size: 14px !important;
    }

    .small, small {
        font-size: 14px !important;
      }

      .wti-fleet-slider-section {
        padding: 1.5rem 0 1.5rem !important;
      }

      .wti-usp-item{
        padding: 1rem .5rem !important;
      }
      .wti-usp-item p{
        font-size: 14px !important;
      }

    /* ── Glass sticky header ── */
    .wti-app-header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1040;
        height: calc(var(--app-header-h) + var(--app-safe-top));
        padding-top: var(--app-safe-top);
        background: rgba(255, 255, 255, 0.72);
        backdrop-filter: saturate(180%) blur(16px);
        -webkit-backdrop-filter: saturate(180%) blur(16px);
        border-bottom: 1px solid rgba(26, 26, 46, 0.08);
        transition: background var(--app-ease), box-shadow var(--app-ease);
    }

    .wti-app-header.is-scrolled {
        background: rgba(255, 255, 255, 0.9);
        box-shadow: 0 4px 20px rgba(10, 10, 15, 0.08);
    }

    .wti-app-header-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: var(--app-header-h);
        padding: 0 12px;
        max-width: 100%;
    }

    .wti-app-header-brand {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1;
        min-width: 0;
    }

    .wti-app-header-brand img {
        height: 36px;
        width: auto;
        max-width: 140px;
        object-fit: contain;
        border-radius: 8px;
    }

    .wti-app-header-btn {
        position: relative;
        width: 44px;
        height: 44px;
        border: 0;
        border-radius: 5px;
        background: transparent;
        color: var(--p-navy, #1a1a2e);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.25rem;
        transition: transform var(--app-ease), background var(--app-ease);
    }

    .wti-app-header-btn:active {
        transform: scale(0.94);
        background: rgba(26, 26, 46, 0.1);
    }

    .wti-app-header-badge {
        position: absolute;
        top: 6px;
        right: 6px;
        min-width: 16px;
        height: 16px;
        padding: 0 4px;
        border-radius: 999px;
        background: #e11d48;
        color: #fff;
        font-size: 0.625rem;
        font-weight: 700;
        line-height: 16px;
        text-align: center;
    }

    /* ── Bottom navigation ── */
    .wti-bottom-nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1040;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        height: calc(var(--app-nav-h) + var(--app-safe-bottom));
        padding: 6px 4px calc(6px + var(--app-safe-bottom));
        background: rgba(255, 255, 255, 0.94);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        border-top: 1px solid rgba(26, 26, 46, 0.08);
        box-shadow: 0 -8px 28px rgba(10, 10, 15, 0.06);
    }

    .wti-bottom-nav-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        text-decoration: none;
        color: #64748b;
        font-size: 0.625rem;
        font-weight: 500;
        border-radius: 14px;
        transition: color var(--app-ease), transform var(--app-ease), background var(--app-ease);
        min-height: 48px;
    }

    .wti-bottom-nav-item i {
        font-size: 1.2rem;
        line-height: 1;
    }

    .wti-bottom-nav-item.is-active {
        color: var(--p-navy, #1a1a2e);
        background: rgba(201, 168, 76, 0.14);
    }

    .wti-bottom-nav-item:active {
        transform: scale(0.96);
    }

    /* ── Side menu polish ── */
    .wti-mobile-sidebar {
        max-width: min(86vw, 340px);
        border-radius: 0 var(--app-radius) var(--app-radius) 0;
    }

    .wti-mobile-sidebar .offcanvas-backdrop {
        transition: opacity var(--app-ease);
    }

    .wti-mobile-sidebar-user--guest .wti-mobile-sidebar-avatar {
        background: rgba(26, 26, 46, 0.08);
        color: var(--p-navy);
        font-size: 1.25rem;
    }

    /* ── FABs ── */
    .wti-app-fabs {
        position: fixed;
        right: 14px;
        bottom: 30%;
        z-index: 1030;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .wti-app-fab {
        width: 52px;
        height: 52px;
        border-radius: 16px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-size: 1.35rem;
        text-decoration: none;
        box-shadow: 0 10px 24px rgba(10, 10, 15, 0.2);
        transition: transform var(--app-ease), box-shadow var(--app-ease);
    }

    .wti-app-fab:active {
        transform: scale(0.94);
    }

    .wti-app-fab--call {
        background: linear-gradient(135deg, #1a1a2e, #2d2d44);
    }

    .wti-app-fab--wa {
        background: linear-gradient(135deg, #25d366, #128c7e);
    }

    /* Hide legacy WA pill on mobile — FAB replaces it */
    .wti-wa-widget {
        display: none !important;
    }

    .wti-mobile-footer-mini {
        display: none !important;
    }

    /* ── Full footer on mobile ── */
    .wti-footer.wti-footer--wticabs {
        display: block !important;
        margin-top: 0;
    }

    .wti-footer-wrap {
        padding: 2rem 16px calc(var(--app-nav-h) + var(--app-safe-bottom) + 20px) !important;
    }

    .wti-footer-row > [class*="col-"] {
        margin-bottom: 1.5rem !important;
    }

    .wti-footer-row > .col-lg-3:first-child,
    .wti-footer-row > .col-md-6:first-child {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .wti-footer-desc {
        max-width: 100% !important;
        font-size: 0.8rem !important;
        line-height: 1.6 !important;
    }

    .wti-footer-title {
        font-size: 0.85rem !important;
        margin-bottom: 0.65rem !important;
    }

    .wti-footer-links a,
    .wti-footer-contact li {
        font-size: 0.8rem !important;
    }

    .wti-footer-contact li {
        align-items: flex-start;
        gap: 0.5rem;
    }

    .wti-footer-copy {
        margin-top: 1.5rem !important;
        padding: 1rem 0 0 !important;
        font-size: 0.75rem !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .wti-footer-copy-credit {
        align-self: flex-end;
    }

    .wti-footer-socials a {
        width: 32px;
        height: 32px;
        font-size: 0.85rem;
    }

    /* ── Sheets ── */
    .wti-sheet-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1050;
        background: rgba(10, 10, 15, 0.45);
        opacity: 0;
        transition: opacity var(--app-ease);
        pointer-events: none;
    }

    .wti-sheet-backdrop.is-open {
        opacity: 1;
        pointer-events: auto;
    }

    .wti-sheet {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1055;
        max-height: min(88vh, 720px);
        background: #fff;
        border-radius: 24px 24px 0 0;
        box-shadow: 0 -12px 40px rgba(10, 10, 15, 0.18);
        transform: translateY(110%);
        transition: transform var(--app-ease);
        display: flex;
        flex-direction: column;
        padding-bottom: var(--app-safe-bottom);
        pointer-events: none;
    }

    .wti-sheet.is-open {
        transform: translateY(0);
        pointer-events: auto;
    }

    .wti-sheet-handle {
        width: 40px;
        height: 4px;
        border-radius: 999px;
        background: #cbd5e1;
        margin: 10px auto 0;
        flex-shrink: 0;
    }

    .wti-sheet-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 16px 8px;
        flex-shrink: 0;
    }

    .wti-sheet-title {
        margin: 0;
        font-size: 1.05rem;
        font-weight: 600;
        color: var(--p-navy);
    }

    .wti-sheet-close {
        width: 40px;
        height: 40px;
        border: 0;
        border-radius: 12px;
        background: #f1f5f9;
        color: #334155;
    }

    .wti-sheet-body {
        overflow-y: auto;
        padding: 4px 16px 16px;
        -webkit-overflow-scrolling: touch;
        flex: 1;
    }

    .wti-sheet-footer {
        padding: 12px 16px calc(12px + var(--app-safe-bottom));
        border-top: 1px solid rgba(15, 23, 42, 0.06);
        flex-shrink: 0;
    }

    .wti-notify-item {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 14px 4px;
        border-bottom: 1px solid rgba(15, 23, 42, 0.06);
        text-decoration: none;
        color: inherit;
        transition: background var(--app-ease);
    }

    .wti-notify-icon {
        width: 42px;
        height: 42px;
        border-radius: 14px;
        background: rgba(201, 168, 76, 0.15);
        color: var(--p-navy);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .wti-notify-text {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .wti-notify-text strong {
        font-size: 0.9rem;
    }

    .wti-notify-text span,
    .wti-notify-text small {
        font-size: 0.75rem;
        color: #64748b;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .wti-notify-chevron {
        color: #94a3b8;
    }

    .wti-notify-empty {
        text-align: center;
        padding: 40px 16px;
        color: #64748b;
    }

    .wti-notify-empty i {
        font-size: 2rem;
        display: block;
        margin-bottom: 12px;
        color: #cbd5e1;
    }

    .wti-app-btn-primary {
        background: linear-gradient(135deg, #1a1a2e, #2d2d44);
        color: #fff !important;
        border: 0;
        border-radius: 14px;
        padding: 0.7rem 1.25rem;
        font-weight: 600;
        min-height: 48px;
    }

    /* ── Full-screen place picker ── */
    .wti-place-picker {
        position: fixed;
        inset: 0;
        z-index: 1060;
        background: #fff;
        display: flex;
        flex-direction: column;
        padding-top: var(--app-safe-top);
        transform: translateX(100%);
        transition: transform var(--app-ease);
        pointer-events: none;
        visibility: hidden;
    }

    .wti-place-picker.is-open {
        transform: translateX(0);
        pointer-events: auto;
        visibility: visible;
    }

    .wti-place-picker-head {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 12px;
        border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    }

    .wti-place-picker-back {
        width: 44px;
        height: 44px;
        border: 0;
        border-radius: 14px;
        background: #f1f5f9;
        font-size: 1.2rem;
        flex-shrink: 0;
    }

    .wti-place-picker-search {
        flex: 1;
        display: flex;
        align-items: center;
        gap: 8px;
        background: #f8fafc;
        border: 1px solid rgba(15, 23, 42, 0.08);
        border-radius: 14px;
        padding: 0 12px;
        min-height: 48px;
    }

    .wti-place-picker-search i {
        color: #94a3b8;
    }

    .wti-place-picker-input {
        flex: 1;
        border: 0;
        background: transparent;
        outline: none;
        font-size: 1rem;
        min-width: 0;
    }

    .wti-place-picker-hint {
        padding: 12px 16px;
        font-size: 0.8rem;
        color: #94a3b8;
    }

    .wti-place-picker-list {
        list-style: none !important;
        margin: 0;
        padding: 0 0 calc(16px + var(--app-safe-bottom));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        flex: 1;
        min-height: 0;
    }

    .wti-place-picker-list li {
        list-style: none !important;
        padding: 14px 16px;
        border-bottom: 1px solid rgba(15, 23, 42, 0.05);
        display: flex;
        gap: 12px;
        align-items: flex-start;
        cursor: pointer;
        transition: background 0.15s ease, color 0.15s ease;
        -webkit-tap-highlight-color: rgba(201, 168, 76, 0.18);
    }

    .wti-place-picker-list li::marker {
        content: none;
        display: none;
    }

    .wti-place-picker-list li:hover,
    .wti-place-picker-list li:focus,
    .wti-place-picker-list li.is-active {
        background: #f5f6ff;
        outline: none;
    }

    .wti-place-picker-list li:hover span,
    .wti-place-picker-list li.is-active span {
        color: #1a1a2e;
    }

    .wti-place-picker-list li:active {
        background: #eef0ff;
    }

    .wti-place-picker-list li i {
        color: var(--p-gold, #c9a84c);
        margin-top: 2px;
        flex-shrink: 0;
        font-size: 1rem;
    }

    .wti-place-picker-list li span {
        font-size: 0.92rem;
        color: #0f172a;
        line-height: 1.35;
    }

    /* Inline autocomplete under From/To (if shown) */
    .wti-loc-list {
        z-index: 30 !important;
        max-height: 240px;
    }

    .wti-hero-bar-field.wti-loc-field,
    .wti-hero-bar-field {
        overflow: visible !important;
    }

    .wti-loc-input-wrap {
        position: relative !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        width: 100% !important;
    }

    .wti-loc-input-wrap.d-none,
    #inline-dest-select-wrap.d-none,
    #inline-drop-text-wrap.d-none,
    #one-way-destination-wrap.d-none,
    #drop-address-wrap.d-none {
        display: none !important;
    }

    .wti-loc-input-icon {
        position: absolute !important;
        left: 0 !important;
        top: 50% !important;
        bottom: auto !important;
        transform: translateY(-50%) !important;
        font-size: 14px !important;
        width: 16px;
        height: 16px;
        color: #64748b !important;
        z-index: 2 !important;
    }

    .wti-loc-input-wrap .wti-hero-input,
    .wti-loc-input-wrap .autocomplete-address,
    .wti-hero-bar-field .wti-hero-input.autocomplete-address {
        padding-left: 24px !important;
    }

    .wti-place-picker-list li {
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
    }

    .wti-place-picker-list li i {
        flex-shrink: 0 !important;
        align-self: center !important;
        margin-top: 0 !important;
    }

    .wti-time-wrap.open .wti-time-list {
        z-index: 40;
        max-height: 220px;
    }

    /* ── Hero copy (compact) ── */
    .wti-hero--search {
        min-height: 0 !important;
        padding: 0.75rem 0 1.5rem !important;
    }

    .wti-hero-copy {
        margin-bottom: 0.75rem !important;
        padding: 0 12px;
    }

    .wti-hero-headline {
        font-size: 1.05rem !important;
        line-height: 1.35 !important;
        margin-bottom: 0.35rem !important;
    }

    .wti-hero-tagline {
        font-size: 0.8rem !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
    }

    /* ── Booking form app cards ── */
    #book .wti-hero-bar-wrap,
    .wti-hero-bar-wrap {
        padding: 0 12px 10px;
    }

    .wti-hero-bar {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        background: #fff !important;
        border-radius: var(--app-radius) !important;
        padding: 12px !important;
        box-shadow: 0 8px 28px rgba(10, 10, 15, 0.08) !important;
        border: 1px solid rgba(15, 23, 42, 0.06);
    }

    .wti-hero-bar-field {
        width: 100% !important;
        margin: 0 !important;
        padding: 10px 12px !important;
        background: #f8fafc;
        border-radius: 12px;
        border: 1px solid rgba(15, 23, 42, 0.06);
        min-height: 52px;
    }

    .wti-hero-bar-field label {
        font-size: 0.65rem !important;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #64748b !important;
        margin-bottom: 2px !important;
        display: block;
    }

    .wti-hero-input,
    .wti-hero-bar-field input,
    .wti-hero-bar-field select {
        font-size: 0.9rem !important;
        min-height: 24px;
        width: 100%;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    /* Trip filters — 2×2 grid, all 4 visible, same desktop behaviour */
    .wti-hero-tabs,
    .wti-trip-pills,
    .wti-hero-pills {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        overflow: visible !important;
        flex-wrap: unset !important;
        padding: 0 12px 10px;
        margin-bottom: 0 !important;
        position: relative;
        z-index: 5;
        -webkit-overflow-scrolling: auto;
    }

    .wti-hero-tabs::-webkit-scrollbar,
    .wti-trip-pills::-webkit-scrollbar,
    .wti-hero-pills::-webkit-scrollbar {
        display: none;
    }

    .wti-hero-pill {
        flex: unset !important;
        width: 100%;
        justify-content: flex-start;
        gap: 0.35rem !important;
        padding: 0.45rem 0.55rem !important;
        font-size: 0.72rem !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        white-space: nowrap;
        border-radius: 999px !important;
        min-height: 36px;
        touch-action: manipulation;
        -webkit-user-select: none;
        user-select: none;
        cursor: pointer;
        position: relative;
        z-index: 1;
    }

    .wti-hero-pill-radio {
        width: 12px !important;
        height: 12px !important;
    }

    .wti-hero-pill.active .wti-hero-pill-radio::after {
        width: 5px !important;
        height: 5px !important;
    }

    .wti-hero-pill-label--full {
        display: none !important;
    }

    .wti-hero-pill-label--short {
        display: inline !important;
    }

    .wti-hero-perks {
        gap: 0.35rem !important;
        margin: 12px auto 0 !important;
        padding: 0 12px;
        font-size: 0.7rem !important;
    }

    .wti-hero-perk {
        font-size: 0.7rem !important;
    }

    #book {
        scroll-margin-top: calc(var(--app-header-h) + var(--app-safe-top) + 12px);
    }

    .wti-hero-bar .btn,
    .wti-hero-search-btn,
    button.wti-hero-submit {
        width: 100% !important;
        min-height: 46px !important;
        border-radius: 12px !important;
        font-size: 0.92rem !important;
        font-weight: 600 !important;
        margin-top: 2px;
    }

    /* Flatpickr — above app chrome, not clipped by overflow */
    .flatpickr-calendar {
        border-radius: 18px !important;
        box-shadow: 0 16px 40px rgba(10, 10, 15, 0.22) !important;
        width: min(100vw - 24px, 340px) !important;
        z-index: 1200 !important;
        max-width: calc(100vw - 24px);
    }

    .flatpickr-calendar.animate.open,
    .flatpickr-calendar.open {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .flatpickr-day {
        max-width: 42px;
        height: 42px;
        line-height: 42px;
        border-radius: 12px;
    }

    .wti-hero-bar-field--date,
    .wti-hero-bar-field--return {
        cursor: pointer;
        position: relative;
        z-index: 2;
        overflow: visible !important;
    }

    .wti-hero-date-input {
        pointer-events: auto !important;
        cursor: pointer !important;
        font-size: 0.9rem !important;
    }

    body.wti-fp-open {
        overflow: hidden;
    }

    /* ── Search cab cards ── */
    .wti-search-page {
        padding-bottom: 88px;
    }

    .wti-cab-card {
        border-radius: var(--app-radius) !important;
        overflow: hidden;
        margin-bottom: 14px;
        border: 1px solid rgba(15, 23, 42, 0.06);
        box-shadow: 0 6px 20px rgba(10, 10, 15, 0.06);
        background: #fff;
        display: flex;
        flex-direction: column !important;
    }

    .wti-cab-card-img {
        width: 100% !important;
        aspect-ratio: 16 / 9;
        height: auto !important;
        background: #f1f5f9;
    }

    .wti-cab-card-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .wti-cab-card-body,
    .wti-cab-card-price {
        padding: 14px 16px !important;
        width: 100% !important;
    }

    .wti-cab-book-btn {
        min-height: 48px !important;
        border-radius: 14px !important;
        width: 100%;
        font-weight: 600;
    }

    .wti-cab-card[data-cab-details] {
        cursor: pointer;
    }

    /* Sticky book hint on search */
    .wti-app-sticky-book {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: calc(var(--app-nav-h) + var(--app-safe-bottom) + 10px);
        z-index: 1025;
        background: linear-gradient(135deg, #1a1a2e, #2d2d44);
        color: #fff;
        border-radius: 16px;
        padding: 12px 16px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        box-shadow: 0 12px 32px rgba(10, 10, 15, 0.25);
        text-decoration: none;
    }

    .wti-app-sticky-book strong {
        font-size: 0.95rem;
    }

    .wti-app-sticky-book span {
        font-size: 0.75rem;
        opacity: 0.8;
    }

    /* ── Checkout sticky fare ── */
    .wti-checkout-page {
        padding-bottom: 120px !important;
    }

    .wti-checkout-sticky {
        position: fixed;
        left: 0;
        right: 0;
        bottom: calc(var(--app-nav-h) + var(--app-safe-bottom));
        z-index: 1025;
        background: rgba(255, 255, 255, 0.96);
        backdrop-filter: blur(12px);
        border-top: 1px solid rgba(15, 23, 42, 0.08);
        padding: 12px 16px;
        display: flex;
        align-items: center;
        gap: 12px;
        box-shadow: 0 -8px 24px rgba(10, 10, 15, 0.08);
    }

    .wti-checkout-sticky-info {
        flex: 1;
        min-width: 0;
    }

    .wti-checkout-sticky-info small {
        display: block;
        color: #64748b;
        font-size: 0.7rem;
    }

    .wti-checkout-sticky-info strong {
        font-size: 1.15rem;
        color: var(--p-navy);
    }

    .wti-checkout-sticky .btn {
        min-height: 48px;
        border-radius: 14px;
        font-weight: 600;
        padding-inline: 1.25rem;
        white-space: nowrap;
    }

    .wti-checkout-confirm-btn {
        display: none !important;
    }

    /* ── History cards ── */
    .wti-history-table-wrap {
        display: none !important;
    }

    .wti-history-cards {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .wti-history-card {
        background: #fff;
        border-radius: var(--app-radius);
        padding: 16px;
        border: 1px solid rgba(15, 23, 42, 0.06);
        box-shadow: 0 4px 16px rgba(10, 10, 15, 0.05);
        color: inherit;
        display: block;
    }

    .wti-history-card-link {
        text-decoration: none;
        color: inherit;
        display: block;
    }

    .wti-history-card-link:active {
        opacity: 0.92;
    }

    .wti-history-card-top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 8px;
    }

    .wti-history-card-top strong {
        font-size: 0.95rem;
    }

    .wti-history-card-meta {
        font-size: 0.8rem;
        color: #64748b;
        margin-bottom: 4px;
    }

    .wti-history-card-fare {
        font-weight: 700;
        color: var(--p-navy);
        margin-top: 8px;
    }

    .wti-history-card-actions {
        display: flex;
        gap: 8px;
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid rgba(15, 23, 42, 0.06);
    }

    .wti-history-card-actions .btn {
        flex: 1;
        min-height: 40px;
        font-size: 0.8rem;
    }

    /* ── Fleet / tour cards ── */
    .wti-fleet-card,
    .wti-tour-card,
    .card.wti-fleet-card {
        border-radius: var(--app-radius) !important;
        overflow: hidden;
        border: 1px solid rgba(15, 23, 42, 0.06) !important;
    }

    .wti-fleet-card .card-img-top,
    .wti-tour-card img {
        aspect-ratio: 16 / 10;
        height: auto !important;
        object-fit: cover;
        width: 100%;
    }

    /* ── Skeletons ── */
    .wti-skeleton {
        background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 37%, #f1f5f9 63%);
        background-size: 400% 100%;
        animation: wtiSkeleton 1.2s ease infinite;
        border-radius: 12px;
    }

    .wti-skeleton-card {
        height: 220px;
        border-radius: var(--app-radius);
        margin-bottom: 14px;
    }

    @keyframes wtiSkeleton {
        0% { background-position: 100% 0; }
        100% { background-position: 0 0; }
    }

    .wti-img-skeleton-wrap {
        position: relative;
        background: #f1f5f9;
    }

    .wti-img-skeleton-wrap.is-loaded .wti-skeleton {
        display: none;
    }

    /* ── Install banner ── */
    .wti-install-banner {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: calc(var(--app-nav-h) + var(--app-safe-bottom) + 12px);
        z-index: 1035;
        background: #1a1a2e;
        color: #fff;
        border-radius: 16px;
        padding: 12px 14px;
        display: flex;
        align-items: center;
        gap: 10px;
        box-shadow: 0 12px 32px rgba(10, 10, 15, 0.3);
        animation: wtiSlideUp var(--app-ease) both;
    }

    .wti-install-banner-text {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .wti-install-banner-text strong {
        font-size: 0.85rem;
    }

    .wti-install-banner-text span {
        font-size: 0.7rem;
        opacity: 0.75;
    }

    .wti-install-btn {
        background: var(--p-gold, #c9a84c);
        color: #1a1a2e;
        border: 0;
        border-radius: 12px;
        font-weight: 700;
        font-size: 0.8rem;
        padding: 0.5rem 0.85rem;
        white-space: nowrap;
    }

    .wti-install-dismiss {
        border: 0;
        background: transparent;
        color: rgba(255, 255, 255, 0.7);
        font-size: 1.2rem;
        line-height: 1;
        padding: 4px;
    }

    @keyframes wtiSlideUp {
        from { transform: translateY(20px); opacity: 0; }
        to { transform: translateY(0); opacity: 1; }
    }

    /* Content container tweaks */
    .wti-app-content {
        padding-top: 1rem !important;
        padding-bottom: 2rem !important;
    }

    .wti-page-header {
        padding-top: 0.5rem;
    }

    .wti-page-header h1 {
        font-size: 1.4rem;
    }

    /* Prevent horizontal scroll */
    .container,
    .container-fluid,
    .row {
        max-width: 100%;
    }

    img {
        max-width: 100%;
        height: auto;
    }
    .wti-mobile-sidebar-brand img{
        height: 48px !important;
        width: 100% !important;
    }

    /* Search results — inline filter bar */
    .wti-search-hero {
        padding: 0.75rem 0 0 !important;
        overflow: visible !important;
        z-index: 40;
    }

    .wti-inline-search-inner {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 8px !important;
        padding-bottom: 0.75rem !important;
        align-items: end;
    }

    .wti-inline-field--grow,
    .wti-inline-field--sm,
    .wti-inline-field,
    .wti-inline-submit {
        flex: unset !important;
        width: 100%;
        min-width: 0;
    }

    .wti-inline-field--grow,
    .wti-inline-submit {
        grid-column: 1 / -1;
    }

    .wti-inline-field label {
        font-size: 0.62rem !important;
        margin-bottom: 0.2rem !important;
    }

    .wti-inline-field .form-control,
    .wti-inline-field .form-select {
        font-size: 0.8rem !important;
        min-height: 40px !important;
        border-radius: 10px !important;
    }

    .wti-inline-search-btn {
        width: 100%;
        min-height: 44px !important;
        border-radius: 10px !important;
        font-size: 0.9rem !important;
    }

    .wti-inline-field .wti-loc-list {
        display: none !important; /* place picker handles search on mobile */
    }

    .wti-trust-strip-inner {
        gap: 0.5rem 0.85rem !important;
    }

    .wti-trust-item {
        font-size: 0.68rem !important;
    }
}

@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

/* Desktop: show history table, hide cards */
@media (min-width: 992px) {
    .wti-history-cards {
        display: none !important;
    }
}
