:root{--bg:#f6f8fc;--ink:#0b1b3a;--mute:#5b6b85;--line:#e3e8f2;--brand:#1f5eff;--brand2:#5b3df5;--accent:#ff5a36;--accent2:#ff8a3d;--ok:#0e9f6e;--warn:#b45309;--card:#fff;--r:16px}
*{box-sizing:border-box}
button,input,select,textarea{font-family:inherit}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Inter,"Noto Sans","Noto Sans Devanagari","Noto Sans Bengali","Noto Sans Tamil","Noto Sans Telugu","Nirmala UI","Hind Madurai","Hind Guntur",sans-serif;color:var(--ink);background:var(--bg)}
.wrap{max-width:1040px;margin:0 auto;padding:0 18px}
.demo-banner{background:#fef3c7;color:#78350f;border-bottom:2px solid #f59e0b;padding:10px 18px;text-align:center;font-size:14px;position:sticky;top:0;z-index:30}
.hero{background:linear-gradient(135deg,#0b1b3a,#1638a8 55%,#3b2db8);color:#fff;padding:22px 0 30px}
.brand{color:#fff;text-decoration:none;font-weight:800;font-size:20px;letter-spacing:.3px}
h1{font-size:clamp(24px,4.2vw,38px);margin:22px 0 6px;line-height:1.15}
.sub{margin:0 0 20px;opacity:.9}
.card{background:var(--card);border-radius:var(--r);box-shadow:0 10px 30px rgba(15,23,42,.12)}
.search{color:var(--ink);padding:16px}
.trip-toggle{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px;font-size:14px}
.trip-toggle label{display:flex;align-items:center;gap:6px;cursor:pointer}
.trip-toggle .direct{margin-left:auto;color:var(--mute)}
.fields{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.fields.dates{margin-top:10px}
.field{flex:1 1 180px;position:relative;display:flex;flex-direction:column;gap:4px}
.field label{font-size:12px;font-weight:600;color:var(--mute);text-transform:uppercase;letter-spacing:.4px}
.opt{text-transform:none;font-weight:400}
input,select{font:inherit;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);width:100%}
input:focus,select:focus{outline:2px solid #93c5fd;border-color:var(--brand)}
.swap{flex:0 0 40px;height:44px;border:1px solid var(--line);background:#fff;border-radius:10px;cursor:pointer;font-size:18px}
.btn{flex:0 0 auto;height:46px;padding:0 22px;border:0;border-radius:12px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer;font-size:15px}
.btn:hover{filter:brightness(1.07)}
[hidden]{display:none!important}
.ac-list{position:absolute;top:100%;left:0;right:0;z-index:20;margin:4px 0 0;padding:4px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.15);max-height:320px;overflow:auto}
.ac-list li{padding:8px 10px;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;gap:10px}
.ac-list li[aria-selected=true],.ac-list li:hover{background:#eff6ff}
.ac-list .code{font-weight:700;color:var(--brand);font-variant-numeric:tabular-nums}
.ac-list .meta{font-size:12px;color:var(--mute)}
.form-error{color:#b91c1c;margin:10px 0 0}
#results{padding:22px 0 10px}
.res-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.res-head h2{margin:0;font-size:20px}
.res-head .count{color:var(--mute);font-size:14px}
.notice{padding:10px 14px;border-radius:10px;font-size:14px;margin-bottom:12px}
.notice.sample{background:#fef3c7;color:#78350f;border:1px solid #fcd34d}
.notice.live{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.list{display:grid;gap:10px}
.offer{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:14px 16px;position:relative}
.offer .logo{width:44px;height:44px;border-radius:10px;background:#f1f5f9;object-fit:contain}
.offer .dest{font-weight:700;font-size:17px}
.offer .dest small{font-weight:400;color:var(--mute);font-size:13px}
.offer .meta{color:var(--mute);font-size:13.5px;display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:3px}
.offer .stops0{color:var(--ok);font-weight:600}
.offer .price{text-align:right}
.offer .amt{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.offer .per{font-size:12px;color:var(--mute)}
.offer .book{display:inline-block;margin-top:6px;padding:8px 14px;border-radius:9px;background:var(--ink);color:#fff;text-decoration:none;font-weight:600;font-size:14px}
.offer .book:hover{background:#1e293b}
.offer .alt{display:block;font-size:12px;color:var(--brand);margin-top:4px}
.badge{position:absolute;top:-8px;left:14px;background:var(--ok);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px}
.tag-sample{display:inline-block;font-size:11px;font-weight:700;color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;padding:1px 6px;margin-left:8px;vertical-align:middle}
.empty,.loading{padding:30px;text-align:center;color:var(--mute)}
.spinner{width:28px;height:28px;border:3px solid #c7d2fe;border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 10px}
@keyframes spin{to{transform:rotate(360deg)}}
.foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--mute);font-size:13px;padding:24px 18px 40px}
.idle{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.idle .card{padding:16px}
.idle h3{margin:0 0 4px;font-size:15px}
.idle p{margin:0;color:var(--mute);font-size:14px}
@media (max-width:640px){
  .swap{display:none}
  .field{flex-basis:100%}
  .btn{width:100%}
  .offer{grid-template-columns:36px 1fr;gap:10px}
  .offer .logo{width:36px;height:36px}
  .offer .price{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;text-align:left;border-top:1px dashed var(--line);padding-top:10px}
  .offer .book{margin-top:0}
  .trip-toggle .direct{margin-left:0}
}
input[type=radio],input[type=checkbox]{width:auto;padding:0;margin:0}
.notice.stale{background:#fff7ed;color:#9a3412;border:1px solid #fdba74}
.offer .leg{font-size:14px;margin-top:4px}
.offer .leg b{display:inline-block;min-width:38px;color:var(--mute);font-weight:600}
.offer .leg sup{color:var(--warn);font-weight:700}
.offer .leg small{color:var(--mute)}
.offer .stopsN{color:var(--warn);font-weight:600}
.offer .meta.extra{margin-top:6px;font-size:12.5px}
.offer .age{font-size:12px;color:var(--warn);margin-top:2px}
.offer .change{font-size:11.5px;color:var(--mute)}
.error-box{padding:24px;text-align:center}
.error-box h3{margin:0 0 6px}
.error-box p{color:var(--mute);margin:0 0 12px}
.error-box .btn{width:auto}
.offer .meta .warn{color:#b91c1c;font-weight:600}
