.lounge-essentials {
  display: grid;
  margin: 20px 0 0;
}

.lounge-essentials > div {
  display: grid;
  grid-template-columns: minmax(9rem, 1fr) minmax(0, 4fr);
  gap: 6px 24px;
  border-top: 1px solid var(--line);
  padding: 16px 0;
}

.lounge-essentials dt {
  grid-row: 1 / span 2;
  color: var(--primary);
  font-weight: 700;
}

.lounge-essentials dd {
  grid-column: 2;
  margin: 0;
  color: var(--text);
  line-height: 1.65;
}

.lounge-essentials dd + dd,
.lounge-airport-note {
  color: var(--muted);
}

.lounge-airport {
  margin-top: 12px;
  max-width: 42rem;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--soft);
}

.lounge-airport table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: .875rem;
  overflow-wrap: anywhere;
}

.lounge-airport caption {
  text-align: left;
  font-weight: 700;
}

.lounge-airport th,
.lounge-airport td {
  text-align: left;
  padding: 8px 5px;
  vertical-align: top;
}

.lounge-airport th:first-child {
  width: 23%;
}

.lounge-airport tbody tr {
  border-top: 1px solid var(--line);
}

.lounge-status {
  display: inline-block;
  font-weight: 600;
  color: var(--muted);
}

.lounge-status.is-yes { color: #17634b; }
.lounge-status.is-landside { color: #7b4b11; }
[data-theme="dark"] .lounge-status.is-yes { color: #99e3c2; }
[data-theme="dark"] .lounge-status.is-landside { color: #f5cf8f; }
.lounge-status.is-app { color: var(--primary); }
.lounge-airport-note { font-size: .875rem; margin: 7px 0 0; }
.lounge-access-checklist { padding: 0; margin: 0; list-style: none; }
.lounge-access-checklist li + li { margin-top: 6px; }
.lounge-access-checklist strong { margin-inline-end: .4em; }
.lounge-links .lounge-link { gap: .35em; }

@media (max-width: 600px) {
  .lounge-essentials > div { grid-template-columns: minmax(0, 1fr); gap: 5px; padding: 13px 0; }
  .lounge-essentials dt, .lounge-essentials dd { grid-column: 1; grid-row: auto; }
  .lounge-airport { padding-inline: 8px; }
  .lounge-airport table { font-size: .8125rem; }
  .lounge-airport th, .lounge-airport td { padding-inline: 4px; }
}
