:root{
  --navy:#071d33;
  --blue:#2d7be8;
  --orange:#ff6900;
  --bg:#eaf3fb;
  --line:#d6e2ee;
  --muted:#63738a;
  --green:#37c662;
  --pink:#ff3f72;
}
body{background:var(--bg)!important;color:#101a30}
a{text-decoration:none}
.ota-wrap{max-width:1180px;margin:0 auto;padding:34px 20px 70px}
.ota-hero{background:linear-gradient(110deg,#08223c,#0c4770 55%,#071d33);border-radius:26px;min-height:270px;padding:42px 48px 92px;color:#fff;position:relative;box-shadow:0 24px 55px rgba(7,29,51,.16)}
.ota-hero h1{font-size:46px;line-height:.98;margin:20px 0 10px;letter-spacing:-1.7px;max-width:620px}
.ota-hero p{font-size:16px;line-height:1.25;margin:0;color:#d8e8f6;font-weight:800;max-width:620px}
.ota-pill{display:inline-flex;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.10);border-radius:999px;padding:8px 14px;font-size:12px;font-weight:900}
.ota-track{position:absolute;right:40px;top:52px;width:260px;background:#fff;color:#111a2e;border-radius:18px;padding:20px;box-shadow:0 20px 42px rgba(0,0,0,.18)}
.ota-track h3{font-size:21px;margin:0 0 8px}.ota-track p{font-size:13px;color:#5d6b7f;margin:0 0 14px}.ota-track a{display:inline-block;background:var(--navy);color:white;padding:10px 14px;border-radius:9px;font-weight:900}
.ota-search-card{max-width:1040px;margin:-64px auto 20px;background:white;border:1px solid var(--line);border-radius:22px;position:relative;z-index:4;box-shadow:0 22px 52px rgba(7,29,51,.15);overflow:hidden}
.ota-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.ota-tab{height:76px;border:0;background:#fff;font-weight:950;font-size:16px;cursor:pointer;color:#2b3b50;position:relative}.ota-tab small{display:block;color:#65758b;font-size:11px;margin-top:3px}.ota-tab.active{color:var(--orange)}.ota-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--orange)}
.ota-form{display:grid;grid-template-columns:1.25fr 1.25fr .9fr .75fr 140px;gap:10px;padding:16px 18px 20px}.ota-field{border:1px solid #c8d7e7;border-radius:12px;background:#fbfdff;padding:8px 12px;height:58px}.ota-field label{display:block;font-size:10px;font-weight:950;color:#66768d;text-transform:uppercase}.ota-field input{border:0;background:transparent;outline:0;width:100%;font-size:17px;font-weight:950;color:#111a2e}.ota-btn{border:0;background:var(--orange);color:white;border-radius:13px;font-weight:950;font-size:18px}
.ota-chips{max-width:1040px;margin:0 auto 18px;display:flex;gap:10px}.ota-chip{background:white;border:1px solid var(--line);border-radius:999px;padding:9px 15px;font-weight:900}.ota-chip.active{background:var(--navy);color:#fff}
.ota-service-grid{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ota-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.ota-card b{font-size:11px;color:var(--orange);text-transform:uppercase}.ota-card h3{font-size:22px;margin:10px 0 7px}.ota-card p{margin:0;color:#627188;font-weight:800}

/* bus result */
.bus-orange{background:var(--orange);padding:12px 0}.bus-searchbar{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.25fr 1.25fr .72fr .55fr 140px;gap:10px}.bus-box{height:50px;background:white;border-radius:6px;padding:7px 12px}.bus-box label{display:block;font-size:10px;color:#59697d;text-transform:uppercase;font-weight:950}.bus-box input{border:0;outline:0;width:100%;font-size:15px;font-weight:950}.bus-update{border:0;background:#1367d8;color:#fff;border-radius:5px;font-weight:950}
.bus-page{max-width:1180px;margin:18px auto 70px;display:grid;grid-template-columns:210px 1fr;gap:18px}
.bus-filter{background:white;border:1px solid var(--line);padding:14px}.bus-filter h3{margin:0 0 12px;font-size:18px}.bus-filter .clear{float:right;font-size:12px;color:#9aa7b6}.filter-section{border-top:1px solid #e1e8f0;padding:13px 0}.filter-section h4{margin:0 0 9px;font-size:12px;text-transform:uppercase}.filter-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-btn{border:1px solid #d8e1ec;background:#fff;border-radius:6px;min-height:42px;font-weight:900;font-size:12px}.bus-topline{height:42px;background:white;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 14px;margin-bottom:10px}.sorts span{margin-left:25px;font-size:12px;font-weight:950}.sorts .active{color:#1267d8}
.trip-card{background:white;border:1px solid var(--line);margin-bottom:12px}.trip-head{display:grid;grid-template-columns:1.35fr .55fr .55fr .8fr;gap:16px;padding:18px 18px 14px;align-items:center}.trip-title h2{font-size:22px;margin:0 0 4px}.trip-sub{color:#666;font-weight:850}.trip-rating{margin-top:12px}.badge-rate{background:#ff3f72;color:white;border-radius:4px;padding:5px 8px;font-weight:950}.trip-time strong{font-size:25px}.trip-time span{display:block;color:#666;font-weight:850}.trip-price{text-align:right}.trip-price strong{font-size:30px}.trip-price small{display:block;color:#666;font-weight:850}.seat-toggle{margin-top:8px;border:0;background:var(--orange);color:#fff;padding:12px 26px;border-radius:5px;font-weight:950;font-size:15px}.trip-links{border-top:1px solid var(--line);height:40px;display:flex;align-items:center;justify-content:flex-end;gap:22px;padding:0 18px;color:#1267d8;font-weight:950}
.seat-panel{display:none;border-top:1px solid var(--line);padding:14px 18px 18px}.trip-card.open .seat-panel{display:block}.mini-tabs{height:44px;background:#eef4fb;border-radius:999px;display:grid;grid-template-columns:1.2fr 1.3fr .8fr .8fr 1.2fr;margin-bottom:14px}.mini-tabs span{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:950;color:#607086}.mini-tabs .active{background:#2d7be8;color:white;border-radius:999px}
.seat-work{display:grid;grid-template-columns:300px 1fr;gap:20px}.step-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:950;margin-bottom:10px}.step-num{background:#2d7be8;color:white;border-radius:50%;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center}
.board-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.board-card{border:1px solid #cfdae7;background:#fff}.board-card h4{margin:0;background:#eef4fb;padding:10px;font-size:16px}.board-card select{margin:10px;width:calc(100% - 20px);height:38px;border:1px solid #cbd7e5;border-radius:5px;font-weight:800}.board-card p{margin:0;padding:0 10px 12px;color:#555;font-weight:800;font-size:13px}
.seat-side-head{display:flex;align-items:center;gap:18px;margin-bottom:8px}.legend{display:flex;gap:18px;font-weight:850;color:#666}.legend i{display:inline-block;width:13px;height:13px;border-radius:4px;border:1px solid #aaa;margin-right:5px;vertical-align:middle}.lg-booked{background:#ddd}.lg-free{background:#fff}.lg-selected{background:var(--green);border-color:#2ab353!important}.price-chip{display:inline-block;background:#eef4fb;color:#2c6fb1;border-radius:5px;padding:6px 10px;font-weight:950;margin-bottom:8px}
.real-map{border:1px solid #cdd9e6;border-radius:9px;display:grid;grid-template-columns:46px 1fr;min-height:190px;background:white}.wheel{background:#eef4fb;display:flex;align-items:center;justify-content:center;color:#58708b;font-size:18px}.map-body{padding:18px}.front-line{display:flex;align-items:center;gap:12px;margin-bottom:12px}.front-label{flex:1;border:1px solid #cdd9e6;border-radius:7px;height:34px;display:flex;align-items:center;justify-content:center;color:#8a9bae;font-size:11px;text-transform:uppercase;font-weight:950;letter-spacing:.8px}.driver{background:#071d33;color:#fff;border:1px dashed #fff;border-radius:8px;padding:9px 18px;font-weight:950}
.seat-row{display:flex;align-items:center;margin:8px 0}.row-label{width:70px;color:#7a8aa0;font-weight:950;text-transform:uppercase;font-size:11px}.seat-line{display:flex;align-items:center;gap:9px;flex-wrap:nowrap}.aisle-row{height:18px;color:#9dafc1;font-size:10px;font-weight:950;text-transform:uppercase;margin-left:70px;display:flex;align-items:center}.seat-btn{width:45px;height:28px;border:1px solid #aac0d5;background:#fff;border-radius:6px;position:relative;font-weight:950;font-size:12px;cursor:pointer}.seat-btn:before,.seat-btn:after{content:"";position:absolute;top:5px;width:6px;height:18px;border:1px solid #aac0d5;background:#f8fbff;border-radius:4px}.seat-btn:before{left:-5px}.seat-btn:after{right:-5px}.seat-btn.booked{background:#ddd;color:#777;cursor:not-allowed}.seat-btn.selected{background:var(--green);color:white;border-color:#2ab353}.seat-btn.selected:before,.seat-btn.selected:after{background:#32b957;border-color:#2ab353}
.continue-bar{margin-top:12px}.seat-total{font-size:17px;font-weight:950;margin:10px 0}.proceed{width:100%;height:48px;border:0;border-radius:7px;background:#d2d2d2;color:white;font-weight:950;font-size:16px}.proceed.ready{background:var(--orange);cursor:pointer}

/* —— Hotel / Holiday results (fp-*) —— */
.fp-results-wrap{background:var(--bg);padding:24px 0 56px;min-height:60vh}
.fp-shell{max-width:1180px;margin:0 auto;padding:0 20px}
.fp-compact-search{display:grid;grid-template-columns:1.3fr 1fr .8fr .7fr 132px;gap:10px;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 14px;margin-bottom:18px;box-shadow:0 14px 36px rgba(7,29,51,.08)}
.fp-compact-cell{border:1px solid #d4e2ef;border-radius:12px;background:#fbfdff;padding:10px 14px;display:flex;flex-direction:column;justify-content:center;min-height:58px}
.fp-compact-cell span{display:block;font-size:10px;font-weight:950;color:#66768d;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.fp-compact-cell strong{display:block;line-height:1.2}
.fp-compact-cell input,.fp-compact-cell select{border:0;background:transparent;outline:none;width:100%;font-size:17px;font-weight:950;color:#111a2e;padding:0;margin:0}
.fp-search-btn{border:0;background:var(--orange);color:#fff;border-radius:999px;font-weight:950;font-size:16px;cursor:pointer;min-height:58px;box-shadow:0 10px 24px rgba(255,91,42,.28);transition:transform .15s,box-shadow .15s}
.fp-search-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(255,91,42,.34)}
.fp-result-layout{display:grid;grid-template-columns:240px minmax(0,1fr) 180px;gap:16px;align-items:start}
.fp-filter{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;position:sticky;top:96px}
.fp-filter-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.fp-filter-title h2{margin:0;font-size:18px;font-weight:950}
.fp-filter-title a{font-size:12px;font-weight:900;color:var(--blue)}
.fp-filter-meta{font-size:11px;font-weight:800;color:var(--muted);margin-bottom:12px}
.fp-filter-section{border-top:1px solid #e8eef5;padding:12px 0}
.fp-filter-section h3{margin:0 0 8px;font-size:11px;font-weight:950;text-transform:uppercase;color:#607088}
.fp-filter-section label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:#334155;margin:6px 0;cursor:pointer}
.fp-filter-section input[type=checkbox],.fp-filter-section input[type=radio]{width:16px;height:16px;accent-color:var(--blue)}
.fp-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fp-price-grid input,.fp-filter-search{width:100%;height:38px;border:1px solid #d4e2ef;border-radius:8px;padding:0 10px;font-weight:800;font-size:13px}
.fp-map{margin-bottom:12px}
.fp-results-main{min-width:0}
.fp-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}
.fp-tools h1{margin:0;font-size:26px;font-weight:1000;letter-spacing:-.03em;color:#0f172a}
.fp-sub{font-size:13px;font-weight:800;color:var(--muted);margin-top:4px}
.fp-sort{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font-weight:900;font-size:12px;color:#334155}
.fp-deal{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:12px 14px;font-size:13px;font-weight:800;color:#9a3412;margin-bottom:14px}
.fp-result-card{display:grid;grid-template-columns:220px minmax(0,1fr) 160px;gap:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:14px;box-shadow:0 8px 22px rgba(7,29,51,.06);transition:box-shadow .15s,transform .15s}
.fp-result-card:hover{box-shadow:0 16px 36px rgba(7,29,51,.1);transform:translateY(-1px)}
.fp-img{background:linear-gradient(135deg,#0c4770,#14532d);min-height:100%;display:flex;align-items:flex-end;padding:14px;color:#fff;font-weight:1000;font-size:16px}
.fp-card-body{padding:16px 18px}
.fp-card-body h2{margin:0 0 6px;font-size:20px;font-weight:1000;line-height:1.2}
.fp-card-sub{font-size:13px;font-weight:800;color:var(--muted);margin-bottom:10px}
.fp-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.fp-tag{background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900}
.fp-rating{font-size:12px;font-weight:800;color:#475569}
.fp-rating b{color:#0f766e;margin-right:6px;font-size:14px}
.fp-card-price{border-left:1px solid #eef2f7;padding:16px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:#fafcff}
.fp-card-price small{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase}
.fp-card-price strong{font-size:26px;font-weight:1000;color:#0f172a;line-height:1.1;margin:2px 0 10px}
.fp-button{display:block;width:100%;text-align:center;background:var(--orange);color:#fff!important;border-radius:10px;padding:11px 14px;font-weight:950;font-size:13px;text-decoration:none!important;border:0;cursor:pointer}
.fp-button.navy{background:var(--navy)}
.fp-empty{background:#fff;border:1px dashed #cbd5e1;border-radius:16px;padding:32px 20px;text-align:center;font-weight:800;color:var(--muted)}
.fp-side-ad{background:linear-gradient(160deg,#0f172a,#14532d);color:#fff;border-radius:16px;padding:18px;font-weight:950;font-size:15px;line-height:1.4;position:sticky;top:96px}
.fp-side-ad a{color:#bbf7d0!important;text-decoration:none!important;font-size:14px;display:block;padding:6px 0}
.fp-side-ad a:hover{color:#fff!important}

@media(max-width:1000px){
  .ota-track{position:static;margin-top:20px;width:auto}
  .ota-form,.bus-searchbar{grid-template-columns:1fr}
  .ota-service-grid{grid-template-columns:1fr 1fr}
  .bus-page{grid-template-columns:1fr}
  .seat-work{grid-template-columns:1fr}
  .trip-head{grid-template-columns:1fr}
  .trip-price{text-align:left}
  .fp-result-layout{grid-template-columns:1fr!important}
  .fp-side-ad{display:none}
}
@media(max-width:900px){
  .fp-result-card{grid-template-columns:1fr!important}
  .fp-result-card .fp-img{min-height:160px}
  .fp-card-price{border-left:0;border-top:1px solid #eef2f7}
  .hol-search .fp-compact-search,.fp-compact-search{grid-template-columns:1fr 1fr!important}
  .fp-search-btn{grid-column:1/-1}
}
