
:root{
  --primary:#1268ff;
  --primary2:#0b4fd0;
  --ink:#13213c;
  --muted:#667085;
  --line:#e5eaf2;
  --bg:#f6f8fc;
  --card:#ffffff;
  --success:#11875d;
  --warning:#ffb020;
  --radius:18px;
  --shadow:0 10px 30px rgba(25,45,90,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 32px));margin:auto}
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;font-size:24px;font-weight:900;letter-spacing:-.8px;color:#0b2b62}
.brandmark{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--primary),#69a0ff);display:grid;place-items:center;color:#fff;margin-right:9px;font-size:17px}
.navlinks{display:flex;gap:24px;color:#475467;font-size:14px;font-weight:650}
.navright{display:flex;align-items:center;gap:14px;color:#475467;font-size:14px}
.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:8px}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary2)}
.btn-light{background:#edf3ff;color:#0e57d7}
.hero{background:
  radial-gradient(circle at 80% 25%,rgba(68,146,255,.25),transparent 28%),
  linear-gradient(135deg,#071c46 0%,#0c438f 58%,#1777dc 100%);color:#fff;padding:70px 0 85px}
.hero h1{font-size:clamp(38px,6vw,66px);line-height:.98;max-width:760px;margin:0 0 18px;letter-spacing:-2.6px}
.hero p{font-size:19px;color:#d9e8ff;max-width:650px;margin:0 0 34px}
.searchbox{background:#fff;border-radius:20px;padding:18px;display:grid;grid-template-columns:2fr 1.15fr 1.15fr 1.45fr auto;gap:10px;box-shadow:0 18px 45px rgba(0,0,0,.2)}
.field{border:1px solid #dfe5ee;border-radius:12px;padding:10px 12px;text-align:left}
.field label{display:block;color:#667085;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.field input,.field select{border:0;outline:0;width:100%;font-size:14px;color:#15233f;background:transparent;padding:0}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-34px}
.trustcard{background:#fff;border-radius:16px;padding:18px;box-shadow:var(--shadow);border:1px solid #edf0f5}
.trustcard b{display:block;margin-bottom:4px}
.trustcard span{font-size:13px;color:var(--muted)}
.section{padding:64px 0}
.section h2{font-size:30px;margin:0 0 8px;letter-spacing:-1px}
.section .lead{color:var(--muted);margin:0 0 28px}
.destinations{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.destination{height:190px;border-radius:18px;padding:18px;color:white;display:flex;align-items:flex-end;font-size:22px;font-weight:900;box-shadow:var(--shadow)}
.d1{background:linear-gradient(0deg,rgba(0,0,0,.35),rgba(0,0,0,.05)),linear-gradient(135deg,#4aa8ee,#0c4d8d)}
.d2{background:linear-gradient(0deg,rgba(0,0,0,.35),rgba(0,0,0,.05)),linear-gradient(135deg,#d09d64,#764725)}
.d3{background:linear-gradient(0deg,rgba(0,0,0,.35),rgba(0,0,0,.05)),linear-gradient(135deg,#56b88b,#1a6350)}
.d4{background:linear-gradient(0deg,rgba(0,0,0,.35),rgba(0,0,0,.05)),linear-gradient(135deg,#86c9e8,#0d6ea8)}
.resultsbar{padding:24px 0}
.searchcompact{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:var(--shadow)}
.resultsgrid{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:10px 0 50px}
.filters,.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.filters{padding:18px;height:max-content;position:sticky;top:94px}
.filters h3{margin:0 0 16px}
.filtergroup{border-top:1px solid var(--line);padding:17px 0}
.filtergroup:first-of-type{border-top:0}
.filtergroup b{display:block;margin-bottom:10px;font-size:14px}
.check{display:flex;gap:8px;align-items:center;margin:9px 0;color:#475467;font-size:14px}
.resulthead{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}
.hotelcard{display:grid;grid-template-columns:210px 1fr 160px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:15px;box-shadow:var(--shadow)}
.hotelimg{min-height:190px;background:linear-gradient(135deg,#5ab0e9,#0a4b8f);display:grid;place-items:center;color:#fff;font-size:55px}
.hotelmain{padding:18px}
.hotelmain h3{margin:0 0 5px;font-size:21px}
.stars{color:#f7ad00;letter-spacing:1px}
.rating{display:inline-block;background:#0d64ef;color:#fff;border-radius:8px;padding:5px 8px;font-weight:900;margin:10px 8px 10px 0}
.meta{font-size:13px;color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tag{font-size:12px;background:#f0f4fa;border-radius:8px;padding:6px 8px;color:#475467}
.cancel{color:var(--success);background:#ecfbf5}
.pricebox{padding:18px;border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right}
.price{font-size:28px;font-weight:900}
.pricebox small{color:var(--muted);margin-bottom:14px}
.detailgrid{display:grid;grid-template-columns:1.5fr .8fr;gap:24px;padding:30px 0 55px}
.gallery{height:360px;border-radius:20px;background:linear-gradient(135deg,#5aaee9,#154d91);display:grid;place-items:center;color:#fff;font-size:80px;box-shadow:var(--shadow)}
.panel{padding:22px}
.panel h1,.panel h2,.panel h3{margin-top:0}
.room{display:grid;grid-template-columns:1fr auto;gap:20px;padding:18px 0;border-top:1px solid var(--line)}
.room:first-child{border-top:0}
.room strong{display:block;font-size:17px;margin-bottom:5px}
.room small{color:var(--muted)}
.summaryrow{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line)}
.summaryrow:last-child{border-bottom:0}
.checkout{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;padding:30px 0 60px}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.input{display:flex;flex-direction:column;gap:6px}
.input label{font-size:13px;font-weight:800}
.input input,.input select{border:1px solid #dbe2ec;border-radius:10px;padding:12px;font-size:14px}
.notice{background:#eef5ff;color:#234f95;border-radius:12px;padding:14px;font-size:13px;margin:14px 0}
footer{background:#08162f;color:#b9c8e4;padding:38px 0;margin-top:20px}
.footergrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}
footer b{color:#fff}
footer p,footer a{font-size:13px;color:#aebbd1}
.badge{display:inline-flex;align-items:center;gap:7px;background:#ecfbf5;color:#08764e;padding:8px 10px;border-radius:10px;font-weight:800;font-size:12px}
@media(max-width:900px){
  .navlinks{display:none}
  .searchbox{grid-template-columns:1fr 1fr}
  .searchbox .btn{grid-column:1/-1}
  .trust{grid-template-columns:1fr 1fr}
  .destinations{grid-template-columns:1fr 1fr}
  .resultsgrid{grid-template-columns:1fr}
  .filters{position:static}
  .hotelcard{grid-template-columns:140px 1fr}
  .pricebox{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);align-items:flex-start;text-align:left}
  .detailgrid,.checkout{grid-template-columns:1fr}
}
@media(max-width:600px){
  .container{width:min(100% - 20px,1180px)}
  .navright span{display:none}
  .hero{padding:48px 0 64px}
  .hero h1{font-size:43px}
  .searchbox{grid-template-columns:1fr}
  .trust,.destinations,.formgrid{grid-template-columns:1fr}
  .hotelcard{grid-template-columns:1fr}
  .hotelimg{min-height:160px}
  .searchcompact{align-items:flex-start;flex-direction:column}
  .footergrid{grid-template-columns:1fr}
}
