/* TfL line colors */
:root {
  --tfl-bakerloo:#B26300; --tfl-bakerloo-text:#fff;
  --tfl-central:#DC241F; --tfl-central-text:#fff;
  --tfl-circle:#FFC80A; --tfl-circle-text:#000;
  --tfl-district:#007D32; --tfl-district-text:#fff;
  --tfl-hammersmith:#F589A6; --tfl-hammersmith-text:#000;
  --tfl-jubilee:#838D93; --tfl-jubilee-text:#fff;
  --tfl-metropolitan:#9B0058; --tfl-metropolitan-text:#fff;
  --tfl-northern:#000000; --tfl-northern-text:#fff;
  --tfl-piccadilly:#0019A8; --tfl-piccadilly-text:#fff;
  --tfl-victoria:#039BE5; --tfl-victoria-text:#000;
  --tfl-waterloo-city:#76D0BD; --tfl-waterloo-city-text:#000;
  --tfl-elizabeth:#60399E; --tfl-elizabeth-text:#fff;
  --tfl-dlr:#00AFAD; --tfl-dlr-text:#fff;
  --tfl-tram:#5FB526; --tfl-tram-text:#000;
  --tfl-overground:#FA7B05; --tfl-overground-text:#000;
}

/* Line classes */
.line-bakerloo{--line:var(--tfl-bakerloo);--line-text:var(--tfl-bakerloo-text)}
.line-central{--line:var(--tfl-central);--line-text:var(--tfl-central-text)}
.line-circle{--line:var(--tfl-circle);--line-text:var(--tfl-circle-text)}
.line-district{--line:var(--tfl-district);--line-text:var(--tfl-district-text)}
.line-hammersmith-city{--line:var(--tfl-hammersmith);--line-text:var(--tfl-hammersmith-text)}
.line-jubilee{--line:var(--tfl-jubilee);--line-text:var(--tfl-jubilee-text)}
.line-metropolitan{--line:var(--tfl-metropolitan);--line-text:var(--tfl-metropolitan-text)}
.line-northern{--line:var(--tfl-northern);--line-text:var(--tfl-northern-text)}
.line-piccadilly{--line:var(--tfl-piccadilly);--line-text:var(--tfl-piccadilly-text)}
.line-victoria{--line:var(--tfl-victoria);--line-text:var(--tfl-victoria-text)}
.line-waterloo-city{--line:var(--tfl-waterloo-city);--line-text:var(--tfl-waterloo-city-text)}
.line-elizabeth{--line:var(--tfl-elizabeth);--line-text:var(--tfl-elizabeth-text)}
.line-dlr{--line:var(--tfl-dlr);--line-text:var(--tfl-dlr-text)}
.line-tram,.line-trams{--line:var(--tfl-tram);--line-text:var(--tfl-tram-text)}
.line-overground{--line:var(--tfl-overground);--line-text:var(--tfl-overground-text)}

/* Station line cards */
.tube-station-lines-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

@media (max-width: 576px) {
  .tube-station-lines-grid {
    grid-template-columns: 1fr;
  }
}

.line-card {
  border: 2px solid var(--line, rgba(16,24,40,.12));
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 30px rgba(16,24,40,.06);
}

.line-card__head {
  padding: .7rem .9rem;
  background: var(--line, #152D75);
  color: var(--line-text, #fff);
}

.line-card__title {
  margin: 0;
  font-weight: 800;
  font-size: 1rem;
}

.line-card__body {
  padding: .85rem .9rem;
  background: #fff;
}

.line-card__meta {
  margin: 0;
  color: rgba(16,24,40,.68);
  font-size: .92rem;
}



.line-card__head,
.line-card__head h4,
.line-card__head .line-card__title {
    color: var(--line-text, #fff) !important;
}


.line-card__head {
    background: var(--line, #152D75);
}



.tube-line-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tube-line-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 130px;
  padding: .45rem .8rem;
  border-radius: 999px;
  font-weight: 800;
  font-size: .95rem;
  background: var(--line, #152D75);
  color: var(--line-text, #fff) !important;
  box-shadow: 0 6px 18px rgba(16,24,40,.10);
}

.tube-line-badge,
.tube-line-badge * {
  color: var(--line-text, #fff) !important;
}