/* Autocomplete dropdown for the existing #afs-search-form */
.afs-airport-input-container { position: relative; }
.afs-autocomplete-dropdown { position: absolute; z-index: 50; left: 0; right: 0; top: 100%;
	margin-top: 4px; background: #fff; border: 1px solid #e6e8ee; border-radius: 10px;
	box-shadow: 0 8px 24px rgba(0,0,0,.1); display: none; max-height: 280px; overflow-y: auto; padding: 6px; }
.afs-autocomplete-dropdown.is-open { display: block; }
.afs-ac-item { display: grid; grid-template-columns: 48px 1fr; grid-template-rows: auto auto;
	gap: 0 10px; padding: 8px 10px; border-radius: 8px; cursor: pointer; align-items: center; }
.afs-ac-item:hover { background: #f2f6fe; }
.afs-ac-code { grid-row: 1 / 3; font-weight: 700; color: #1a73e8; font-size: 13px;
	background: #eef4ff; border-radius: 6px; text-align: center; padding: 6px 0; }
.afs-ac-name { font-size: 14px; color: #2b2f38; }
.afs-ac-sub { font-size: 12px; color: #8a90a0; }

/* Results */
.afs-results { margin-top: 22px; }
.afs-loading, .afs-empty { padding: 18px; text-align: center; color: #5a6072; background: #f7f9fc; border-radius: 10px; }
.afs-empty a, .afs-foot a { color: #1a73e8; font-weight: 600; text-decoration: none; }
.afs-results-head { font-size: 16px; font-weight: 700; color: #2b2f38; margin-bottom: 14px; }
.afs-results-head span { font-weight: 400; font-size: 13px; color: #8a90a0; }
.afs-card { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border: 1px solid #eef0f4;
	border-radius: 12px; margin-bottom: 12px; background: #fff; }
.afs-route { flex: 1; }
.afs-route strong { display: block; font-size: 16px; color: #2b2f38; }
.afs-meta { font-size: 13px; color: #8a90a0; }
.afs-price { font-size: 22px; font-weight: 800; color: #1a73e8; white-space: nowrap; }
.afs-from { font-size: 12px; font-weight: 500; color: #8a90a0; }
.afs-cta { background: #f7941d; color: #fff; padding: 10px 18px; border-radius: 999px; font-weight: 700;
	text-decoration: none; font-size: 14px; white-space: nowrap; }
.afs-cta:hover { background: #e07f0a; }
.afs-foot { font-size: 12px; color: #8a90a0; margin-top: 8px; text-align: center; }

@media (max-width: 620px) {
	.afs-card { flex-wrap: wrap; }
	.afs-price { order: 2; }
	.afs-cta { order: 3; margin-left: auto; }
}
