/**
 * Mobile-only premium app shell. Desktop (768px+) untouched.
 */

/* Never show mobile chrome on tablet/desktop (avoids giant unstyled SVG icons). */
.fmab-mobile-header,
.fmab-tabbar,
.fmab-filters-btn,
.go-page-head,
.fmab-welcome-strip,
.go-bus-offers,
.go-hotel-promo,
.fmab-service-grid,
.fmab-home-hero-band,
.fmab-date-pills {
  display: none !important;
  visibility: hidden !important;
}

@media (min-width: 768px) {
  .fmab-service-grid,
  .fmab-home-hero-band,
  .fmab-date-pills {
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }

  .fmab-service-grid .a42-i,
  .fmab-service-grid .a42-i svg,
  .fmab-service-grid .fmab-svc-ico svg {
    width: 22px !important;
    height: 22px !important;
    max-width: 28px !important;
    max-height: 28px !important;
  }
}

@media (max-width: 767px) {
  :root {
    /* Lokrio premium mobile — distinct from Goibibo clone palette */
    --lokrio-orange: #ff5a1f;
    --lokrio-orange-dark: #e84d15;
    --lokrio-orange-soft: #fff4ed;
    --lokrio-blue: #0b73ff;
    --lokrio-blue-dark: #1268d8;
    --lokrio-blue-soft: #eef5ff;
    --lokrio-green: #22a447;
    --lokrio-green-dark: #14a833;
    --lokrio-ink: #0f172a;
    --lokrio-muted: #64748b;
    --lokrio-bg: #f4f6f9;
    --lokrio-nav: #061832;
    --lokrio-hero: linear-gradient(145deg, #061832 0%, #1268d8 55%, #0b73ff 100%);
    --lokrio-cta: linear-gradient(180deg, #ff6b2c, #ff5a1f);
    --go-orange: var(--lokrio-orange);
    --go-orange-dark: var(--lokrio-orange-dark);
    --go-orange-soft: var(--lokrio-orange-soft);
    --go-blue: var(--lokrio-blue);
    --go-blue-soft: var(--lokrio-blue-soft);
    --go-text: var(--lokrio-ink);
    --go-muted: var(--lokrio-muted);
    --go-bg: var(--lokrio-bg);
    --go-nav: var(--lokrio-nav);
    --go-tab-h: 58px;
    --fmab-navy: var(--lokrio-nav);
    --fmab-blue: var(--lokrio-blue);
    --fmab-green: var(--lokrio-green);
    --fmab-orange: var(--lokrio-orange);
    --fmab-orange-dark: var(--lokrio-orange-dark);
    --fmab-header-h: 52px;
    --fmab-tab-h: 56px;
    --fmab-float-inset: 0px;
    --fmab-safe-b: env(safe-area-inset-bottom, 0px);
    --fmab-safe-t: env(safe-area-inset-top, 0px);
    --fmab-radius: 16px;
    --fmab-field-h: 46px;
  }

  html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
  }

  body {
    -webkit-tap-highlight-color: rgba(8, 116, 255, 0.12);
    overscroll-behavior-y: none;
    padding-top: calc(var(--fmab-header-h) + var(--fmab-safe-t)) !important;
    padding-bottom: calc(var(--fmab-tab-h) + var(--fmab-safe-b) + 52px) !important;
    background: var(--go-bg) !important;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  }

  body:has(.a42-page) {
    padding-top: 0 !important;
  }

  .fmab-mobile-header.fmab-on-home {
    display: none !important;
  }

  .fmab-home-hero-band {
    display: block !important;
    visibility: visible !important;
    background: linear-gradient(180deg, #3d1218 0%, #6b2430 55%, #8f2f3b 100%) !important;
    padding: calc(16px + var(--fmab-safe-t)) 18px 38px;
    border-radius: 0 0 24px 24px;
    margin-bottom: -26px;
    position: relative;
    z-index: 2;
    box-shadow: 0 12px 36px rgba(30, 8, 12, 0.35);
    overflow: hidden;
  }

  .fmab-home-hero-band::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(ellipse 80% 50% at 100% 0%, rgba(255, 255, 255, 0.08) 0%, transparent 55%),
      radial-gradient(ellipse 60% 40% at 0% 100%, rgba(0, 0, 0, 0.12) 0%, transparent 50%);
    pointer-events: none;
  }

  .fmab-home-guest {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding: 0;
    position: relative;
    z-index: 1;
  }

  .fmab-home-hero-band .fmab-guest-avatar {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: none;
    display: grid;
    place-items: center;
    flex-shrink: 0;
  }

  .fmab-home-hero-band .fmab-guest-avatar svg {
    width: 22px;
    height: 22px;
    stroke: rgba(255, 255, 255, 0.92);
    fill: none;
  }

  .fmab-home-hero-band .fmab-guest-label {
    font-size: 17px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.96);
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .fmab-guest-pill,
  .fmab-home-hero-band .fmab-guest-link {
    display: inline-flex;
    align-items: center;
    margin-top: 5px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 12px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.72) !important;
    text-decoration: none !important;
    letter-spacing: 0.01em;
  }

  .fmab-home-hero-band .fmab-service-grid {
    padding: 0 !important;
    margin: 0 !important;
    gap: 10px !important;
    position: relative;
    z-index: 1;
  }

  .fmab-home-hero-band .fmab-svc {
    min-height: 0;
    height: auto;
    max-height: none;
    aspect-ratio: auto;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: none;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: rgba(255, 255, 255, 0.92);
    font-size: 11px;
    font-weight: 500;
    gap: 7px;
    padding: 14px 6px 12px;
    letter-spacing: 0.02em;
    transition: background 0.15s ease, border-color 0.15s ease;
  }

  .fmab-home-hero-band .fmab-svc:active {
    transform: none;
    background: rgba(255, 255, 255, 0.16);
  }

  .fmab-home-hero-band .fmab-svc-art {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    color: #fff;
  }

  .fmab-home-hero-band .fmab-svc-icon,
  .fmab-home-hero-band .fmab-svc-icon svg {
    width: 22px;
    height: 22px;
    display: block;
    color: #fff;
  }

  .fmab-home-hero-band .fmab-svc.active {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.32);
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
  }

  .public-main,
  .marketplace-main {
    padding: 0 !important;
    max-width: none !important;
  }

  /* ── Hide ALL top headers / menus on phone ── */
  header.a41-public-nav,
  .a40-public-nav {
    display: none !important;
  }

  .a42-top {
    display: none !important;
  }

  /* ── Lokrio premium header ── */
  .fmab-mobile-header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999999;
    height: calc(var(--fmab-header-h) + var(--fmab-safe-t));
    padding: var(--fmab-safe-t) 12px 0;
    background: var(--lokrio-nav) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 8px 24px rgba(6, 24, 50, 0.18);
  }

  .fmab-back {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.2);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    flex-shrink: 0;
  }

  .fmab-page-title {
    flex: 1;
    min-width: 0;
    font-size: 15px;
    font-weight: 900;
    color: #fff;
    letter-spacing: -0.02em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .fmab-guest-block {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1;
  }

  .fmab-guest-avatar {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
    display: grid;
    place-items: center;
    flex-shrink: 0;
  }

  .fmab-guest-avatar svg {
    width: 18px;
    height: 18px;
    stroke: #fff;
    fill: none;
    stroke-width: 1.8;
  }

  .fmab-guest-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
  }

  .fmab-guest-label {
    font-size: 13px;
    font-weight: 900;
    color: #fff;
    line-height: 1.2;
  }

  .fmab-guest-link {
    font-size: 11px;
    font-weight: 800;
    color: rgba(255, 255, 255, 0.88) !important;
    text-decoration: none !important;
  }

  .fmab-mobile-brand {
    display: flex !important;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none !important;
    line-height: 0;
    min-width: 0;
    max-width: 38vw;
  }

  .fmab-mobile-brand .lokrio-logo,
  .fmab-mobile-brand .lokrio-logo-mobile-nav,
  .fmab-mobile-brand .lokrio-logo-fallback {
    display: block;
    max-height: 30px !important;
    max-width: 108px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
  }

  .fmab-mobile-brand .lokrio-logo-fallback {
    font-size: 14px;
    font-weight: 900;
    color: #fff;
    line-height: 1.1;
    letter-spacing: -0.03em;
  }

  .fmab-mobile-header:has(.fmab-page-title) .fmab-mobile-brand {
    max-width: 28vw;
  }

  .fmab-mobile-header:has(.fmab-page-title) .fmab-mobile-brand .lokrio-logo,
  .fmab-mobile-header:has(.fmab-page-title) .fmab-mobile-brand .lokrio-logo-mobile-nav {
    max-height: 24px !important;
    max-width: 88px !important;
  }

  .fmab-mobile-header:has(.fmab-page-title) .fmab-page-title {
    font-size: 14px;
  }

  .fmab-mobile-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
  }

  .fmab-mobile-user {
    display: none;
  }

  .fmab-mobile-auth-form {
    margin: 0;
  }

  .fmab-mobile-auth,
  .fmab-auth-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    border: 0;
    background: rgba(255, 255, 255, 0.18);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.01em;
    cursor: pointer;
  }

  .fmab-auth-pill--light {
    background: #fff;
    color: #c2410c !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }

  .fmab-service-grid {
    display: grid !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
    pointer-events: auto !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    padding: 10px 12px 4px;
    margin: 0;
  }

  .fmab-date-pills {
    display: flex !important;
    visibility: visible !important;
    gap: 8px;
    margin: 6px 0 8px;
  }

  .fmab-svc {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 0;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.92);
    font-size: 11px;
    font-weight: 500;
    cursor: pointer;
    padding: 14px 6px 12px;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .fmab-svc-art {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    color: #fff;
  }

  .fmab-svc-art .fmab-svc-icon,
  .fmab-svc-art .fmab-svc-icon svg {
    width: 22px;
    height: 22px;
    display: block;
    color: inherit;
  }

  .fmab-svc.active {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.32);
    color: #fff;
  }

  .fmab-date-pills button {
    flex: 1;
    border: 1px solid #d1d5db;
    background: #fff;
    color: var(--go-muted);
    border-radius: 999px;
    min-height: 34px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
  }

  .fmab-date-pills button.active {
    border-color: var(--go-blue);
    color: var(--go-blue);
    background: var(--go-blue-soft);
    box-shadow: none;
  }

  /* ── Floating bottom nav (Lokrio premium dock) ── */
  .fmab-tabbar {
    display: grid !important;
    position: fixed;
    left: 14px;
    right: 14px;
    bottom: calc(10px + var(--fmab-safe-b));
    width: auto;
    z-index: 999998;
    height: auto;
    min-height: var(--fmab-tab-h);
    padding: 8px 10px;
    grid-template-columns: repeat(5, 1fr);
    gap: 4px;
    border-radius: 999px;
    border: 1px solid rgba(11, 115, 255, 0.18);
    background: rgba(6, 24, 50, 0.94);
    box-shadow: 0 10px 40px rgba(6, 24, 50, 0.35), 0 2px 8px rgba(6, 24, 50, 0.2);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

  .fmab-tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    text-decoration: none;
    color: #9e9e9e;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.01em;
    border-radius: 12px;
    min-height: 46px;
    padding: 4px 2px;
    transition: background 0.15s ease, color 0.15s ease, transform 0.12s ease;
  }

  .fmab-tab svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.85;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .fmab-tab.active {
    color: #fff;
    background: transparent;
    box-shadow: none;
  }

  .fmab-tab.active svg {
    stroke: var(--go-blue);
  }

  .fmab-tab:active {
    transform: scale(0.95);
  }

  /* ── Filter FAB ── */
  .fmab-filters-btn {
    display: none;
    position: fixed;
    right: 18px;
    bottom: calc(var(--fmab-tab-h) + var(--fmab-float-inset) + var(--fmab-safe-b) + 18px);
    z-index: 999997;
    align-items: center;
    gap: 6px;
    border: 0;
    border-radius: 999px;
    padding: 12px 16px;
    background: var(--go-blue);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 8px 20px rgba(34, 116, 224, 0.28);
  }

  .fmab-filters-btn svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
  }

  body:has(.v2filter) .fmab-filters-btn,
  body:has(.a19-filter) .fmab-filters-btn {
    display: inline-flex !important;
  }

  /* Scroll down → hide big search blocks */
  body.fmab-scrolled:not(.fmab-scroll-up) .v2searchStrip,
  body.fmab-scrolled:not(.fmab-scroll-up) .a19-search {
    transform: translateY(calc(-100% - var(--fmab-header-h)));
    opacity: 0;
    pointer-events: none;
  }

  .v2searchStrip,
  .a19-search {
    transition: transform 0.28s ease, opacity 0.22s ease;
  }

  body.fmab-scrolled .fmab-mobile-header {
    box-shadow: 0 6px 24px rgba(6, 23, 51, 0.1);
  }

  body.fmab-filters-open .fmab-filters-btn {
    background: #001d3d;
  }

  body.fmab-filters-open .v2filter,
  body.fmab-filters-open .a19-filter {
    display: block !important;
    position: fixed !important;
    inset: 0 0 calc(var(--fmab-tab-h) + var(--fmab-float-inset) + var(--fmab-safe-b) + 8px) 0 !important;
    z-index: 999996 !important;
    max-height: none !important;
    height: auto !important;
    overflow: auto !important;
    background: #fff !important;
    padding: 16px 16px 24px !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .public-footer,
  .marketplace-footer,
  footer.public-footer,
  .lokrio-ft {
    display: none !important;
  }

  /* ── Bus search page (Goibibo card) ── */
  .bus-babal-page .v2searchStrip {
    position: relative !important;
    top: auto !important;
    left: auto;
    right: auto;
    z-index: 2 !important;
    padding: 10px 12px 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.bus-babal-page {
    padding-top: calc(var(--fmab-header-h) + var(--fmab-safe-t)) !important;
  }

  body.bus-babal-page.fmab-scrolled:not(.fmab-scroll-up) {
    padding-top: calc(var(--fmab-header-h) + var(--fmab-safe-t)) !important;
  }

  body.fmab-scrolled:not(.fmab-scroll-up) .bus-babal-page .v2searchStrip {
    transform: none;
    opacity: 1;
    pointer-events: auto;
  }

  .bus-babal-page .v2wrap {
    max-width: none !important;
    padding: 0 !important;
  }

  .bus-babal-page .v2search:not(.v2search--hotels):not(.v2search--holiday):not(.v2search--cabs) {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    gap: 0 !important;
    align-items: stretch !important;
    position: relative !important;
    background: #fff !important;
    border-radius: 18px !important;
    padding: 14px 14px 12px !important;
    box-shadow: 0 12px 32px rgba(6, 23, 51, 0.1) !important;
    border: 1px solid #eef2f7 !important;
  }

  .bus-babal-page .v2search:not(.v2search--hotels):not(.v2search--holiday):not(.v2search--cabs) .v2field:first-of-type {
    grid-column: 1 !important;
    border-right: 1px solid #eef2f7 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .bus-babal-page .v2search:not(.v2search--hotels):not(.v2search--holiday):not(.v2search--cabs) .v2field:nth-of-type(2) {
    grid-column: 3 !important;
    box-shadow: none !important;
  }

  .bus-babal-page .v2swap {
    display: grid !important;
    place-items: center;
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center;
    width: 34px !important;
    height: 34px !important;
    margin: 0 -6px;
    z-index: 2;
    border-radius: 999px !important;
    border: 1px solid #e2e8f0 !important;
    background: #fff !important;
    color: var(--fmab-orange) !important;
    font-size: 14px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
  }

  .bus-babal-page .v2field.v2field-date,
  .bus-babal-page .v2field:nth-of-type(3) {
    grid-column: 1 / -1 !important;
    border-right: 0 !important;
    margin-top: 4px !important;
  }

  .bus-babal-page .v2search .fmab-date-pills {
    grid-column: 1 / -1 !important;
    margin: 0 0 4px !important;
  }

  .bus-babal-page .v2field {
    border-radius: 12px !important;
    padding: 8px 10px !important;
    min-height: auto !important;
    background: transparent !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
  }

  .bus-babal-page .v2field span {
    font-size: 10px !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    color: #94a3b8 !important;
    letter-spacing: 0.04em;
  }

  .bus-babal-page .v2field input {
    font-size: 15px !important;
    font-weight: 900 !important;
    width: 100% !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin-top: 2px !important;
    color: var(--go-text) !important;
  }

  .bus-babal-page .v2btn,
  .bus-babal-page .fmab-search-cta {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px 0 0 !important;
    box-sizing: border-box !important;
    border-radius: 14px !important;
    min-height: 48px !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: var(--lokrio-cta) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 8px 20px rgba(255, 90, 31, 0.32) !important;
  }

  /* Hotel search — stacked fields (not bus from/to grid) */
  .bus-babal-page .v2search.v2search--hotels {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    padding: 12px 14px !important;
  }

  .bus-babal-page .v2search.v2search--hotels .v2field,
  .bus-babal-page .v2search.v2search--hotels .v2field:first-of-type,
  .bus-babal-page .v2search.v2search--hotels .v2field:nth-of-type(2),
  .bus-babal-page .v2search.v2search--hotels .v2field:nth-of-type(3) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    border-right: 0 !important;
    border-bottom: 1px solid #eef2f7 !important;
    border-radius: 0 !important;
    padding: 10px 2px !important;
    min-height: 52px !important;
  }

  .bus-babal-page .v2search--hotels .v2field:last-of-type {
    border-bottom: 0 !important;
  }

  .bus-babal-page .v2search--hotels .v2field input {
    font-size: 14px !important;
    text-overflow: ellipsis;
  }

  .bus-babal-page .v2search--hotels .a43-guest-field {
    position: relative;
  }

  .bus-babal-page .v2search--hotels .v2btn {
    width: 100% !important;
    margin: 10px 0 0 !important;
  }

  /* Holiday search — stacked fields (same as hotels) */
  .bus-babal-page .v2search.v2search--holiday {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    padding: 12px 14px !important;
  }

  .bus-babal-page .v2search.v2search--holiday .v2field,
  .bus-babal-page .v2search.v2search--holiday .v2field:first-of-type,
  .bus-babal-page .v2search.v2search--holiday .v2field:nth-of-type(2),
  .bus-babal-page .v2search.v2search--holiday .v2field:nth-of-type(3),
  .bus-babal-page .v2search.v2search--holiday .v2field:nth-of-type(4) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    border-right: 0 !important;
    border-bottom: 1px solid #eef2f7 !important;
    border-radius: 0 !important;
    padding: 10px 2px !important;
    min-height: 50px !important;
  }

  .bus-babal-page .v2search.v2search--holiday .v2field:last-of-type {
    border-bottom: 0 !important;
  }

  .bus-babal-page .v2search.v2search--holiday .v2btn {
    width: 100% !important;
    margin: 10px 0 0 !important;
  }

  .bus-babal-page .bp-route-hero {
    display: none !important;
  }

  .bus-babal-page .bp-trust {
    display: none !important;
  }

  .bus-babal-page .v2main {
    display: block !important;
    padding: 0 12px 12px !important;
    grid-template-columns: 1fr !important;
  }

  .bus-babal-page .v2filter {
    display: none !important;
  }

  .bus-babal-page .v2listHead {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 8px 0 !important;
  }

  .bus-babal-page .v2sort {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 8px !important;
    width: 100% !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .bus-babal-page .v2sort::-webkit-scrollbar {
    display: none;
  }

  .bus-babal-page .v2sort button,
  .bus-babal-page .v2sort span {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .bus-babal-page .v2trip {
    border-radius: 18px !important;
    margin-bottom: 12px !important;
    box-shadow: 0 8px 24px rgba(0, 29, 61, 0.08) !important;
    border: 1px solid #e2e8f0 !important;
  }

  .bus-babal-page .v2tripRow {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    padding: 14px !important;
  }

  /* Holiday / cab list rows — single column (fixes text overlap) */
  .bus-babal-page .v2tripRow.v2tripRow--desk {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .bus-babal-page .v2tripRow.v2tripRow--desk .v2bus,
  .bus-babal-page .v2tripRow.v2tripRow--desk .v2time,
  .bus-babal-page .v2tripRow.v2tripRow--desk .v2price {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .bus-babal-page .v2tripRow.v2tripRow--desk .v2time b {
    font-size: 17px !important;
  }

  .bus-babal-page .v2tripRow.v2tripRow--desk .v2time span {
    max-width: none !important;
    display: block !important;
  }

  .bus-babal-page .v2tripRow.v2tripRow--desk .v2price {
    border-top: 1px solid #e8eef4 !important;
    padding-top: 12px !important;
    margin-top: 2px !important;
    text-align: left !important;
  }

  .bus-babal-page .v2tripRow.v2tripRow--desk .v2price b {
    font-size: 22px !important;
  }

  .bus-babal-page .v2tripRow.v2tripRow--desk .v2select {
    margin-top: 10px !important;
  }

  .bus-babal-page .v2select {
    width: 100% !important;
    border-radius: 12px !important;
    min-height: 44px !important;
  }

  /* ── Hotel / Holiday results (Goibibo card) ── */
  .a19-search {
    position: relative !important;
    top: auto !important;
    left: auto;
    right: auto;
    z-index: 2 !important;
    padding: 10px 12px 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body:has(.a19-search) {
    padding-top: calc(var(--fmab-header-h) + var(--fmab-safe-t)) !important;
  }

  body.fmab-scrolled:not(.fmab-scroll-up):has(.a19-search) {
    padding-top: calc(var(--fmab-header-h) + var(--fmab-safe-t)) !important;
  }

  body.fmab-scrolled:not(.fmab-scroll-up) .a19-search {
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .a19-search-in,
  .a19-search-in--bus,
  .a19-search-in--holiday {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 14px !important;
    max-width: none !important;
    grid-template-columns: 1fr !important;
    background: #fff !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 32px rgba(6, 23, 51, 0.1) !important;
    border: 1px solid #eef2f7 !important;
  }

  .a19-field {
    border-radius: 0 !important;
    min-height: auto !important;
    padding: 10px 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-shadow: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
  }

  .a19-field:last-of-type {
    border-bottom: 0 !important;
  }

  .a19-field label {
    font-size: 10px !important;
    letter-spacing: 0.04em;
    font-weight: 900 !important;
    text-transform: uppercase;
    color: #94a3b8 !important;
    margin-bottom: 2px !important;
  }

  .a19-field input,
  .a19-field select {
    font-size: 15px !important;
    font-weight: 900 !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    width: 100% !important;
    color: var(--go-text) !important;
  }

  .a19-search .fmab-date-pills {
    padding: 0 0 8px;
    margin: 0;
  }

  .a19-search button {
    width: calc(100% - 8px) !important;
    margin: 10px auto 2px !important;
    border-radius: 14px !important;
    min-height: 48px !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    background: var(--lokrio-cta) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 8px 20px rgba(255, 90, 31, 0.32) !important;
  }

  .a19-search > div[style*="max-width"] {
    display: none !important;
  }

  .a19-sortbar {
    position: static !important;
    z-index: 40;
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
  }

  .a19-sort-in {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 10px 12px !important;
  }

  .a19-sort-in::-webkit-scrollbar {
    display: none;
  }

  .a19-sort-title {
    flex: 0 0 auto;
    font-size: 13px !important;
  }

  .a19-chip {
    flex: 0 0 auto;
    white-space: nowrap;
    border-radius: 999px !important;
    font-size: 12px !important;
    padding: 8px 12px !important;
  }

  .a19-content {
    display: block !important;
    padding: 0 12px calc(var(--fmab-tab-h) + 24px) !important;
    margin-top: 8px !important;
  }

  .bus-babal-page .a19-content {
    padding-bottom: calc(var(--fmab-tab-h) + 28px) !important;
  }

  .bus-babal-page .a19-offer {
    display: none !important;
  }

  .bus-babal-page .a19-main h1 {
    font-size: 18px !important;
    line-height: 1.25 !important;
    margin: 6px 0 10px !important;
  }

  .bus-babal-page .v2searchStrip {
    padding: 6px 12px 0 !important;
  }

  .bus-babal-page .v2search.v2search--hotels .v2field {
    min-height: 48px !important;
    padding: 8px 2px !important;
  }

  .a19-filter {
    display: none !important;
  }

  .a19-card {
    grid-template-columns: 1fr !important;
    border-radius: 18px !important;
    margin-bottom: 12px !important;
    box-shadow: 0 8px 24px rgba(0, 29, 61, 0.08) !important;
    overflow: hidden !important;
  }

  .a19-photo {
    padding: 12px 12px 0 !important;
  }

  .a19-main-img,
  .a19-placeholder {
    height: 180px !important;
    border-radius: 14px !important;
  }

  .a19-price {
    border-left: 0 !important;
    border-top: 1px solid #e5e7eb !important;
    padding: 14px !important;
  }

  .a19-btn {
    border-radius: 14px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* ── Home A42 — Goibibo layout ── */
  .a42-page {
    padding-bottom: calc(var(--fmab-tab-h) + var(--fmab-float-inset) + 20px) !important;
  }

  .a42-hero {
    min-height: auto !important;
    padding-top: 0 !important;
    background: var(--go-bg) !important;
    color: var(--go-text) !important;
  }

  .a42-hero::before,
  .a42-hero::after {
    display: none !important;
  }

  .a42-hero .a42-copy,
  .a42-copy {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .a42-search {
    width: calc(100% - 24px) !important;
    border-radius: 18px !important;
    padding: 14px !important;
    margin: 10px auto 12px !important;
    box-shadow: 0 14px 40px rgba(6, 23, 51, 0.12) !important;
    background: #fff !important;
    border: 1px solid #eef2f7 !important;
    position: relative;
    z-index: 3;
  }

  .a42-trip-mode {
    margin-bottom: 10px !important;
    padding: 4px !important;
    gap: 4px !important;
    background: #f1f5f9 !important;
    border-radius: 12px !important;
  }

  .a42-trip-mode button {
    min-height: 36px !important;
    font-size: 12px !important;
    border-radius: 10px !important;
  }

  .a42-fields {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    border: 1px solid #eef2f7 !important;
    border-radius: 14px !important;
    overflow: visible !important;
  }

  .a42-fields > .a42-field.a42-city-field:first-child {
    grid-column: 1 !important;
    border-right: 1px solid #eef2f7 !important;
    border-radius: 0 !important;
    padding: 10px !important;
  }

  .a42-fields > .a42-field.a42-city-field:nth-child(2) {
    grid-column: 2 !important;
    padding: 10px !important;
  }

  .a42-fields > .a42-field.a42-date-field {
    grid-column: 1 / -1 !important;
    border-top: 1px solid #eef2f7 !important;
    padding: 10px !important;
  }

  .a42-fields > .a42-field:nth-child(4) {
    grid-column: 1 / -1 !important;
    border-top: 1px solid #eef2f7 !important;
    padding: 10px !important;
  }

  .a42-fields > .a42-field:not(.a42-city-field):not(.a42-return-field) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  .a42-trip-mode button.active {
    background: #fff !important;
    color: var(--go-blue) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  }

  .a42-fields > .a42-search-btn {
    grid-column: 1 / -1 !important;
    min-height: 50px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 999px !important;
    margin: 12px auto 0 !important;
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    box-sizing: border-box !important;
    background: linear-gradient(135deg, var(--lokrio-green), var(--lokrio-green-dark)) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(34, 164, 71, 0.32) !important;
    border: 0 !important;
  }

  .a42-field {
    border-radius: 0 !important;
    padding: 0 !important;
    min-height: auto !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .a42-field label {
    font-size: 10px !important;
    margin-bottom: 2px !important;
    color: #94a3b8 !important;
  }

  .a42-field input,
  .a42-field select,
  .a42-date-display {
    font-size: 15px !important;
    font-weight: 900 !important;
    color: var(--go-text) !important;
  }

  .a42-field .a42-ico {
    display: none !important;
  }

  .a42-field-sub {
    display: none !important;
  }

  .a42-field .a42-swap,
  .a42-fields > .a42-field.a42-city-field:first-child .a42-swap {
    display: none !important;
  }

  .a42-date-field .fmab-date-pills {
    margin: 4px 0 6px !important;
  }

  .a42-trust-grid {
    display: none !important;
  }

  .a42-stats-bar {
    width: calc(100% - 24px) !important;
    margin: 4px auto 14px !important;
    padding: 12px !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(6, 23, 51, 0.06) !important;
  }

  /* ── Manage booking / forms / tables ── */
  html.mb-booking-page .public-footer,
  html.mb-booking-page .lokrio-ft {
    display: none !important;
  }

  .mb-page {
    padding: 12px 12px calc(var(--fmab-tab-h) + var(--fmab-safe-b) + 36px) !important;
    max-width: 100% !important;
  }

  .mb-guest-head h1 {
    font-size: 20px !important;
  }

  .mb-guest-head p {
    font-size: 12px !important;
  }

  .mb-card h2 {
    font-size: 16px !important;
  }

  .mb-card .mb-hint {
    font-size: 12px !important;
    margin-bottom: 12px !important;
  }

  .mb-signin {
    font-size: 12px !important;
  }

  .mb-aside {
    font-size: 12px !important;
    margin-top: 14px !important;
  }

  .mb-top h1 {
    font-size: 22px !important;
  }

  .mb-top p {
    font-size: 12px !important;
  }

  .mb-welcome {
    padding: 10px 12px !important;
    font-size: 12px !important;
    margin-bottom: 12px !important;
  }

  .mb-stat {
    padding: 12px !important;
    border-radius: 12px !important;
  }

  .mb-stat b {
    font-size: 20px !important;
  }

  .mb-item {
    border-radius: 14px !important;
  }

  .mb-card {
    border-radius: 16px !important;
    padding: 16px !important;
  }

  .mb-card input {
    min-height: 44px !important;
    border-radius: 12px !important;
    margin-bottom: 10px !important;
  }

  .mb-btn {
    height: 44px !important;
    font-size: 14px !important;
  }

  .mb-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  .mb-foot {
    display: none !important;
  }

  .mb-panel {
    border-radius: 16px !important;
    overflow: hidden !important;
  }

  .mb-panel > div[style*="overflow:auto"] {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .mb-table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .mb-table {
    min-width: 520px !important;
    font-size: 12px !important;
  }

  .mb-table th,
  .mb-table td {
    padding: 10px 12px !important;
  }

  /* ── Customer auth ── */
  body.customer-auth-page {
    padding-top: var(--fmab-safe-t) !important;
  }

  body.customer-auth-page .ca-shell {
    padding: 10px 12px calc(var(--fmab-tab-h) + 32px) !important;
  }

  body.customer-auth-page .ca-card {
    border-radius: 18px !important;
    padding: 18px 16px !important;
  }

  body.customer-auth-page {
    background: linear-gradient(180deg, #0c4a6e 0%, #eaf2fb 28%, #eaf2fb 100%) !important;
  }

  body.customer-auth-page .ca-card h1 {
    font-size: 22px !important;
  }

  body.customer-auth-page .ca-sub {
    font-size: 12px !important;
    margin-bottom: 14px !important;
  }

  body.customer-auth-page .ca-kicker {
    padding: 6px 10px !important;
    font-size: 10px !important;
    margin-bottom: 10px !important;
  }

  body.customer-auth-page .ca-oauth a {
    height: 44px !important;
    font-size: 13px !important;
    border-radius: 12px !important;
  }

  body.customer-auth-page .ca-oauth a svg {
    width: 18px !important;
    height: 18px !important;
  }

  body.customer-auth-page .ca-or {
    margin: 10px 0 !important;
    font-size: 10px !important;
  }

  body.customer-auth-page .ca-tabs {
    margin-bottom: 14px !important;
    padding: 4px !important;
  }

  body.customer-auth-page .ca-tabs button {
    height: 36px !important;
    font-size: 12px !important;
  }

  body.customer-auth-page .ca-field {
    margin-bottom: 10px !important;
  }

  body.customer-auth-page .ca-field input {
    height: 44px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
  }

  body.customer-auth-page .ca-btn {
    height: 44px !important;
    font-size: 14px !important;
    border-radius: 12px !important;
    margin-top: 4px !important;
  }

  body.customer-auth-page .ca-foot {
    margin-top: 12px !important;
    font-size: 11px !important;
  }

  button,
  .btn,
  input[type="submit"],
  select {
    min-height: 42px;
  }

  body:has(.fmab-home-hero-band) .a42-hero .a42-trip-mode,
  body:has(.fmab-home-hero-band) .a42-hero .a42-trust-grid {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }

  body:has(.fmab-home-hero-band) .a42-hero .a42-search {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
    pointer-events: auto !important;
    margin: 8px 14px 12px !important;
    padding: 14px !important;
    width: calc(100% - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    box-sizing: border-box !important;
  }
}
