* { box-sizing: border-box; }
body { margin:0; padding:16px; font-family:system-ui,sans-serif; background:#f4f6f9; color:#222; }
.container { max-width:1100px; margin:0 auto; }
h1,h2,h3 { margin-top:0; }

form {
    background:#fff; padding:16px; border-radius:10px;
    box-shadow:0 4px 10px rgba(0,0,0,0.05);
}

label { display:block; margin-top:12px; font-weight:600; }
input, select, button { width:100%; padding:12px; margin-top:6px; font-size:16px; border-radius:6px; border:1px solid #ccc; }
button { margin-top:20px; background:#0066ff; color:#fff; border:none; font-weight:700; }
button:hover { background:#0052cc; cursor:pointer; }
hr { margin:24px 0; border:none; border-top:1px solid #eee; }

/* Flight Results Grid */
.results-grid { display:grid; grid-template-columns:1fr; gap:16px; margin-top:20px; }
.flight-card { background:#fff; border-radius:12px; padding:16px; box-shadow:0 6px 14px rgba(0,0,0,0.06); display:flex; flex-direction:column; gap:10px; }
.flight-price { font-size:24px; font-weight:800; color:#0066ff; }
.flight-row { display:flex; justify-content:space-between; font-size:15px; }
.flight-row span { color:#666; }
.book-btn { margin-top:12px; padding:14px; text-align:center; background:#0066ff; color:#fff; border-radius:8px; font-weight:700; text-decoration:none; }
.book-btn:hover { background:#0052cc; }

/* Responsive Grid */
@media (min-width:768px) { .results-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px) { .results-grid { grid-template-columns:repeat(3,1fr); } }

/* Autocomplete */
.autocomplete-list { position:absolute; background:#fff; border:1px solid #ddd; border-radius:8px; max-height:240px; overflow-y:auto; width:100%; z-index:1000; box-shadow:0 8px 20px rgba(0,0,0,0.08); }
.autocomplete-item { padding:10px 12px; cursor:pointer; font-size:14px; }
.autocomplete-item:hover { background:#f0f4ff; }