.origin-panel{margin-top:26px;padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:18px}
.origin-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}
.origin-heading h1{font-size:clamp(1.6rem,3vw,2.2rem);max-width:680px;margin:6px 0 10px;letter-spacing:-.035em}
.origin-heading .pill{white-space:nowrap;margin-top:4px}
.origin-controls{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}
.origin-search{position:relative}
#originSearch{font-size:1.05rem;padding:12px}
.origin-options{position:absolute;top:82px;left:0;right:0;z-index:12;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 38px #14211f25;max-height:330px;overflow:auto;padding:5px}
.origin-options button{display:block;width:100%;padding:9px 12px;text-align:left;border:0;border-radius:6px;background:transparent;cursor:pointer}
.origin-options button:hover,.origin-options button:focus{background:var(--accent-soft)}
.origin-options button span{display:block;font-size:.82rem;color:var(--muted)}
.airport-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.airport-choice{display:flex;flex-direction:column;align-items:start;gap:5px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);text-align:left;cursor:pointer;min-width:0}
.airport-choice[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.airport-choice .code{font:700 1.2rem var(--font-display);color:var(--accent)}
.access-plan{display:flex;gap:18px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;flex-wrap:wrap}
.access-plan p{max-width:740px}
.access-plan .links{display:flex;gap:12px;font-size:.87rem;flex-wrap:wrap}
.route-strip{background:var(--accent-soft);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.route-path{font-weight:700;font-size:.9rem;overflow-wrap:anywhere}
.route-strip .route-path span{color:var(--accent);margin-inline:6px}
.route-strip .small{font-size:.8rem;color:var(--muted)}
.route-strip .links{display:flex;gap:14px;font-size:.85rem;flex-wrap:wrap;margin-top:6px}
.card .facts{margin-block:0}
.card .actions .btn{flex:1;justify-content:center}
@media(max-width:700px){.origin-panel{padding:18px;margin-top:18px}.origin-controls{grid-template-columns:minmax(0,1fr)}.origin-heading{display:block}.origin-heading .pill{margin-top:12px}.airport-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.airport-choice{padding:10px 8px;font-size:.8rem}.airport-choice .small{font-size:.75rem}.airport-choice .airport-name{display:none}.airport-choice .hint{font-size:.7rem}.airport-choices .airport-choice:nth-child(4){grid-column:1/-1}.origin-panel .hint{line-height:1.45}}
@media(prefers-reduced-motion:no-preference){.airport-choice,.btn{transition:background .15s,border-color .15s}.origin-panel{animation:arrive .35s ease-out}@keyframes arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}}
