diff --git a/src/pages/pilot-info.astro b/src/pages/pilot-info.astro
index 4baa25b..61c8f8a 100644
--- a/src/pages/pilot-info.astro
+++ b/src/pages/pilot-info.astro
@@ -5,6 +5,7 @@ import { getFuelPrices } from '../lib/directus';
import { site } from '../lib/site';
const runwayPattern = /^Runway\s+(\d+)\s+-\s+([^\s]+)\s+LDA\s+\(([^)]+)\)\s+Code\s+(\d+)\s+\(([^)]+)\)$/;
+const runwayHeaders = ['Runway', 'LDA', 'Surface', 'Code', 'Circuits'];
const runwayRows = site.runwayFacts
.map((fact) => {
@@ -114,11 +115,11 @@ When the Tower is unavailable, this will be NOTAMed and blind calls to Swansea T
{runwayRows.map((runway) => (
- | {runway.runway} |
- {runway.lda} |
- {runway.surface} |
- {runway.code} |
- {runway.circuits} |
+ {runway.runway} |
+ {runway.lda} |
+ {runway.surface} |
+ {runway.code} |
+ {runway.circuits} |
))}
diff --git a/src/styles/global.css b/src/styles/global.css
index a9dec57..12eb038 100644
--- a/src/styles/global.css
+++ b/src/styles/global.css
@@ -971,6 +971,97 @@ section {
}
.runway-facts-table {
- min-width: 38rem;
+ min-width: 0;
+ border: 0;
+ border-radius: 0;
+ background: transparent;
+ box-shadow: none;
+ }
+
+ .runway-table-wrap {
+ overflow: visible;
+ }
+
+ .runway-facts-table,
+ .runway-facts-table tbody,
+ .runway-facts-table tr,
+ .runway-facts-table td {
+ display: block;
+ width: 100%;
+ }
+
+ .runway-facts-table thead {
+ display: none;
+ }
+
+ .runway-facts-table tbody {
+ display: grid;
+ gap: 0.75rem;
+ }
+
+ .runway-facts-table tr {
+ display: grid;
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ gap: 0.5rem;
+ border: 1px solid var(--line);
+ border-radius: var(--radius-sm);
+ padding: 0.75rem;
+ background: rgba(255, 255, 255, 0.88);
+ box-shadow: 0 10px 22px rgba(16, 34, 51, 0.07);
+ }
+
+ .runway-facts-table tbody tr:nth-child(even),
+ .runway-facts-table tbody tr:hover {
+ background: rgba(255, 255, 255, 0.88);
+ }
+
+ .runway-facts-table td {
+ display: grid;
+ gap: 0.18rem;
+ min-height: 3.4rem;
+ padding: 0.62rem 0.7rem;
+ border: 1px solid rgba(16, 34, 51, 0.08);
+ border-radius: 0.7rem;
+ background: rgba(255, 255, 255, 0.72);
+ font-weight: 800;
+ line-height: 1.2;
+ white-space: normal;
+ }
+
+ .runway-facts-table td:first-child {
+ display: flex;
+ align-items: center;
+ gap: 0.45rem;
+ grid-column: 1 / -1;
+ min-height: 0;
+ padding: 0.85rem;
+ border: 0;
+ background: linear-gradient(180deg, rgba(11, 79, 122, 0.12), rgba(29, 118, 184, 0.07));
+ color: var(--text);
+ font-size: 1.08rem;
+ font-weight: 800;
+ }
+
+ .runway-facts-table td:first-child::before {
+ content: 'Runway';
+ color: var(--brand);
+ font-size: 0.78rem;
+ font-weight: 800;
+ letter-spacing: 0.04em;
+ text-transform: uppercase;
+ }
+
+ .runway-facts-table td:last-child {
+ border-bottom: 1px solid rgba(16, 34, 51, 0.08);
+ }
+
+ .runway-facts-table td::before {
+ content: attr(data-label);
+ color: var(--brand);
+ font-size: 0.68rem;
+ font-weight: 800;
+ letter-spacing: 0.04em;
+ line-height: 1;
+ text-transform: uppercase;
}
}