/* Airport lounge finder */
.lg-warn { padding: 0; background: var(--cream); border-bottom: 1px solid var(--line); }
.lg-warn p { margin: 0; padding: 18px 0; font-size: .9rem; max-width: 90ch; }
.lg-filters { display: grid; grid-template-columns: 2fr repeat(4, 1fr); gap: 10px; margin-bottom: 14px; }
.lg-filters input, .lg-filters select { padding: 14px 14px; border: 1px solid var(--line); background: #fff; font: inherit; border-radius: 0; min-width: 0; }
.lg-chips { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.lg-chips button { font: 500 .7rem var(--sans); letter-spacing: .12em; text-transform: uppercase; background: none; border: 1px solid var(--line); padding: 10px 14px; cursor: pointer; }
.lg-chips button.on { background: var(--green-deep); color: #fff; border-color: var(--green-deep); }
.lg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 20px; }
.lg-card { background: #fff; border: 1px solid var(--line); border-top: 2px solid var(--gold); padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.lg-card.low { border-top-color: var(--line); }
.lg-card header { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.lg-card small { font: 600 .6rem/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gold-deep); }
.lg-card h3 { margin: 4px 0 0; font-size: 1.3rem; }
.lg-add { flex: none; font: 500 .62rem var(--sans); letter-spacing: .12em; text-transform: uppercase; background: none; border: 1px solid var(--gold-deep); color: var(--gold-deep); padding: 8px 10px; cursor: pointer; }
.lg-add.on { background: var(--gold); color: var(--night); border-color: var(--gold); }
.lg-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--line); }
.lg-col { padding: 14px; display: grid; gap: 2px; align-content: start; }
.lg-col + .lg-col { border-left: 1px solid var(--line); }
.lg-col span { font: 600 .58rem var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.lg-col b { font: 600 1.6rem/1.1 var(--serif); color: var(--green-deep); }
.lg-col em { font-style: normal; font-size: .74rem; color: var(--muted); }
.lg-col p { margin: 6px 0 0; font-size: .78rem; color: var(--muted); line-height: 1.4; }
.lg-col.none b { color: #b9b4a7; }
.lg-card.low .lg-col b { color: #6d7d72; }
.lg-meta { display: grid; gap: 6px; margin: 0; font-size: .82rem; }
.lg-meta > div { display: grid; grid-template-columns: 74px 1fr; gap: 8px; }
.lg-meta dt { color: var(--muted); } .lg-meta dd { margin: 0; }
.lg-note { margin: 0; font-size: .8rem; color: var(--muted); border-left: 2px solid var(--gold-light); padding-left: 10px; }
.lg-card footer { margin-top: auto; display: flex; justify-content: space-between; align-items: center; font-size: .74rem; }
.lg-badge { font: 600 .58rem var(--sans); letter-spacing: .14em; text-transform: uppercase; padding: 5px 8px; }
.lg-badge.ok { background: #E4EEE5; color: #1d5a2c; }
.lg-badge.lo { background: #F6E9CC; color: #7a5200; }
.lg-wallet { background: var(--green-deep); color: #EDE6D3; padding: 26px; margin-bottom: 30px; border-top: 2px solid var(--gold); }
.lg-wallet h2 { color: #fff; margin: 0; font-size: 1.5rem; }
.lg-wh { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.lg-clear { background: none; border: 0; color: var(--gold-light); cursor: pointer; text-decoration: underline; }
.lg-sum { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin-bottom: 18px; }
.lg-sum div { border: 1px solid rgba(255, 255, 255, .18); padding: 14px; }
.lg-sum b { display: block; font: 600 1.8rem/1 var(--serif); color: var(--gold-light); }
.lg-sum span { font-size: .76rem; color: #C9D5CC; }
.lg-wl { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 8px; }
.lg-wl li { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 10px 0; border-top: 1px solid rgba(255, 255, 255, .12); }
.lg-wl li span { grid-column: 1; font-size: .8rem; color: #C9D5CC; }
.lg-wl button { grid-row: 1 / 3; grid-column: 2; background: none; border: 0; color: #fff; font-size: 1.3rem; cursor: pointer; }
.lg-wallet .small { color: #C9D5CC; }
.lg-prog { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.lg-p { padding: 22px; border: 1px solid var(--line); border-left: 3px solid var(--gold); }
.lg-p h3 { margin: 0 0 8px; } .lg-p p { margin: 0 0 12px; font-size: .92rem; }
.lg-p dt { font: 600 .58rem var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--gold-deep); margin-top: 10px; }
.lg-p dd { margin: 3px 0 0; font-size: .85rem; color: var(--muted); }
.lg-air { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.lg-air div { padding: 16px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: grid; gap: 4px; background: #fff; }
.lg-air span { font-size: .82rem; color: var(--muted); }
.lg-tips { display: grid; gap: 10px; padding-left: 1.1em; max-width: 80ch; }
@media (max-width: 800px) { .lg-filters { grid-template-columns: 1fr 1fr; } .lg-filters input { grid-column: 1 / -1; } .lg-grid { grid-template-columns: 1fr; } }

.lg-countries { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 6px; margin-bottom: 8px; scrollbar-width: thin; }
.lg-countries button { flex: none; font: 500 .72rem var(--sans); letter-spacing: .12em; text-transform: uppercase; background: none; border: 1px solid var(--line); padding: 12px 16px; cursor: pointer; display: flex; gap: 8px; align-items: center; }
.lg-countries button i { font-style: normal; font-size: .68rem; color: var(--muted); }
.lg-countries button.pri { border-color: var(--gold); }
.lg-countries button.on { background: var(--green-deep); color: #fff; border-color: var(--green-deep); } .lg-countries button.on i { color: var(--gold-light); }
.lg-cnote { margin: 0 0 16px; font-size: .88rem; color: var(--muted); font-style: italic; }
.lg-cbar { display: flex; justify-content: space-between; align-items: center; margin: 4px 0 14px; }
.lg-cbar p { margin: 0; }
.lg-exp { font: 500 .68rem var(--sans); letter-spacing: .12em; text-transform: uppercase; background: none; border: 1px solid var(--gold-deep); color: var(--gold-deep); padding: 9px 14px; cursor: pointer; }
.lg-grid { display: grid; grid-template-columns: 1fr !important; gap: 10px; }
.lg-bank { background: #fff; border: 1px solid var(--line); }
.lg-bank[open] { border-color: var(--gold); }
.lg-bank summary { list-style: none; cursor: pointer; padding: 18px 56px 18px 22px; display: flex; justify-content: space-between; align-items: center; gap: 12px; position: relative; }
.lg-bank summary::-webkit-details-marker { display: none; }
.lg-bank summary::after { content: "+"; position: absolute; right: 22px; font: 300 1.6rem var(--serif); color: var(--gold-deep); }
.lg-bank[open] summary::after { content: "\2013"; }
.lg-bn { font: 600 1.3rem var(--serif); color: var(--green-deep); }
.lg-bm { font-size: .78rem; color: var(--muted); }
.lg-bg { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 16px; padding: 4px 22px 22px; }
@media (max-width: 800px) { .lg-bg { grid-template-columns: 1fr; padding: 4px 12px 16px; } .lg-bank summary { padding: 16px 48px 16px 16px; } }
