/* airport-lounge-locations: this tool's own look, loaded only on its page (tools.css is shared and kept under 5 KB gz) */
/* a phone sees the answer first (the form follows it), as on the lounge access checker */
@media (max-width: 859px) { .chqt[data-tool="airport-lounge-locations"] .chqt-result { order: -1; } }
.lm-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.lm-chips button { min-height: 44px; padding: 6px 14px; font-size: 16px; background: #fff; border: 1px solid var(--chqt-line); border-radius: 999px; color: var(--chqt-ink); cursor: pointer; }
.lm-chips button[aria-pressed="true"] { background: #d79d32; border-color: #d79d32; color: #1e1a1a; font-weight: 700; }
.lm-chips button[aria-pressed="true"]::before { content: "✓ "; }
.lm-chips button:focus-visible, .lm-list button:focus-visible { outline: 3px solid #d79d32; outline-offset: 2px; }
/* desktop: the picker and the map on the left, the answer and the airport panel on the right; the list below both */
@media (min-width: 860px) {
  .chqt[data-tool="airport-lounge-locations"] .chqt-form { grid-column: 1; grid-row: 1; }
  .chqt[data-tool="airport-lounge-locations"] .lm-map { grid-column: 1; grid-row: 2 / span 2; }
  .chqt[data-tool="airport-lounge-locations"] .chqt-result { grid-column: 2; grid-row: 1 / span 2; }
  .chqt[data-tool="airport-lounge-locations"] .lm-pick { grid-column: 2; grid-row: 3; }
}
.lm-lists { margin: 16px 0; }
.lm-map { margin: 0; }
.lm-map svg { display: block; width: 100%; height: auto; aspect-ratio: 825 / 508; cursor: pointer; }
.lm-states path { fill: #eceff1; stroke: #fff; stroke-width: 1; }
.lm-d-open { fill: #b5761c; stroke: #fff; stroke-width: 2; }
.lm-d-soon { fill: #fff; stroke: #b5761c; stroke-width: 3; }
.lm-d-pick { fill: none; stroke: #1e1a1a; stroke-width: 3; pointer-events: none; }
.lm-map figcaption { font-size: 14px; color: var(--chqt-muted); margin-top: 4px; }
.lm-k { display: inline-block; width: 12px; height: 12px; border-radius: 50%; vertical-align: -1px; margin-left: 6px; }
.lm-k-open { background: #b5761c; }
.lm-k-soon { border: 3px solid #b5761c; background: #fff; width: 8px; height: 8px; }
.lm-pick { border: 1px solid var(--chqt-line); border-left: 6px solid #b5761c; border-radius: 12px; padding: 10px 12px; background: #fff; font-size: 15px; line-height: 1.45; }
.lm-ph { margin: 0 0 6px; font-size: 17px; }
.lm-here { margin: 0 0 6px; padding: 0; list-style: none; }
.lm-here li { margin: 0 0 6px; }
.lm-here li.is-net b { color: #7a4f12; }
.lm-here span { margin-left: 6px; font-size: 14px; color: var(--chqt-muted); }
.lm-here small { display: block; color: var(--chqt-muted); font-size: 14px; }
.lm-none { margin: 0 0 4px; color: var(--chqt-muted); }
.lm-go { margin: 0; }
.lm-go a { display: inline-block; min-height: 44px; line-height: 44px; font-weight: 600; }
.lm-lh { font-size: 17px; margin: 12px 0 6px; }
.lm-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
@media (min-width: 640px) { .lm-list { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); } }
.lm-list > li { border: 1px solid var(--chqt-line); border-radius: 10px; padding: 2px 10px 6px; background: #fff; font-size: 15px; }
.lm-list button { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; width: 100%; min-height: 44px; padding: 6px 0; background: none; border: 0; text-align: left; font-size: 16px; color: var(--chqt-ink); cursor: pointer; }
.lm-code { font-size: 14px; color: var(--chqt-muted); }
.lm-list button[aria-pressed="true"] b { text-decoration: underline; text-decoration-thickness: 3px; text-decoration-color: #d79d32; }
.lm-list ul { margin: 0; padding-left: 1.1em; }
.lm-list small { color: var(--chqt-muted); font-size: 14px; }
.lm-list small::before { content: "· "; }
.lm-soon { font-style: normal; font-size: 13px; font-weight: 600; padding: 1px 8px; border-radius: 999px; background: #fcf3d6; color: #6b4b00; }
.lm-abroad { margin: 0; font-size: 15px; }
.lm-src { font-size: 15px; }
.lm-src a { display: inline-block; min-height: 44px; line-height: 44px; }
.lm-list .lm-gets { display: block; margin-left: 0; font-size: 14px; color: var(--chqt-muted); }
.lm-list small.lm-gets::before { content: none; }
