
/* ==== Base layout ==== */
:root{
  --bg:#f7f7fb;
  --card:#ffffff;
  --border:#e6e8f0;
  --muted:#666;
  --pill:#eef2ff;
  --ink:#111;
  --band:#f3f6ff;
}
*{box-sizing:border-box}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  margin:24px;background:var(--bg);color:var(--ink);
}
header{margin-bottom:16px}
h1{font-size:20px;margin:0 0 8px}
.note{font-size:12px;color:#555}

/* ==== Form ==== */
form{
  display:grid;gap:12px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  background:var(--card);padding:16px;border-radius:16px;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
}
label{font-size:12px;color:#333;display:block;margin-bottom:6px}
input,button{width:100%;padding:10px;border-radius:10px;border:1px solid #ddd;background:#fff}
input[list]::-webkit-calendar-picker-indicator{display:none}
button{cursor:pointer;border:0;box-shadow:0 1px 3px rgba(0,0,0,.05)}
button.primary{background:#111;color:#fff}
.row-span{grid-column:1 / -1}

/* ==== Results layout ==== */
.results{margin-top:18px;display:grid;gap:16px}
.section{background:var(--card);padding:16px;border-radius:16px;box-shadow:0 2px 10px rgba(0,0,0,.06);margin-top:16px}
.cards{display:grid;gap:24px;grid-template-columns: repeat(auto-fit, minmax(320px, 1fr))}

/* ==== Clearer option cards ==== */
.card{border:1px solid var(--border);border-radius:14px;background:#fff;overflow:hidden}
.card-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;background:var(--band);border-bottom:1px solid var(--border);
}
.card-title{font-weight:700;font-size:13px;color:#223;letter-spacing:.2px}
.card-price{font-weight:800}
.card-body{padding:12px;background:#fff}
.grid-2{display:grid;grid-template-columns: repeat(2, minmax(0,1fr));gap:10px}
.price{font-weight:700}
.error{color:#8b0000}

/* ==== Flight leg rows ==== */
.flight-leg{display:flex;gap:12px;align-items:flex-start;border-top:1px dashed #e6e6e6;padding-top:10px;margin-top:10px}
.airline{display:flex;gap:8px;align-items:center}
.airline img{width:24px;height:24px;object-fit:contain}
.meta{font-size:12px;color:#555;display:flex;gap:8px;flex-wrap:wrap}
.pill{font-size:11px;padding:4px 8px;border-radius:999px;background:var(--pill)}
.airport-hero{display:grid;grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));gap:10px}
.airport-card{background:#fafafa;border:1px solid #eee;border-radius:14px;padding:12px}
.airport-card img{width:100%;height:120px;object-fit:cover;border-radius:10px}
.tiny{font-size:11px;color:#555}
.flex{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;background:#111;color:#fff;padding:2px 6px;border-radius:6px;font-size:12px}
.footer{margin-top:20px;font-size:12px;color:#666}
.spinner{display:inline-block;width:16px;height:16px;border:2px solid #ccc;border-top-color:#111;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-3px}
@keyframes spin{to{transform:rotate(360deg)}}
details summary{cursor:pointer}
.legend{font-size:12px;color:#666}
