:root{--bg:#f4f6fb;--surface:#fff;--border:#e5e8f0;--text:#1a2233;--muted:#6b7488;--primary:#1d4ed8;--primary-dark:#1e3a8a;--accent:#f97316;--success:#16a34a;--radius:14px;--shadow:0 1px 3px #141e3c0f, 0 8px 24px #141e3c0f}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Noto Sans Thai,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.site-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:16px;padding:14px 24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;border-radius:9px;place-items:center;width:34px;height:34px;font-size:18px;font-weight:800;display:grid}.brand-name{letter-spacing:-.02em;font-size:20px;font-weight:800}.brand-tag{color:var(--muted);font-size:14px}.site-footer{text-align:center;max-width:1080px;color:var(--muted);margin:48px auto 24px;padding:0 24px;font-size:14px}.site-footer .muted{opacity:.8;font-size:13px}.hero{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;text-align:center;padding:56px 24px 88px}.hero h1{letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(26px,4vw,40px)}.hero p{opacity:.92;max-width:560px;margin:0 auto;font-size:16px}.search-wrap{max-width:1000px;margin:-56px auto 0;padding:0 24px}.search-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:end;gap:12px;padding:18px;display:grid}@media (max-width:760px){.search-card{grid-template-columns:1fr 1fr}.search-card .field-destination,.search-card .submit-cell{grid-column:1/-1}}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);font-size:13px;font-weight:600}.field input,.field select{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:10px;padding:11px 12px;font-family:inherit;font-size:15px}.field input:focus,.field select:focus{outline:2px solid var(--primary);outline-offset:0;border-color:var(--primary)}.btn-search{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;height:44px;padding:12px 22px;font-size:15px;font-weight:700}.btn-search:hover{filter:brightness(.95)}.chips{flex-wrap:wrap;align-items:center;gap:8px;max-width:1000px;margin:16px auto 0;padding:0 24px;display:flex}.chips .chips-label{color:var(--muted);font-size:14px}.chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:14px}.chip:hover{border-color:var(--primary);color:var(--primary)}.results{max-width:1000px;margin:32px auto;padding:0 24px}.results-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.results-head h2{margin:0;font-size:22px}.results-head .count{color:var(--muted);font-size:15px}.hotel-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:200px 1fr 260px;gap:0;margin-bottom:16px;display:grid;overflow:hidden}@media (max-width:760px){.hotel-card{grid-template-columns:1fr}}.hotel-photo{color:#ffffffe6;place-items:center;min-height:170px;font-size:44px;font-weight:800;display:grid}.hotel-body{padding:18px 20px}.hotel-name{margin:0 0 4px;font-size:19px;font-weight:700}.hotel-loc{color:var(--muted);margin:0 0 10px;font-size:14px}.stars{color:#f5b301;letter-spacing:1px;font-size:14px}.rating{align-items:center;gap:8px;margin-top:10px;display:inline-flex}.rating .score{background:var(--primary);color:#fff;border-radius:8px;padding:3px 9px;font-size:14px;font-weight:700}.rating .reviews{color:var(--muted);font-size:13px}.offers{flex-direction:column;gap:5px;margin-top:14px;display:flex}.offer-row{color:var(--muted);justify-content:space-between;font-size:13px;display:flex}.offer-row .p{font-variant-numeric:tabular-nums}.hotel-price{border-left:1px solid var(--border);text-align:right;background:#fafbfe;flex-direction:column;justify-content:center;align-items:stretch;padding:18px 20px;display:flex}@media (max-width:760px){.hotel-price{border-left:none;border-top:1px solid var(--border);text-align:left}}.hotel-price .from{color:var(--muted);font-size:13px}.hotel-price .amount{color:var(--text);font-variant-numeric:tabular-nums;font-size:28px;font-weight:800}.hotel-price .per{color:var(--muted);margin-bottom:12px;font-size:13px}.hotel-price .best-provider{color:var(--success);margin-bottom:10px;font-size:13px;font-weight:600}.btn-book{background:var(--accent);color:#fff;text-align:center;border-radius:10px;padding:12px 16px;font-weight:700;display:block}.btn-book:hover{filter:brightness(.95)}.empty{text-align:center;color:var(--muted);padding:60px 20px}
