/* ==========================================================================
   Tokyo Metro Guide — page-tokyo-metro.php
   ========================================================================== */

.metro-page { overflow-x: clip; }

/* header: no bottom padding so the full-bleed map docks against it */
.metro-page .metro-header { padding-bottom: 2.2rem; }

/* header stats strip */
.metro-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 30px;
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 1.1rem 0 0;
	border-top: 1px solid rgba(26, 23, 20, .12);
}
.metro-stats li {
	font: 500 .82rem/1.4 var(--sans);
	color: var(--ink3);
}
.metro-stats strong {
	display: block;
	font: 600 1.55rem/1.15 var(--serif);
	color: var(--ink);
}

/* ── full-bleed interactive map: edge to edge, no gaps ─────────────────── */
.metro-map-bleed {
	margin-inline: calc(50% - 50vw);
	line-height: 0; /* kill inline-gap below the map container */
}
.metro-map-bleed .ttt-map {
	border-radius: 0;
	box-shadow: none;
	max-height: none;
	line-height: 1.4;
}

/* ── map caption bar: part of the full-bleed map unit ───────────────────── */
.metro-map-caption {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	max-width: none; /* the theme caps <p> width; this bar must span the bleed */
	margin: 0;
	padding: 11px 20px;
	background: var(--ink);
	color: rgba(255, 255, 255, .85);
	font: 500 .8rem/1.5 var(--sans);
	text-align: center;
}
.metro-map-caption svg { flex: 0 0 auto; opacity: .7; }
@media (max-width: 640px) {
	.metro-map-caption { font-size: .72rem; gap: 7px; padding: 10px 14px; }
}

/* ── editor content (below all cards, above FAQ) ────────────────────────── */
/* plain article prose like other templates; the section-bg-p band separates
   it from the tips section above */
.metro-content-inner { max-width: 820px; margin-inline: auto; }
.metro-editor-content { margin-top: 1.6rem; }
.metro-editor-content > :first-child { margin-top: 0; }

/* WYSIWYG media & tables — ported from single-post-day-trip.css so classic
   editor output looks identical to other post templates. !important mirrors
   the day-trip sheet: it must beat WP's inline width on figure.wp-caption. */

/* base inline images */
.metro-editor-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--r2);
	margin: 1.5rem 0;
}

/* uncaptioned full-size centered images — bleed beyond the text column */
.metro-editor-content img.aligncenter.size-full {
	--_bleed: 30%;
	display: block !important;
	width: calc(100% + var(--_bleed)) !important;
	max-width: none !important;
	margin: 2.5rem calc(-1 * (var(--_bleed) / 2)) !important;
	height: auto !important;
	border-radius: var(--r2) !important;
	border: 1px solid var(--p2) !important;
	box-shadow: 0 4px 16px rgba(26, 23, 20, .10), 0 1px 3px rgba(26, 23, 20, .08) !important;
}

/* captioned images (figure.wp-caption) — card with caption bar */
.metro-editor-content figure.wp-caption {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 2.5rem 0 !important;
	border-radius: var(--r2) !important;
	border: 1px solid var(--p2) !important;
	box-shadow: 0 4px 16px rgba(26, 23, 20, .10), 0 1px 3px rgba(26, 23, 20, .08) !important;
	overflow: hidden !important;
}
.metro-editor-content figure.wp-caption.aligncenter {
	--_bleed: 30%;
	width: calc(100% + var(--_bleed)) !important;
	margin-left: calc(-1 * (var(--_bleed) / 2)) !important;
	margin-right: calc(-1 * (var(--_bleed) / 2)) !important;
}
.metro-editor-content figure.wp-caption img {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
	border-radius: 0 !important;
	border: none !important;
	box-shadow: none !important;
}
.metro-editor-content figure.wp-caption .wp-caption-text {
	margin: 0 !important;
	padding: 0.6rem 1rem 0.7rem !important;
	font-size: 0.8125rem !important;
	color: var(--p3) !important;
	background: var(--w) !important;
	border-top: 1px solid var(--p2) !important;
	text-align: left !important;
	line-height: 1.5 !important;
}

/* mobile: collapse the bleed */
@media (max-width: 768px) {
	.metro-editor-content img.aligncenter.size-full,
	.metro-editor-content figure.wp-caption.aligncenter {
		--_bleed: 0%;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		border-radius: var(--r1) !important;
	}
}

/* prose tables — white card matching this page's fares table (the prose sits
   on the --p band, so the day-trip's --p table background would vanish) */
.metro-editor-content table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 0.9rem;
	line-height: 1.6;
	margin: 1.8rem 0;
	background: #fff;
	border-radius: var(--r2);
	overflow: hidden;
	box-shadow: var(--sh-sm);
}
.metro-editor-content th,
.metro-editor-content th strong {
	padding: 0.8rem 1.1rem;
	background: var(--ink);
	color: #fff;
	font: 700 0.72rem/1.3 var(--sans);
	letter-spacing: 0.07em;
	text-transform: uppercase;
	text-align: left;
}
.metro-editor-content td {
	padding: 0.75rem 1.1rem;
	color: var(--ink3);
	vertical-align: top;
	border-bottom: 1px solid rgba(26, 23, 20, .07);
}
.metro-editor-content td:first-child {
	font-weight: 600;
	color: var(--ink);
}
.metro-editor-content tbody tr:nth-child(even) td { background: var(--w); }
.metro-editor-content tr:last-child td { border-bottom: none; }
.metro-editor-content td a { color: var(--r); }
.metro-editor-content td a:hover { color: var(--rd); }
@media (max-width: 480px) {
	.metro-editor-content table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* blockquote + hr, same voice as day-trip prose */
.metro-editor-content blockquote {
	border-left: 3px solid var(--r);
	padding-left: 1.5rem;
	margin: 1.5rem 0;
	font-style: italic;
	color: var(--ink3);
}
.metro-editor-content hr {
	border: 0;
	border-top: 1px solid var(--p2);
	margin: 2.5rem 0;
}

/* section intro line under titles */
.metro-sec-intro {
	margin: 0.4rem 0 0;
	max-width: 640px;
	font-size: .92rem;
	line-height: 1.6;
	color: var(--ink3);
}

/* ── line legend ────────────────────────────────────────────────────────── */
.metro-lines-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
	gap: 14px;
	margin-top: 1.8rem;
}
.metro-line-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	background: #fff;
	border: 1px solid rgba(26, 23, 20, .08);
	border-radius: var(--r2);
	padding: 15px 16px 15px 19px;
	box-shadow: var(--sh-sm);
	overflow: hidden;
	transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease);
}
.metro-line-card::before {
	content: '';
	position: absolute;
	inset: 0 auto 0 0;
	width: 5px;
	background: var(--line-color, var(--r));
}
.metro-line-card:hover { transform: translateY(-2px); box-shadow: var(--sh-md); }
.metro-line-badge {
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font: 800 1.05rem/1 var(--cond);
	color: #fff;
	background: var(--line-color, var(--r));
	text-shadow: 0 1px 2px rgba(0, 0, 0, .3);
}
.metro-line-name { margin: 0; font: 600 .98rem/1.25 var(--serif); color: var(--ink); }
.metro-line-meta { margin: 3px 0 0; font-size: .78rem; color: var(--ink3); }

/* ── fares table ────────────────────────────────────────────────────────── */
.metro-table-scroll { overflow-x: auto; margin-top: 1.8rem; }
.metro-table {
	width: 100%;
	max-width: 760px;
}
.metro-table--fares {
	max-width: none;
	border-collapse: collapse;
	background: #fff;
	border-radius: var(--r2);
	overflow: hidden;
	box-shadow: var(--sh-sm);
}
.metro-table th,
.metro-table td {
	padding: 13px 18px;
	text-align: left;
	font-size: .9rem;
	border-bottom: 1px solid rgba(26, 23, 20, .07);
}
.metro-table th {
	background: var(--ink);
	color: #fff;
	font: 700 .7rem/1.3 var(--sans);
	letter-spacing: .08em;
	text-transform: uppercase;
}
.metro-table td:nth-child(2),
.metro-table td:nth-child(3) { font-weight: 600; white-space: nowrap; }
.metro-table tbody tr:last-child td { border-bottom: 0; }
.metro-table tbody tr:nth-child(even) td { background: var(--w); }
.metro-note { margin-top: 1rem; max-width: 720px; font-size: .8rem; line-height: 1.55; color: var(--ink3); }

/* ── hours cards ────────────────────────────────────────────────────────── */
.metro-hours-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
	margin-top: 1.8rem;
	max-width: 920px;
}
.metro-hour-card {
	background: #fff;
	border: 1px solid rgba(26, 23, 20, .08);
	border-radius: var(--r2);
	padding: 22px 18px;
	text-align: center;
	box-shadow: var(--sh-sm);
}
.metro-hour-value {
	display: block;
	font: 600 1.5rem/1.2 var(--serif);
	color: var(--r);
}
.metro-hour-label {
	display: block;
	margin-top: 6px;
	font: 700 .66rem/1.3 var(--sans);
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--ink3);
}

/* ── downloadable PDFs ──────────────────────────────────────────────────── */
.metro-downloads-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 14px;
	margin-top: 1.8rem;
}
.metro-page a.metro-download-card {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #fff;
	border: 1px solid rgba(26, 23, 20, .1);
	border-radius: var(--r2);
	padding: 16px 18px;
	text-decoration: none;
	box-shadow: var(--sh-sm);
	transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), border-color var(--t) var(--ease);
}
.metro-page a.metro-download-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--sh-md);
	border-color: rgba(193, 40, 26, .35);
}
.metro-download-icon {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: var(--r1);
	background: var(--rt);
	color: var(--rd);
	display: flex;
	align-items: center;
	justify-content: center;
}
.metro-download-body { flex: 1; min-width: 0; }
.metro-download-label {
	display: block;
	font: 600 .92rem/1.3 var(--sans);
	color: var(--ink);
}
.metro-download-meta {
	display: block;
	margin-top: 3px;
	font: 700 .66rem/1 var(--sans);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ink3);
}
.metro-download-arrow {
	flex: 0 0 auto;
	font-size: 1.1rem;
	color: var(--r);
	transition: transform var(--t) var(--ease);
}
.metro-page a.metro-download-card:hover .metro-download-arrow { transform: translateY(3px); }

/* ── passes ─────────────────────────────────────────────────────────────── */
.metro-passes-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 16px;
	margin-top: 1.8rem;
}
.metro-pass-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid rgba(26, 23, 20, .08);
	border-radius: var(--r2);
	padding: 20px;
	box-shadow: var(--sh-sm);
	transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease);
}
.metro-pass-card:hover { transform: translateY(-2px); box-shadow: var(--sh-md); }
.metro-pass-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.metro-pass-name { margin: 0; font: 600 1.05rem/1.3 var(--serif); color: var(--ink); }
.metro-pass-badge {
	flex: 0 0 auto;
	font: 700 .6rem/1 var(--sans);
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--rd);
	background: var(--rt);
	border-radius: var(--rp);
	padding: 5px 9px;
}
.metro-pass-tagline { margin: .6rem 0 0; font-size: .85rem; line-height: 1.55; color: var(--ink3); flex: 1; }
.metro-pass-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 1.1rem;
}
.metro-pass-price { font: 700 .9rem/1 var(--sans); color: var(--ink); }
.metro-page a.metro-pass-cta {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font: 700 .8rem/1 var(--sans);
	color: #fff;
	background: #ff5722;
	border-radius: var(--rp);
	padding: 11px 16px;
	text-decoration: none;
	transition: background var(--t) var(--ease);
	white-space: nowrap;
}
.metro-page a.metro-pass-cta:hover { background: #e64a19; color: #fff; }
.metro-disclosure { margin-top: 1.1rem; font-size: .72rem; color: var(--ink3); opacity: .8; }

/* ── tips ───────────────────────────────────────────────────────────────── */
.metro-tips-list {
	margin: 1.8rem 0 0;
	padding: 0;
	list-style: none;
	max-width: 820px;
	display: grid;
	gap: 10px;
}
.metro-tips-list li {
	position: relative;
	padding: 14px 18px 14px 46px;
	background: #fff;
	border: 1px solid rgba(26, 23, 20, .08);
	border-radius: var(--r1);
	font-size: .92rem;
	line-height: 1.55;
	color: var(--ink2);
	box-shadow: var(--sh-sm);
}
.metro-tips-list li::before {
	content: '';
	position: absolute;
	left: 18px;
	top: 19px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--r);
	mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="black" d="M6.5 12.5l-4-4 1.4-1.4 2.6 2.6 5.6-5.6L13.5 5.5z"/></svg>') center / contain no-repeat;
}

/* faq uses the theme's shared .faq-list component (single-post.css/js) */
.metro-faq .faq-list { margin-top: 1.8rem; max-width: 820px; }

/* share bar spacing at page end (component styles come from single-post.css) */
.metro-share { margin-top: 0; }

/* ── responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
	.metro-stats { gap: 8px 22px; }
	.metro-stats strong { font-size: 1.28rem; }
	.metro-table th, .metro-table td { padding: 10px 12px; font-size: .82rem; }
	.metro-map-hint { font-size: .8rem; }
}

/* ══════════════════════════════════════════════════════════════════════════
   2026-08-26 additions: header deco, answer-first blocks, section nav,
   fare booking partners, how-to steps, sources, map-panel spacing
   ══════════════════════════════════════════════════════════════════════════ */

/* header two-column layout + kanji deco (neighborhood-archive.css is not
   loaded on this template) */
.metro-page .archive-header-inner {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}
.metro-page .archive-header-deco {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 240px;
	overflow: hidden;
}
.metro-page .neighborhood-kanji-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: .5rem 1rem;
	width: 100%;
	align-items: center;
	text-align: center;
}
.metro-page .nk {
	font-family: var(--jp);
	font-weight: 300;
	color: var(--r);
	line-height: 1.2;
	letter-spacing: .05em;
	white-space: nowrap;
}
.metro-page .nk--sm { font-size: clamp(1rem, 2vw, 1.5rem); }
.metro-page .nk--md { font-size: clamp(1.4rem, 2.8vw, 2.2rem); }
.metro-page .nk--lg { font-size: clamp(1.8rem, 3.5vw, 2.8rem); }
.metro-page .nk--xl { font-size: clamp(2.2rem, 4.5vw, 3.6rem); }
.metro-page .nk:nth-child(odd)  { opacity: .22; }
.metro-page .nk:nth-child(even) { opacity: .12; }
.metro-page .archive-updated { margin-top: 1.1rem; }
.metro-admin-notice { color: var(--r); padding: 24px; text-align: center; }
@media (max-width: 768px) {
	.metro-page .archive-header-inner { grid-template-columns: 1fr; }
	.metro-page .archive-header-deco { display: none; }
}

/* anchored sections clear the sticky header + section nav */
.metro-page section[id],
.metro-page .metro-map-bleed[id] { scroll-margin-top: 118px; }

/* on-page section nav — the theme's ink "metro line" bar; anchors, not tabs */
.metro-nav { top: 53px; }
.metro-nav .dest-nav-item { text-decoration: none; }
.metro-nav .dest-nav-item > span:first-child {
	font-size: .72rem;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* answer first: short answer + key facts */
.metro-answer-wrap {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}
.metro-answer,
.metro-facts-card {
	background: #fff;
	border: 1px solid var(--p2);
	border-radius: var(--r2);
	box-shadow: var(--sh-sm);
	padding: 1.4rem 1.6rem 1.5rem;
}
.metro-answer { border-left: 4px solid var(--r); }
.metro-facts-card { border-left: 4px solid var(--ink); }
.metro-answer__label {
	font: 700 .72rem/1.3 var(--cond);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--r);
	margin-bottom: .7rem;
}
.metro-facts-card .metro-answer__label { color: var(--ink); }
.metro-answer__text {
	font: 500 1.12rem/1.65 var(--serif);
	color: var(--ink);
	letter-spacing: -.005em;
}
.metro-answer__text p { margin: 0 0 .75rem; max-width: none; }
.metro-answer__text p:last-child { margin-bottom: 0; }
.metro-facts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
}
.metro-fact {
	padding: .7rem .85rem .75rem;
	background: var(--p);
	border-radius: var(--r1);
}
.metro-fact dt {
	font: 700 .64rem/1.3 var(--cond);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--p3);
}
.metro-fact dd {
	margin: .15rem 0 0;
	font: 600 .92rem/1.4 var(--sans);
	color: var(--ink);
}
@media (max-width: 960px) {
	.metro-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
	.metro-facts { grid-template-columns: 1fr; }
}

/* fares: row headers + where-to-buy column */
.metro-content-inner--wide { max-width: 1040px; }
.metro-table--fares th[scope="row"] {
	background: transparent;
	color: var(--ink);
	font: 600 .9rem/1.35 var(--sans);
	letter-spacing: 0;
	text-transform: none;
	vertical-align: top;
}
.metro-table--fares tbody tr:nth-child(even) th[scope="row"] { background: var(--w); }
.metro-fare-name { display: block; }
.metro-fare-best {
	display: block;
	margin-top: 3px;
	font: 500 .76rem/1.4 var(--sans);
	color: var(--p3);
}
.metro-fare-buy { min-width: 190px; }
.metro-fare-buy-note { font-size: .78rem; color: var(--p3); white-space: nowrap; }
.metro-fare-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.metro-page a.metro-fare-cta {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 11px 6px 7px;
	border-radius: var(--rp);
	background: var(--brand, var(--r));
	color: #fff;
	font: 700 .72rem/1 var(--sans);
	letter-spacing: .01em;
	text-decoration: none;
	white-space: nowrap;
	transition: background var(--t) var(--ease), transform var(--t) var(--ease);
}
.metro-page a.metro-fare-cta:hover,
.metro-page a.metro-fare-cta:focus-visible {
	background: var(--brand-hover, var(--rd));
	color: #fff;
	transform: translateY(-1px);
}
.metro-fare-cta img {
	width: 18px;
	height: 18px;
	object-fit: contain;
	flex: 0 0 auto;
}
/* full-colour logos (registry icon_bg = white) sit on a white plate, as on the trip-planner pills */
.metro-fare-cta--plate img {
	border-radius: 50%;
	background: rgba(255, 255, 255, .95);
	padding: 2px;
}
.metro-fare-ctas--solo .metro-fare-cta {
	padding: 8px 14px 8px 8px;
	font-size: .78rem;
}
.metro-fare-cta__arrow { margin-left: 2px; }
.metro-verified {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: .9rem 0 0;
	font: 500 .78rem/1.4 var(--sans);
	color: var(--ink3);
}
.metro-verified svg { color: #1a7f37; flex: 0 0 auto; }
.metro-verified a { color: var(--r); }
.metro-fares .metro-disclosure { margin-top: .5rem; }

/* how to ride — numbered step cards */
.metro-steps {
	list-style: none;
	margin: 1.8rem 0 0;
	padding: 0;
	display: grid;
	gap: 12px;
	counter-reset: metro-step;
}
.metro-step {
	display: flex;
	gap: 16px;
	background: #fff;
	border: 1px solid rgba(26, 23, 20, .08);
	border-radius: var(--r2);
	padding: 18px 20px;
	box-shadow: var(--sh-sm);
}
.metro-step__num {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--ink);
	color: #fff;
	font: 800 1rem/1 var(--cond);
}
.metro-step__title {
	margin: 0;
	font: 700 1.02rem/1.3 var(--serif);
	color: var(--ink);
}
.metro-step__text { margin-top: .4rem; font-size: .92rem; line-height: 1.6; color: var(--ink3); }
.metro-step__text p { margin: 0 0 .5rem; max-width: none; }
.metro-step__text p:last-child { margin-bottom: 0; }

/* official sources */
.metro-sources-section { padding-top: 2rem; }
.metro-sources__title {
	margin: 0 0 1rem;
	font: 700 1.15rem/1.3 var(--serif);
	color: var(--ink);
}
.metro-sources {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 6px;
}
.metro-sources li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 12px;
	padding: .55rem 0;
	border-top: 1px solid var(--p2);
	font-size: .9rem;
}
.metro-sources li:first-child { border-top: 0; padding-top: 0; }
.metro-sources a { color: var(--ink); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(228, 28, 28, .35); text-underline-offset: 3px; }
.metro-sources a:hover { color: var(--r); text-decoration-color: var(--r); }
.metro-sources__host { font-family: var(--cond); font-size: .72rem; letter-spacing: .06em; color: var(--p3); }

/* map: the floating "Tickets & Passes" button sits over the panel's bottom
   edge — give the panel body room so the disclosure line never hides under it */
.metro-page .ttt-panel-passes .ttt-panel-body { padding-bottom: 78px; }
.metro-page .ttt-panel-layers .ttt-panel-body { padding-bottom: 78px; }
@media (max-width: 640px) {
	.metro-table--fares th[scope="row"] { min-width: 150px; }
	.metro-fare-buy { min-width: 150px; }
}
.metro-pass-cta img {
	width: 18px;
	height: 18px;
	object-fit: contain;
	flex: 0 0 auto;
}
