diff --git a/nextjs-app/components/HomeView.module.css b/nextjs-app/components/HomeView.module.css index 9641f41..cb10582 100644 --- a/nextjs-app/components/HomeView.module.css +++ b/nextjs-app/components/HomeView.module.css @@ -1361,3 +1361,35 @@ grid-template-columns: repeat(2, 1fr); } } + +/* On phones the 2×2 grid cramped each chip so badly the "Secondary · + Deadline" track label dropped to 9.6px. Switch to a horizontal + snap-scroller — each card is full-width-ish and stays readable, + and the rightmost card peeks past the edge to signal there's more. */ +@media (max-width: 640px) { + .countdownRail { + display: flex; + grid-template-columns: none; + overflow-x: auto; + scroll-snap-type: x mandatory; + scrollbar-width: none; + gap: 0.75rem; + padding-right: 1.25rem; + margin-inline: -1rem; + padding-inline: 1rem; + -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent); + mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent); + } + .countdownRail::-webkit-scrollbar { + display: none; + } + .countdownChip { + flex: 0 0 auto; + width: 78%; + min-width: 220px; + scroll-snap-align: start; + } + .chipTrack { + font-size: 0.7rem; + } +} diff --git a/nextjs-app/components/MetricTooltip.module.css b/nextjs-app/components/MetricTooltip.module.css index a11b84f..22324f6 100644 --- a/nextjs-app/components/MetricTooltip.module.css +++ b/nextjs-app/components/MetricTooltip.module.css @@ -81,3 +81,13 @@ width: 180px; } } + +/* On phones the icon was rendering at ~9px and the tooltip relied on + :hover, which doesn't fire on touch. Rather than build a tap-to-show + layer with backdrop dismissal, hide the helper entirely — the metric + labels themselves carry the meaning. */ +@media (max-width: 640px) { + .wrapper { + display: none; + } +} diff --git a/nextjs-app/components/RankingsView.module.css b/nextjs-app/components/RankingsView.module.css index c12c452..0a392c5 100644 --- a/nextjs-app/components/RankingsView.module.css +++ b/nextjs-app/components/RankingsView.module.css @@ -396,6 +396,16 @@ min-width: 60px; } + /* Long metric labels like "Reading, Writing & Maths Combined %" used to + force the whole column wide; let them wrap onto 2 short lines with a + tighter font so the value cell can stay compact. */ + .valueHeader { + font-size: 0.625rem; + white-space: normal; + line-height: 1.15; + letter-spacing: 0.03em; + } + .rankHeader { width: 40px; } diff --git a/nextjs-app/components/SchoolDetailView.module.css b/nextjs-app/components/SchoolDetailView.module.css index 56b0154..3f42cd8 100644 --- a/nextjs-app/components/SchoolDetailView.module.css +++ b/nextjs-app/components/SchoolDetailView.module.css @@ -1077,6 +1077,20 @@ min-width: 100%; } + /* Collapse the "Ofsted pending / No inspection on record" empty state + into a single compact line on phones — it's a non-result, not worth + a full hero card. */ + .heroChip[data-ofsted-state="none"] { + padding: 0.5rem 0.75rem; + } + .heroChip[data-ofsted-state="none"] .heroChipSub { + display: none; + } + .heroChip[data-ofsted-state="none"] .heroChipTitle { + font-size: 0.85rem; + color: var(--text-muted, #6d685f); + } + .heroStats { gap: 1rem 1.5rem; } diff --git a/nextjs-app/components/SchoolDetailView.tsx b/nextjs-app/components/SchoolDetailView.tsx index ed18a5e..23e98f6 100644 --- a/nextjs-app/components/SchoolDetailView.tsx +++ b/nextjs-app/components/SchoolDetailView.tsx @@ -295,7 +295,10 @@ export function SchoolDetailView({ {/* Hero signal chip strip */}