/**
 * Cafés index — ported from the live Astro site (src/pages/cafes/index.astro and its
 * components). GENERATED: each component's <style> copied verbatim, every
 * selector prefixed with .cafes-page to reproduce Astro's scoped-CSS specificity.
 * Do not restyle here without changing the Astro reference first.
 * Regenerate with: python3 tools/port-css.py cafes
 */

/* === Page — every assessed café ======================================== */
	.cafes-page .cafes-top { padding-top: 72px; }
	.cafes-page .ed { margin-top: 56px; }
	.cafes-page .ed__h { display: flex; align-items: baseline; justify-content: space-between; gap: 20px;
		margin: 0 0 4px; font-weight: 400; font-size: clamp(20px, 2.2vw, 28px); }
	.cafes-page .ed__h a { text-decoration: none; }
	.cafes-page .ed__h span { font-size: 11px; letter-spacing: 0.2em; color: var(--g-muted); }
	.cafes-page .tbl { border-top: 1px solid var(--g-ink); }
	.cafes-page .tbl__row { display: grid; grid-template-columns: 48px minmax(0, 1.3fr) minmax(0, 1fr) auto;
		gap: 22px; align-items: baseline; padding: 20px 0; text-decoration: none;
		border-bottom: 1px solid var(--g-hair-2); }
	.cafes-page .tbl__n { font-size: 11px; color: var(--g-muted); font-variant-numeric: tabular-nums; }
	.cafes-page .tbl__name { font-size: clamp(17px, 1.7vw, 22px); }
	.cafes-page .tbl__place { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--g-muted); }
	.cafes-page .tbl__score { font-size: 20px; color: var(--g-matcha); font-variant-numeric: tabular-nums; }
	@media (max-width: 640px) {
		.cafes-page .tbl__row { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 14px; }
		.cafes-page .tbl__n { display: none; }
		.cafes-page .tbl__place { grid-column: 1; }
		.cafes-page .tbl__score { grid-row: 1 / 3; grid-column: 2; align-self: center; }
	}
