
    :root{
      --container:min(1220px,92%);
      --r:24px; --r2:18px; --pill:999px;
      --primary:#4f8cff; --primary2:#2f6bff; --accent:#ffb703; --hot:#ff3d00; --ok:#22c55e; --bad:#ef4444; --danger:#ef4444;
      --shadow:0 24px 70px rgba(0,0,0,.25); --shadow2:0 14px 38px rgba(0,0,0,.16);
      --focus:0 0 0 4px rgba(79,140,255,.24);
    }
    html[data-theme="dark"]{
      --bg0:#070a12; --bg1:#0b1020; --cardA:rgba(255,255,255,.085); --cardB:rgba(255,255,255,.045);
      --card:#0b1020; --line:rgba(255,255,255,.12); --text:#f4f7ff; --muted:rgba(244,247,255,.68);
      --field:rgba(255,255,255,.045); --soft:rgba(255,255,255,.03); --overlay:rgba(0,0,0,.62);
      color-scheme:dark;
    }
    html[data-theme="light"]{
      --bg0:#ffffff; --bg1:#ffffff; --cardA:#ffffff; --cardB:#ffffff;
      --card:#ffffff; --line:rgba(15,23,42,.11); --text:#0f172a; --muted:rgba(15,23,42,.62);
      --field:rgba(15,23,42,.045); --soft:rgba(15,23,42,.025); --overlay:rgba(15,23,42,.45);
      --shadow:0 24px 70px rgba(15,23,42,.11); --shadow2:0 14px 38px rgba(15,23,42,.08);
      color-scheme:light;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:80px;background:var(--bg0);scrollbar-color:rgba(255,255,255,.18) var(--bg0);scrollbar-width:thin}
    body{
      margin:0; font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--text);
      background:
        radial-gradient(1100px 680px at 8% 0%, rgba(79,140,255,.18), transparent 60%),
        radial-gradient(1000px 640px at 95% 10%, rgba(255,183,3,.13), transparent 60%),
        radial-gradient(1000px 640px at 50% 110%, rgba(255,61,0,.08), transparent 60%),
        linear-gradient(180deg,var(--bg0),var(--bg1));
      min-height:100vh; overflow-x:hidden; line-height:1.55;
    }
    body::before{content:""; position:fixed; inset:0; pointer-events:none; z-index:-1; opacity:.07; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}
    ::-webkit-scrollbar{width:8px;height:8px}
    ::-webkit-scrollbar-track{background:var(--bg0)}
    ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:20px;border:2px solid var(--bg0);background-clip:padding-box}
    html[data-theme="light"] ::-webkit-scrollbar-thumb{background:rgba(15,23,42,.2);border:2px solid var(--bg0);background-clip:padding-box}
    html[data-theme="light"]{scrollbar-color:rgba(15,23,42,.2) var(--bg0)}
    a{color:inherit;text-decoration:none} img{max-width:100%;display:block} button,input,select{font:inherit} button{cursor:pointer}
    :focus-visible{outline:none;box-shadow:none;border-radius:14px}
    input:focus,select:focus,textarea:focus,button:focus,a:focus{outline:none!important;box-shadow:none!important}
    input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:none!important;box-shadow:none!important}
    .container{width:var(--container);margin:auto}
    .card{background:linear-gradient(180deg,var(--cardA),var(--cardB)); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow2); backdrop-filter:blur(14px)}
    .muted{color:var(--muted)} .hide{display:none!important}
    .nav{position:sticky;top:12px;z-index:50;width:var(--container);margin:12px auto 0;background:rgba(7,10,18,.64);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow2)}
    html[data-theme="light"] .nav{background:#ffffff}
    .navIn{width:100%;margin:auto;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}
    .brand{display:flex;align-items:center;gap:10px;font-weight:1000;letter-spacing:-.4px}
    .mark{width:36px;height:36px;object-fit:contain;display:block;flex:0 0 auto}
    .navLinks{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
    .navLinks a{padding:7px 10px;border-radius:999px;color:var(--muted);font-weight:850;border:1px solid transparent;font-size:13px}
    .navLinks a:hover,.navLinks a.active{background:rgba(255,183,3,.14);border-color:rgba(255,183,3,.30);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(255,183,3,.08)}
    .navActions{display:flex;gap:10px;align-items:center}
    .btn,.iconbtn{border-radius:999px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:950;white-space:nowrap;transition:.15s ease;user-select:none}
    .btn{height:40px;padding:0 14px;font-size:13px}.iconbtn{width:40px;height:40px;color:var(--text);background:var(--field);border-color:var(--line);font-size:13px}
    .btn:hover,.iconbtn:hover{transform:translateY(-1px);filter:brightness(1.04)}
    .btn:active,.iconbtn:active{transform:translateY(0) scale(.99)}
    .btnPrimary{background:linear-gradient(135deg,var(--accent),var(--hot));color:#091126;box-shadow:0 14px 34px rgba(255,61,0,.16)}
    .btnBlue{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#eef5ff;box-shadow:0 14px 34px rgba(79,140,255,.18)}
    .btnGhost{background:var(--field);border-color:var(--line);color:var(--text)}
    .btnDanger{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.28);color:#ff8b8b}
    .badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:950;background:var(--field);border:1px solid var(--line);white-space:nowrap;color:var(--text)}
    .badgeOk{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.26);color:#31df78}.badgeInfo{background:rgba(79,140,255,.12);border-color:rgba(79,140,255,.26);color:#76a8ff}.badgeWarn{background:rgba(255,183,3,.13);border-color:rgba(255,183,3,.26);color:#ffc73d}.badgeHot{background:rgba(255,61,0,.13);border-color:rgba(255,61,0,.26);color:#ff7a4d}
    .hero{padding:14px 0 10px}.heroCard{padding:14px;border-radius:26px;overflow:hidden;position:relative}
    .heroCard::after{content:"";position:absolute;right:-120px;top:-140px;width:430px;height:430px;background:radial-gradient(circle,rgba(255,61,0,.13),transparent 62%);pointer-events:none}
    .heroTop{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:stretch;position:relative;z-index:1}
    .heroTitle{margin:8px 0 0;font-size:clamp(24px,3.1vw,36px);letter-spacing:-.9px;line-height:1.08;max-width:34ch;color:var(--text);background:none}.heroTitle .keepLine{white-space:nowrap}
    .heroSub{font-weight:720;color:var(--muted);max-width:66ch;font-size:14px;margin:8px 0 10px}
    .searchBox{padding:12px;display:grid;gap:10px;border-radius:22px}
    .tabs,.chips{display:flex;gap:8px;flex-wrap:wrap}.heroBadgesTop{margin-bottom:8px}
    .tab,.chip{height:36px;border-radius:999px;border:1px solid var(--line);background:var(--field);color:var(--text);font-weight:850;padding:0 11px;display:inline-flex;align-items:center;gap:7px;font-size:12px}
    .tab.active,.chip.active{background:rgba(255,183,3,.13);border-color:rgba(255,183,3,.28);color:var(--accent)}
    .formGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
    .field label{display:block;color:var(--muted);font-size:11px;font-weight:850;margin:0 0 5px}
    .control{display:flex;align-items:center;gap:8px;padding:8px 12px;min-height:38px;border-radius:999px;border:1px solid var(--line);background:var(--field);box-shadow:none!important}
    .control:focus-within,.bookingForm input:focus,.bookingForm select:focus,.bookingForm textarea:focus{border-color:var(--line)!important;background:rgba(255,255,255,.045)!important;box-shadow:none!important}
    .control input,.control select{width:100%;border:0;outline:0;background:transparent;color:var(--text);font-weight:760;min-width:0;font-size:13px}
    .control select{-webkit-appearance:none;appearance:none}
    select{background:rgba(255,255,255,.035);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:10px 14px;font:inherit;-webkit-appearance:none;appearance:none}
    html[data-theme="light"] select{background:rgba(15,23,42,.035)}
    select:focus,select:focus-visible{outline:0!important;box-shadow:none!important;border-color:var(--line)!important}
    .control select{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}
    option,select option{background:var(--card);color:var(--text)}
    .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
    .stat{padding:10px 12px;border-radius:18px;background:var(--soft);border:1px solid var(--line)} .stat b{display:block;font-size:16px}.stat span{font-size:11px;font-weight:800;color:var(--muted)}
    .layout{display:grid;grid-template-columns:245px 1fr;gap:14px;padding:12px 0 30px}
    .side{position:sticky;top:88px;max-height:calc(100vh - 104px);overflow:auto;height:max-content;padding:12px;display:grid;gap:11px;font-size:12px}
    .sideTitle{font-weight:1000;font-size:13px}.sideNav{display:grid;gap:8px}
    .sideNav button{justify-content:flex-start;height:36px;width:100%;padding:0 11px;font-size:12px}
    .section{margin-bottom:20px;scroll-margin-top:80px}.sectionHead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 4px 10px}
    .sectionHead h2{margin:0;font-size:18px;letter-spacing:-.25px}.sectionHead p{margin:3px 0 0;color:var(--muted);font-size:12px;font-weight:760}
    .gridCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
    .homePage .gridCards{grid-template-columns:repeat(3,minmax(0,1fr))}
    .listing{cursor:pointer;overflow:hidden;border-radius:24px;background:var(--soft);border:1px solid var(--line);box-shadow:var(--shadow2);transition:.16s}
    .listing.revealIn{animation:cardFadeIn .42s ease both}
    @keyframes cardFadeIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
    .listing:hover{transform:translateY(-3px);border-color:rgba(79,140,255,.28);background:rgba(79,140,255,.06)}
    .listing.routeMatch{border-color:rgba(255,183,3,.46);background:rgba(255,183,3,.07);box-shadow:0 0 0 1px rgba(255,183,3,.12),var(--shadow2)}
    .moreRow{display:flex;justify-content:flex-end;margin-top:10px}.moreBtn.hide{display:none}
    .thumb{height:135px;position:relative;overflow:hidden;background:var(--field)}
    .thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05)} .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.58))}
    .thumbBadges{position:absolute;left:12px;bottom:12px;right:86px;display:flex;gap:7px;flex-wrap:wrap;z-index:1}
    .thumbActions{position:absolute;right:12px;bottom:12px;display:flex;gap:7px;z-index:2}
    .cornerBadge{position:absolute;right:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:10.5px;font-weight:1000;border:1px solid rgba(255,255,255,.18);background:rgba(7,10,18,.68);color:#fff;backdrop-filter:blur(10px);box-shadow:0 10px 26px rgba(0,0,0,.18)}
    .cornerBadge.promo{background:rgba(255,183,3,.18);border-color:rgba(255,183,3,.34);color:#ffd166}.cornerBadge.available{background:rgba(34,197,94,.18);border-color:rgba(34,197,94,.34);color:#8dffb7}.cornerBadge.full{background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.34);color:#ffb4b4}
    .miniIcon{width:32px;height:32px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(7,10,18,.62);color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px rgba(0,0,0,.18);backdrop-filter:blur(10px);transition:.14s ease}
    .miniIcon:hover{transform:translateY(-1px);background:rgba(255,183,3,.16);border-color:rgba(255,183,3,.32);color:var(--accent)}
    html[data-theme="light"] .miniIcon{background:#ffffff;color:#0f172a;border-color:rgba(15,23,42,.12)}
    .sheetTopActions{display:flex;align-items:center;gap:8px;flex-shrink:0}
    .listingBody{padding:10px;display:grid;gap:7px}.listingTitle{font-size:14px;font-weight:950;margin:0;letter-spacing:-.2px}
    .meta{display:flex;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:11px;font-weight:800}
    .desc{margin:0;color:var(--muted);font-size:12px;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    .priceRow{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}.price{font-weight:1100}.small{font-size:12px;color:var(--muted);font-weight:850}
    .actions{display:flex;gap:7px;flex-wrap:nowrap;align-items:center}.actions .btn{height:34px;padding:0 10px;font-size:12px;white-space:nowrap;min-width:0}.marketplaceListingCard .priceRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}.marketplaceListingCard .actions{justify-content:flex-end}
    .modal{position:fixed;inset:0;background:var(--overlay);z-index:80;display:none;padding:16px;overflow:auto}.modal.open{display:grid;place-items:start center}
    .sheet{width:min(1160px,100%);margin:28px 0;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,rgba(14,20,38,.98),rgba(10,13,24,.98));border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow)}
    html[data-theme="light"] .sheet{background:#ffffff;border-color:rgba(15,23,42,.12)}
    .sheetTop{padding:14px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
    .sheetTitle{font-size:20px;font-weight:1100;letter-spacing:-.35px}.sheetSub{font-size:13px;color:var(--muted);font-weight:850;margin-top:3px}
    .stepper{display:flex;gap:8px;flex-wrap:wrap}.step{padding:8px 10px;border-radius:999px;background:var(--field);border:1px solid var(--line);font-size:12px;font-weight:950;color:var(--muted)}.step.active{color:var(--accent);border-color:rgba(255,183,3,.3);background:rgba(255,183,3,.12)}
    .sheetBody{padding:14px;display:grid;grid-template-columns:1.05fr .75fr;gap:14px}
    .visual{border-radius:28px;border:1px solid var(--line);background:var(--soft);overflow:hidden}
    .visualHero{height:230px;position:relative}.visualHero img{width:100%;height:100%;object-fit:cover}.visualHero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.64))}
    .visualText{position:absolute;left:14px;bottom:14px;right:14px;z-index:1}.visualText h3{margin:0;font-size:22px}.visualText p{margin:4px 0 0;color:rgba(255,255,255,.75);font-weight:800}
    .selector{padding:14px;display:grid;gap:12px}.selectorTop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
    .legend{display:flex;gap:8px;flex-wrap:wrap}.leg{font-size:12px;color:var(--muted);font-weight:850;display:flex;gap:5px;align-items:center}.dot{width:12px;height:12px;border-radius:4px;border:1px solid var(--line)}.free{background:#4f8cff}.taken{background:#ef4444}.selected{background:#ffb703}.hold{background:#22c55e}
    .layoutBox{padding:14px;border-radius:26px;background:rgba(0,0,0,.10);border:1px solid var(--line);display:grid;justify-content:center;gap:10px;overflow:auto}
    html[data-theme="light"] .layoutBox{background:rgba(15,23,42,.03)}
    .listingPreviewPage .busSeatLayoutBox{width:100%;justify-content:center;overflow-x:auto}
    .listingPreviewPage .busSeatLayoutBox .vehicleFront,.listingPreviewPage .busSeatLayoutBox .seatRows{margin-inline:auto}
    .vehicleFront{height:34px;border-radius:999px;background:linear-gradient(135deg,rgba(79,140,255,.2),rgba(255,183,3,.16));border:1px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:950;color:var(--muted)}
    .seatRows{display:grid;gap:8px}
    .seatRow{display:grid;gap:8px;grid-template-columns:64px 64px 24px 64px 64px;align-items:center;justify-content:center}.aisle{width:24px}
    .seat,.room,.slot{width:64px;height:64px;min-height:64px;aspect-ratio:1/1;box-sizing:border-box;flex:0 0 64px;border-radius:15px 15px 11px 11px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#4f8cff;color:#06152e;font-size:10px;line-height:1.05;font-weight:1000;transition:.12s;box-shadow:inset 0 -4px 0 rgba(0,0,0,.16)!important}.seat span,.returnSeat span{font-size:7px;text-transform:uppercase;opacity:.9}.seat b,.returnSeat b{font-size:15px;line-height:1}
    .seat:hover,.room:hover,.slot:hover{transform:translateY(-1px);border-color:rgba(255,183,3,.36)}
    .seat.taken,.room.taken,.slot.taken{background:#ef4444;color:#fff;cursor:not-allowed;text-decoration:none}.seat.selected,.room.selected,.slot.selected{background:#ffb703;color:#2b1d00}.seat.holding,.room.holding,.slot.holding{background:#22c55e;color:#06281d}.seat.blocked,.seat.maintenance,.room.maintenance,.slot.maintenance{background:#ff7a18;color:#fff}
    .roomGrid{display:grid;grid-template-columns:repeat(4,86px);gap:10px}.room{width:86px;height:64px;border-radius:22px;align-content:center;text-align:center}.room small{display:block;font-size:10px;opacity:.78}
    .flightGrid{display:grid;gap:8px}.flightRow{display:grid;grid-template-columns:repeat(3,42px) 22px repeat(3,42px);gap:7px}.trainGrid{display:grid;grid-template-columns:repeat(4,52px);gap:9px}.trainGrid .slot{width:52px}
    .sidePanel{display:grid;gap:12px}.summaryCard{padding:14px;border-radius:28px;background:var(--soft);border:1px solid var(--line)}.summaryCard h3{margin:0 0 8px;font-size:16px}.kv{display:grid;gap:8px}.kv div{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:var(--field);font-size:13px;font-weight:900}.kv span{color:var(--muted)}
    .timer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:999px;border:1px solid rgba(34,197,94,.25);background:rgba(34,197,94,.10);font-weight:950;color:#75f0a4}
    .bookingForm{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bookingForm .full{grid-column:1/-1}
    .bookingForm input,.bookingForm select,.bookingForm textarea{width:100%;padding:11px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--text);font-weight:760;outline:0!important;box-shadow:none!important;font-size:13px}.bookingForm textarea{border-radius:24px;min-height:86px;resize:vertical}
    .addons{display:grid;gap:8px}.addon{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:16px;border:1px solid var(--line);background:var(--field);font-size:13px;font-weight:850}
    .multiTicketPanel{display:grid;gap:10px}.multiTicketTop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.switchLine{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:950;color:var(--text)}.switchLine input{accent-color:var(--accent)}
    .returnSeatGrid{display:grid;grid-template-columns:repeat(4,64px);gap:14px;justify-content:start}.returnSeat{width:64px;height:64px;min-height:64px;aspect-ratio:1/1;box-sizing:border-box;flex:0 0 64px;border-radius:15px 15px 11px 11px;border:1px solid var(--line);background:#4f8cff;color:#06152e;font-size:10px;font-weight:1000;line-height:1.05;box-shadow:inset 0 -4px 0 rgba(0,0,0,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.returnSeat.selected{background:#ffb703;color:#2b1d00}.returnSeat.holding{background:#22c55e;color:#06281d}.returnSeat.blocked,.returnSeat.maintenance{background:#ff7a18;color:#fff}.returnSeat.taken,.returnSeat:disabled{opacity:.9;cursor:not-allowed;text-decoration:none;background:#ef4444;color:#fff}
    .passengerRows{display:grid;gap:10px;margin-top:10px}.passengerRow{border:1px solid var(--line);background:var(--field);border-radius:24px;padding:10px;display:grid;gap:8px}.passengerRow h4{margin:0;font-size:13px}.passengerRow .bookingForm{margin-top:0}

    .checkoutStep{display:none;padding:14px;grid-template-columns:.9fr 1.1fr;gap:14px;border-top:1px solid var(--line)}
    .checkoutStep.active{display:grid}
    .checkoutNotice{padding:12px 14px;border-radius:26px;background:rgba(79,140,255,.08);border:1px solid rgba(79,140,255,.18);font-size:13px;font-weight:800;color:var(--muted)}
    .bookingCheckoutGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:14px;align-items:start;padding:0 14px 14px}.bookingFormRail{min-width:0}.bookingPreviewRail{display:grid;gap:12px;align-self:start;position:sticky;top:14px}.bookingPreviewRail .summaryCard{margin:0}.bookingPreviewMap{margin-top:10px;max-height:520px;justify-content:center}.bookingPreviewLegend{margin:10px 0 0;justify-content:flex-start}.bookingFlowSteps{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 14px}.bookingFlowSteps span{border:1px solid var(--line);background:var(--field);border-radius:999px;padding:8px 11px;color:var(--muted);font-size:12px;font-weight:950}.bookingFlowSteps span.is-active{background:linear-gradient(135deg,var(--accent),var(--hot));color:#091126;border-color:transparent}.bookingWizard{grid-template-columns:1fr}.bookingStepPanel{display:none}.bookingStepPanel.is-active{display:block}.bookingInventoryGrid{border:1px solid var(--line);background:var(--field);border-radius:24px;padding:12px;display:grid;gap:8px;overflow:auto}.bookingStepPanel .roomGrid{width:100%;grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
    .payMethods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:8px}.payMethod{border:1px solid var(--line);background:var(--field);border-radius:999px;padding:10px 12px;font-size:12px;font-weight:900}
    .routeFilters{display:grid;gap:8px;max-height:315px;overflow:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.20) transparent}
    .side,.routeFilters{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.20) transparent}.side::-webkit-scrollbar,.routeFilters::-webkit-scrollbar{width:8px}.side::-webkit-scrollbar-track,.routeFilters::-webkit-scrollbar-track{background:linear-gradient(180deg,var(--bg0),var(--bg1));border-radius:999px}.side::-webkit-scrollbar-thumb,.routeFilters::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(79,140,255,.18));border:1px solid var(--line);border-radius:999px}.routeFilters button{justify-content:flex-start;width:100%;min-height:34px;height:auto;padding:8px 10px;font-size:11px;line-height:1.15}.routeFilters button.active,.sideNav button.active{background:rgba(255,183,3,.16);border-color:rgba(255,183,3,.32);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(255,183,3,.08)}
    .toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:120;background:rgba(8,12,24,.96);color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:11px 14px;font-weight:950;box-shadow:var(--shadow);display:none}.toast.show{display:block}
    .drawer{position:fixed;inset:0;background:var(--overlay);z-index:70;display:none}.drawer.open{display:block}.drawerPanel{position:absolute;right:0;top:0;height:100%;width:min(420px,92%);padding:14px;background:linear-gradient(180deg,rgba(14,20,38,.98),rgba(10,13,24,.98));border-left:1px solid var(--line);display:grid;grid-template-rows:auto 1fr auto;gap:12px}html[data-theme="light"] .drawerPanel{background:#ffffff}
    .drawerLinks{display:grid;gap:9px}.drawerLinks a{padding:12px;border-radius:18px;border:1px solid var(--line);background:var(--field);font-weight:950}.drawerLinks a.active{background:rgba(255,183,3,.15);border-color:rgba(255,183,3,.30);color:var(--accent)}
    .drawerFilters{display:none;border-top:1px solid var(--line);padding-top:10px;gap:12px}.drawerFilterTitle{font-size:12px;font-weight:1000;margin:0 0 7px}.drawerFilterHint{font-size:11px;color:var(--muted);font-weight:780;margin:-4px 0 8px}.drawerFilters .sideNav{grid-template-columns:1fr 1fr}.drawerFilters .routeFilters{max-height:220px}.drawerFilters .summaryCard{display:none}
    @media(max-width:1050px){.heroTop,.layout,.sheetBody,.checkoutStep,.bookingCheckoutGrid{grid-template-columns:1fr}.bookingPreviewRail,.side{position:static}.gridCards,.homePage .gridCards{grid-template-columns:repeat(2,minmax(0,1fr))}.navLinks{display:none}}
    @media(min-width:1051px){#menuBtn{display:none}}
    @media(max-width:680px){.formGrid,.gridCards,.homePage .gridCards,.bookingForm{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat{padding:9px 10px}.stat b{font-size:14px}.stat span{font-size:10px;line-height:1.25}.tabs{flex-wrap:nowrap;overflow:auto;gap:6px;padding-bottom:2px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{height:32px;padding:0 9px;font-size:11px;gap:5px;flex:0 0 auto}.heroCard{padding:14px;border-radius:24px}.sheet{margin:0;border-radius:24px}.sheetBody{padding:10px}.roomGrid{grid-template-columns:repeat(2,86px)}.flightRow{grid-template-columns:repeat(3,38px) 18px repeat(3,38px)}.seat,.slot{width:56px;height:56px;min-height:56px;flex-basis:56px}.seatRow{grid-template-columns:56px 56px 22px 56px 56px;gap:10px}.returnSeatGrid{grid-template-columns:repeat(4,56px);gap:10px}.returnSeat{width:56px;height:56px;min-height:56px;flex-basis:56px}.navActions .login{display:none}.sideNav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sideNav button{font-size:12px;height:36px;width:100%;padding:0 10px}.routeFilters{max-height:260px}.drawer.open{display:grid;place-items:start center;padding-top:88px}.side{display:none!important}.layout{display:block}.drawerPanel{position:relative;right:auto;top:auto;width:min(360px,92%);height:auto;max-height:calc(100vh - 110px);overflow:auto;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);grid-template-rows:auto auto auto auto}.drawerLinks a{text-align:left;border-radius:999px;display:flex;align-items:center;justify-content:flex-start}.drawerFilters{display:grid}.drawerFilters .sideNav button,.drawerFilters .routeFilters button{text-align:left;justify-content:flex-start}}
  

    /* v10 phone hero cleanup */
    @media(max-width:680px){
      .hero{padding:7px 0 5px}
      .heroCard{padding:11px;border-radius:22px}
      .heroTitle,.heroSub,.hero .chips,.hero .chipRow,.stats{display:none!important}
      .heroTop{gap:9px}
      .hero .badgeInfo{font-size:10px;padding:5px 8px;gap:5px}
      .searchBox{padding:10px;border-radius:20px}
      .searchBox .muted{font-size:11px}
      .formGrid{gap:8px}
    }





    /* Clean rounded footer */
    .siteFooter{width:var(--container);margin:18px auto 28px;border-radius:30px;border:1px solid var(--line);background:linear-gradient(180deg,var(--cardA),var(--cardB));box-shadow:var(--shadow2);overflow:hidden}
    .footerGrid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.15fr;gap:18px;padding:20px}
    .footerBrand{display:grid;gap:12px;align-content:start}.footerBrand p{margin:0;color:var(--muted);font-size:12px;font-weight:780;line-height:1.55;max-width:34ch}.footerBrand span{color:var(--muted);font-size:12px;font-weight:820;display:inline-flex;align-items:center;gap:8px}
    .footerCol{display:grid;gap:11px;align-content:start}.footerCol h3{margin:0 0 5px;font-size:13px;letter-spacing:-.15px}.footerCol a,.footerCol span{color:var(--muted);font-size:12px;font-weight:820;display:inline-flex;align-items:center;gap:8px}.footerCol a:hover{color:var(--text)}
    .footerBottom{border-top:1px solid var(--line);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px;font-weight:820}
    @media(max-width:900px){.footerGrid{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.siteFooter{border-radius:26px}.footerBrand p{max-width:none}}
    @media(max-width:560px){.footerGrid{grid-template-columns:1fr 1fr;gap:16px}.footerBrand{grid-column:1 / -1}.footerCol h3{font-size:12px}.footerCol a,.footerCol span,.footerBrand p,.footerBrand span,.footerBottom{font-size:11px}.siteFooter{margin-top:14px;margin-bottom:12px;border-radius:24px}.footerBottom{padding:11px 16px}}


    /* Mobile floating bottom nav + My Bookings page */
    .bottomNav{display:none}
    .ticketCard{padding:14px;border-radius:24px;background:var(--soft);border:1px solid var(--line);box-shadow:var(--shadow2);display:grid;gap:10px}
    .ticketTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
    .ticketTitle{font-weight:1000;letter-spacing:-.25px;margin:0;font-size:15px}
    .ticketMeta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px;font-weight:800}
    .ticketCode{font-size:12px;font-weight:1000;letter-spacing:.8px;padding:7px 10px;border-radius:999px;border:1px dashed rgba(255,183,3,.36);color:var(--accent);background:rgba(255,183,3,.08)}
    .ticketActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
    .receiptBody{display:grid;gap:10px;padding:14px}
    .receiptPaper{border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg,var(--cardA),var(--cardB));padding:16px;box-shadow:var(--shadow2)}
    .receiptRow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding:9px 0;font-size:13px;font-weight:850}
    .receiptRow:last-child{border-bottom:0}.receiptRow span{color:var(--muted)}.receiptRow b{text-align:right}

    .pageIntro{padding:14px;border-radius:24px;background:var(--soft);border:1px solid var(--line);margin-bottom:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
    .pageIntro h3{margin:0;font-size:16px;letter-spacing:-.2px}.pageIntro p{margin:4px 0 0;font-size:12px;font-weight:780;color:var(--muted)}
    .promoCard{padding:14px;border-radius:24px;background:var(--soft);border:1px solid var(--line);box-shadow:var(--shadow2);display:grid;gap:10px;transition:.16s}
    .promoCard:hover{transform:translateY(-2px);border-color:rgba(255,183,3,.28);background:rgba(255,183,3,.06)}
    .promoIcon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:rgba(255,183,3,.13);border:1px solid rgba(255,183,3,.26);color:var(--accent)}
    .promoCard h3{margin:0;font-size:15px;letter-spacing:-.25px}.promoCard p{margin:0;font-size:12px;font-weight:760;color:var(--muted)}
    .blogMeta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:11px;font-weight:850}
    .blogCard{padding:0;overflow:hidden;gap:0}
    .blogImage{height:165px;position:relative;overflow:hidden;background:var(--field)}
    .blogImage img{width:100%;height:100%;object-fit:cover;transform:scale(1.02)}
    .blogImage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.58));pointer-events:none}
    .blogTag{position:absolute;left:12px;bottom:12px;z-index:1;width:max-content}
    .blogIconActions{position:absolute;right:10px;top:10px;z-index:2;display:flex;gap:7px}
    .blogIconActions .miniIcon{width:32px;height:32px;background:rgba(7,10,18,.62);border-color:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(10px)}
    html[data-theme="light"] .blogIconActions .miniIcon{background:#ffffff;color:#0f172a;border-color:rgba(15,23,42,.12)}
    .blogBody{padding:13px;display:grid;gap:9px}
    .blogBody h3{margin:0;font-size:15px;letter-spacing:-.25px;line-height:1.28}
    .blogBody p{line-height:1.45;margin:0;font-size:12px;font-weight:760;color:var(--muted)}
    .blogActions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:2px}
    .blogActions .blogMeta{flex:1 1 auto}
    .blogReadHero{position:relative;height:260px;overflow:hidden;border-radius:24px;border:1px solid var(--line);background:var(--field)}
    .blogReadHero img{width:100%;height:100%;object-fit:cover}
    .blogReadHero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.68));pointer-events:none}
    .blogReadText{position:absolute;left:16px;right:16px;bottom:16px;z-index:1;color:#fff;display:grid;gap:8px}
    .blogReadText h3{margin:0;font-size:22px;letter-spacing:-.45px;line-height:1.12}.blogReadText p{margin:0;color:rgba(255,255,255,.78);font-size:13px;font-weight:800}
    .blogArticle{padding:16px;display:grid;gap:12px}.blogArticle p{margin:0;color:var(--muted);font-size:13px;font-weight:780;line-height:1.65}.blogArticle h4{margin:6px 0 0;font-size:14px}

    @media(max-width:680px){
      body{padding-bottom:64px}
      #menuBtn{display:none!important}
      .bottomNav{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);z-index:90;width:min(365px,92%);display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:6px 8px;border-radius:999px;border:1px solid var(--line);background:rgba(7,10,18,.78);backdrop-filter:blur(18px);box-shadow:var(--shadow)}
      html[data-theme="light"] .bottomNav{background:#ffffff}
      .bottomNav button{min-width:0;width:38px;height:38px;margin:auto;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:50%;display:grid;place-items:center;font-weight:950;font-size:0;padding:0}
      .bottomNav button span{display:none!important}
      .bottomNav button i{font-size:21px;line-height:1}.bottomNav button.active{background:rgba(255,183,3,.16);border-color:rgba(255,183,3,.34);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(255,183,3,.08)}
      .bottomNav button:active{transform:scale(.96)}
      .sectionHead{flex-wrap:nowrap;align-items:flex-start}.sectionHead>div{min-width:0}.sectionHead .badge{margin-left:auto;flex:0 0 auto;font-size:10px;padding:6px 8px;max-width:44%;overflow:hidden;text-overflow:ellipsis}
      .thumbBadges{right:86px}.miniIcon{width:30px;height:30px}.sheetTop{align-items:flex-start}.sheetTitle{font-size:17px}.sheetTopActions{gap:7px}
      .drawer.open{padding-bottom:64px}.toast{bottom:68px}.ctNotifyDock{bottom:78px!important}
      .ticketCard{border-radius:22px;padding:12px}.ticketActions{justify-content:stretch}.ticketActions .btn{flex:1}.ticketCode{font-size:11px}
    }


    /* v16 tablet + landscape navigation/filter polish */
    @media(max-width:1050px){
      body{padding-bottom:80px}
      #menuBtn{display:none!important}
      .navLinks{display:none!important}
      .navActions{gap:7px}.navActions .btn{height:38px;padding:0 11px;font-size:12px}.navActions .iconbtn{width:38px;height:38px}
      .bottomNav{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);z-index:90;width:min(540px,74%);display:grid!important;grid-template-columns:repeat(5,1fr);gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(7,10,18,.78);backdrop-filter:blur(18px);box-shadow:var(--shadow)}
      html[data-theme="light"] .bottomNav{background:#ffffff}
      .bottomNav button{min-width:0;width:38px;height:38px;margin:auto;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:50%;display:grid;place-items:center;font-weight:950;font-size:0;padding:0}
      .bottomNav button span{display:none!important}.bottomNav button i{font-size:21px;line-height:1}.bottomNav button.active{background:rgba(255,183,3,.16);border-color:rgba(255,183,3,.34);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(255,183,3,.08)}
      .side{position:static;max-height:none;display:grid;gap:10px;overflow:visible}
      .sideNav{display:flex!important;align-items:flex-start;gap:8px;flex-wrap:wrap}
      .sideNav button{width:auto!important;height:34px!important;padding:0 11px!important;font-size:11px!important;flex:0 0 auto}
      .routeFilters{display:flex!important;align-items:flex-start;gap:8px;flex-wrap:wrap;max-height:260px;overflow:auto;padding-right:4px}
      .routeFilters button{width:auto!important;min-height:32px!important;height:auto!important;padding:7px 10px!important;font-size:10.5px!important;line-height:1.15;flex:0 0 auto}
      .drawer.open{display:grid;place-items:start center;padding-top:88px;padding-bottom:80px}.drawerPanel{position:relative;right:auto;top:auto;width:min(520px,92%);height:auto;max-height:calc(100vh - 120px);overflow:auto;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);grid-template-rows:auto auto auto auto}.drawerFilters{display:grid}
      .drawerLinks a{text-align:left;border-radius:999px;display:flex;align-items:center;justify-content:flex-start}
      .toast{bottom:78px}
    }
    @media(max-width:680px){
      .side{display:none!important}.layout{display:block}
      .navActions{gap:5px}.navActions .btn{height:36px;padding:0 9px;font-size:11px}.navActions .iconbtn{width:36px;height:36px}.navActions .navBtnText{display:none}.brand span:last-child{font-size:13px}.mark{width:34px;height:34px}
      .drawerPanel{width:min(360px,92%)}
      .cornerBadge{font-size:9.5px;padding:5px 7px;right:10px;top:10px}
      .bottomNav{width:min(365px,92%)!important;gap:5px!important;padding:6px 8px!important}
    }


    /* v21: hide bottom nav on tablet/landscape and show top menu button there */
    @media (min-width:681px) and (max-width:1050px){
      body{padding-bottom:0!important}
      #menuBtn{display:inline-flex!important}
      .navActions .login{display:inline-flex!important}
      .bottomNav{display:none!important}
      .drawer.open{padding-bottom:18px!important}
      .toast{bottom:18px!important}
    }

  

/* Direct payment page: passenger forms on the left, ticket preview and payment options on the right. */
.directPaymentSheet form{margin:0}.directPaymentGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:14px;align-items:start;padding:0 14px 14px}.directPassengerColumn,.directPaymentSide{display:grid;gap:12px}.directPaymentSide{position:sticky;top:14px}.directInfoHeader,.directTicketPreview,.directPaymentOptions{margin:0}.directPassengerRows{margin-top:0}.directPassengerCard{padding:14px}.directPassengerTop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.directPassengerTop h4{font-size:15px}.directPassengerForm{margin-top:4px}.directTicketPreview .kv div{border-radius:18px;align-items:flex-start}.directPaymentOptions{display:grid;gap:10px}@media(max-width:1050px){.directPaymentGrid{grid-template-columns:1fr}.directPaymentSide{position:static}}


/* Direct payment spacing polish: larger gaps and safe wrapping on the ticket/payment page. */
.paymentPage{overflow-x:hidden}.directPaymentGrid{gap:20px!important;padding:0 18px 18px!important}.directPassengerColumn,.directPaymentSide{gap:16px!important;min-width:0}.directPassengerCard{padding:16px!important;gap:12px!important}.directPassengerForm{gap:12px!important}.directPaymentOptions,.directTicketPreview,.directInfoHeader{padding:16px!important}.directTicketPreview .kv{display:grid;gap:9px}.directTicketPreview .kv div{gap:10px;min-width:0}.directTicketPreview .kv b,.directTicketPreview .kv span{overflow-wrap:anywhere}.payMethods{display:grid;gap:8px}.payMethod{min-height:42px;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:18px;border:1px solid var(--line);background:var(--field);font-weight:900}@media(max-width:680px){.directPaymentGrid{padding:0 10px 12px!important;gap:14px!important}.directPassengerTop{align-items:flex-start}.directPassengerForm{grid-template-columns:1fr!important}.directPaymentOptions,.directTicketPreview,.directInfoHeader{padding:14px!important}}

/* Passenger note textarea restored on direct payment form. */
.directPassengerForm textarea.full{grid-column:1/-1;border-radius:22px!important;min-height:90px;resize:vertical;line-height:1.45}

/* Heart button filled/loved state - same gradient fill as the primary Book buttons. */
.miniIcon.loved,.iconbtn.loved{background:linear-gradient(135deg,var(--accent),var(--hot))!important;border-color:transparent!important;animation:heartPop .22s ease}
.miniIcon.loved i,.iconbtn.loved i{color:#091126;transition:color .15s}
@keyframes heartPop{0%{transform:scale(1)}50%{transform:scale(1.35)}100%{transform:scale(1)}}

/* Bottom nav: show icon + name label instead of icon-only. */
.bottomNav button{width:auto;height:auto;min-height:46px;padding:6px 2px 5px;border-radius:16px;gap:3px;background:transparent;border-color:transparent}
.bottomNav button i{font-size:16px;line-height:1;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;transition:background .15s,color .15s}
.bottomNav button span{display:block!important;font-size:9px;font-weight:850;line-height:1;letter-spacing:.01em;white-space:nowrap}
/* Active state: a circular highlight behind the icon only, not the whole button.
   Profile also lights up while the drawer it opens is open, tracked reactively via
   :has() so it stays correct regardless of how the drawer gets closed (X button,
   backdrop click, or another control that auto-closes it). */
.bottomNav button.active,
body:has(.drawer.open) .bottomNav button[title="Menu"]{background:transparent;border-color:transparent;box-shadow:none;color:var(--accent)}
.bottomNav button.active i,
body:has(.drawer.open) .bottomNav button[title="Menu"] i{background:linear-gradient(135deg,var(--accent),var(--hot))!important;color:#091126!important}
/* While the menu is open, it alone should read as active - suppress any other
   button's page-location active state so two icons don't light up at once
   (e.g. Home staying lit while Profile opens the menu from the homepage). */
body:has(.drawer.open) .bottomNav button.active:not([title="Menu"]){color:var(--muted)}
body:has(.drawer.open) .bottomNav button.active:not([title="Menu"]) i{background:transparent!important;color:var(--muted)!important}

/* Drawer link rows: icon and label were crowding together with no gap between them. */
.drawerLinks a{display:flex!important;align-items:center;gap:10px}
.drawerLinks a i{width:16px;text-align:center;flex-shrink:0}

/* Drawer profile heading: shown first, above the menu links. */
.drawerProfile{display:flex;align-items:center;gap:12px;padding:12px 6px;margin:10px 0 6px;border-radius:18px;text-decoration:none;color:var(--text);border:1px solid var(--line);background:var(--field)}
.drawerProfile:hover{background:rgba(255,183,3,.08);border-color:rgba(255,183,3,.24)}
.drawerProfileAvatar{width:42px;height:42px;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;color:#081026;font-size:17px}
.drawerProfileText{flex:1;min-width:0;display:grid;gap:2px}
.drawerProfileText b{font-size:14px;letter-spacing:-.1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drawerProfileText .muted{font-size:11px;font-weight:780}
.drawerProfile>i{color:var(--muted);font-size:13px;flex-shrink:0}

/* No glassmorphism in light mode - flat white surfaces everywhere instead of
   translucent blurred panels. Backgrounds are already opaque via --cardA/--cardB
   and the per-component overrides above; this drops the now-pointless blur itself. */
html[data-theme="light"] .card,
html[data-theme="light"] .nav,
html[data-theme="light"] .bottomNav,
html[data-theme="light"] .sheet,
html[data-theme="light"] .drawerPanel,
html[data-theme="light"] .miniIcon,
html[data-theme="light"] .cornerBadge,
html[data-theme="light"] .siteFooter,
html[data-theme="light"] .blogIconActions .miniIcon{backdrop-filter:none}
html[data-theme="light"] body{background:#ffffff}
html[data-theme="light"] body::before{display:none}
html[data-theme="light"] .heroCard::after{display:none}

/* The public seat-map frame is retained on desktop and removed only where phone
   width is scarce. The map itself stays centred at every breakpoint. */
@media(max-width:680px){
  .listingPreviewPage .busSeatLayoutBox{padding:0;border:0;border-radius:0;background:transparent}
  html[data-theme="light"] .listingPreviewPage .busSeatLayoutBox{background:transparent}
}

/* Seven-service hero switcher: swipe/drag on phones and desktop without crowding the top navigation. */
#searchTabs.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:7px;padding:2px 2px 7px;scroll-snap-type:x proximity;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:none;cursor:grab;touch-action:pan-x}
#searchTabs.tabs::-webkit-scrollbar{display:none}
#searchTabs.tabs.is-dragging{cursor:grabbing;scroll-behavior:auto;user-select:none}
#searchTabs .tab{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap}
