/* Access Matters — "steps to ramps" identity layer. */

:root {
	--amd-primary: #0B4F6C;
	--amd-teal: #0F766E;
	--amd-amber: #B45309;
	--amd-dark: #093A52;
	--amd-ink: #1F2933;
	--amd-light: #F0F5F7;
	--amd-line: #D5E1E7;
	--amd-level: #1B7F4B;
	--amd-free: #1D6FE0;
	--amd-none: #C0392B;
	--amd-unknown: #8C9BA5;
	--amd-radius: 14px;
	/* The signature shape: steps that flatten into a ramp. */
	--amd-steps-ramp: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 64' preserveAspectRatio='none'%3E%3Cpath d='M0 64V52h150V38h150V24h150V10h150L1200 56v8Z'/%3E%3C/svg%3E");
	--amd-steps-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 20h5v-5h5v-5h5V5h5'/%3E%3C/svg%3E");
}

.amd-icon {
	width: 1.15em;
	height: 1.15em;
	flex: none;
	vertical-align: -0.2em;
}

/* ── Access-grade stripe (top of every page) ── */
.amd-stripe { display: flex; height: 6px; }
.amd-stripe span { flex: 1; }

/* ── Signature divider: stats band steps down into the page ── */
.amd-divider { line-height: 0; color: #fff; }
.amd-divider svg { width: 100%; height: 48px; fill: currentColor; }

.elementor-18 .elementor-element-7cba9a7 { position: relative; padding-bottom: 72px !important; }
.elementor-18 .elementor-element-7cba9a7::after,
.elementor-location-footer::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: 64px;
	background: #fff;
	-webkit-mask: var(--amd-steps-ramp) center / 100% 100% no-repeat;
	mask: var(--amd-steps-ramp) center / 100% 100% no-repeat;
	pointer-events: none;
}
.elementor-18 .elementor-element-7cba9a7::after { bottom: -1px; }
.elementor-location-footer { position: relative; }
.elementor-location-footer::before {
	top: -63px;
	background: #062A3C;
	transform: scaleX(-1);
}

/* ── Highlighter for key phrases ── */
mark {
	background: linear-gradient(transparent 58%, rgba(245, 173, 76, .55) 58%);
	color: inherit;
	padding: 0 .1em;
}

/* ── Category chips ── */
.amd-chip {
	display: inline-flex;
	align-items: center;
	gap: .4em;
	padding: .3em .8em;
	border-radius: 999px;
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .02em;
	text-decoration: none !important;
	color: #fff !important;
	background: var(--amd-primary);
	line-height: 1.3;
}
.amd-chip--public-transport { background: var(--amd-primary); }
.amd-chip--your-rights { background: var(--amd-teal); }
.amd-chip--guides { background: #5B3E96; }
.amd-chip--venues-buildings { background: var(--amd-amber); }

/* ═══════════════ Article template ═══════════════ */

body.amd-single .site-main {
	max-width: 780px;
	margin-inline: auto;
	padding-inline: 20px;
}
.amd-single .page-header { margin-top: 2.5rem; }
.amd-single .entry-title {
	font-size: clamp(2rem, 4.2vw, 2.9rem);
	line-height: 1.12;
	letter-spacing: -.01em;
	color: var(--amd-dark);
	margin-bottom: 0;
}
.amd-single .entry-title::after {
	content: "";
	display: block;
	width: 44px;
	height: 22px;
	margin-top: .7em;
	background: var(--amd-amber);
	-webkit-mask: var(--amd-steps-mark) left / contain no-repeat;
	mask: var(--amd-steps-mark) left / contain no-repeat;
}

.amd-article { color: var(--amd-ink); }
.amd-article-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem 1.1rem;
	margin: 1.2rem 0 1.6rem;
}
.amd-meta {
	display: inline-flex;
	align-items: center;
	gap: .35em;
	font-size: .88rem;
	color: #52606D;
}

.amd-hero { margin: 0 0 2rem; }
.amd-hero__img,
.amd-inline-photo img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: var(--amd-radius);
	display: block;
}

.amd-standfirst {
	position: relative;
	margin: 0 0 2.4rem;
	padding: 1.3rem 1.5rem 1.3rem 1.6rem;
	background: var(--amd-light);
	border-radius: var(--amd-radius);
	border-left: 6px solid var(--amd-teal);
}
.amd-standfirst p { margin: 0; font-size: 1.12rem; line-height: 1.6; }
.amd-standfirst .amd-standfirst__label {
	display: flex;
	align-items: center;
	gap: .4em;
	margin-bottom: .45rem;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--amd-teal);
}

.amd-article__body { font-size: 1.07rem; line-height: 1.75; }
.amd-article__body > p { margin: 0 0 1.15em; }
.amd-article__body h2 {
	position: relative;
	margin: 2.4em 0 .7em;
	padding-left: 38px;
	font-size: 1.6rem;
	line-height: 1.25;
	color: var(--amd-dark);
}
.amd-article__body h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	width: 26px;
	height: 26px;
	background: var(--amd-amber);
	-webkit-mask: var(--amd-steps-mark) center / contain no-repeat;
	mask: var(--amd-steps-mark) center / contain no-repeat;
}
.amd-article__body h3 { margin: 1.8em 0 .5em; color: var(--amd-primary); }

.amd-article__body ul { list-style: none; padding-left: 0; margin: 0 0 1.4em; }
.amd-article__body ul > li {
	position: relative;
	padding-left: 1.7em;
	margin-bottom: .6em;
}
.amd-article__body ul > li::before {
	content: "";
	position: absolute;
	left: .15em;
	top: .62em;
	width: .62em;
	height: .62em;
	border-radius: 2px;
	background: var(--amd-teal);
	transform: rotate(45deg);
}
.amd-article__body ol { padding-left: 0; margin: 0 0 1.4em; counter-reset: amd-step; list-style: none; }
.amd-article__body ol > li {
	position: relative;
	counter-increment: amd-step;
	padding: .15em 0 0 2.6em;
	margin-bottom: .9em;
}
.amd-article__body ol > li::before {
	content: counter(amd-step);
	position: absolute;
	left: 0;
	top: .1em;
	width: 1.85em;
	height: 1.85em;
	border-radius: 50%;
	background: var(--amd-primary);
	color: #fff;
	font-size: .85em;
	font-weight: 700;
	display: grid;
	place-items: center;
}

.amd-article__body blockquote,
.amd-article__body .wp-block-quote {
	position: relative;
	margin: 2.2em 0;
	padding: 1.6rem 1.8rem 1.6rem 4.2rem;
	border: 0;
	border-radius: var(--amd-radius);
	background: var(--amd-dark);
	color: #fff;
}
.amd-article__body blockquote::before {
	content: "\201C";
	position: absolute;
	left: 1.1rem;
	top: .4rem;
	font-size: 4.2rem;
	line-height: 1;
	font-family: Georgia, serif;
	color: #F5AD4C;
}
.amd-article__body blockquote p { margin: 0; font-size: 1.2rem; line-height: 1.55; font-weight: 500; }
.amd-article__body a { color: var(--amd-primary); text-decoration-thickness: 2px; text-underline-offset: 3px; text-decoration-color: rgba(180, 83, 9, .55); }
.amd-article__body a:hover { text-decoration-color: var(--amd-amber); }

.amd-inline-photo { margin: 2.2em 0; }
.amd-inline-photo figcaption, .amd-hero figcaption { margin-top: .6em; font-size: .88rem; color: #52606D; }
.amd-credit a { color: inherit; }
.amd-credit { opacity: .8; }

/* Editorial box */
.amd-editorial {
	display: flex;
	gap: 1.1rem;
	margin: 3rem 0 2rem;
	padding: 1.5rem;
	border: 2px solid var(--amd-line);
	border-radius: var(--amd-radius);
	background: #fff;
}
.amd-editorial__mark {
	flex: none;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: var(--amd-primary);
	color: #fff;
}
.amd-editorial__mark .amd-icon { width: 28px; height: 28px; }
.amd-editorial p { margin: 0 0 .5em; font-size: .95rem; line-height: 1.6; }
.amd-editorial .amd-editorial__title { font-weight: 700; font-size: 1.05rem; color: var(--amd-dark); }
.amd-editorial .amd-editorial__small { font-size: .85rem; color: #52606D; margin: 0; }

/* Related */
.amd-related { margin: 2.5rem 0 3.5rem; }
.amd-related h2 { display: flex; align-items: center; gap: .45em; font-size: 1.45rem; color: var(--amd-dark); }
.amd-related h2 .amd-icon { color: var(--amd-amber); }
.amd-related__grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.amd-card {
	display: flex;
	flex-direction: column;
	border-radius: var(--amd-radius);
	overflow: hidden;
	background: var(--amd-light);
	text-decoration: none !important;
	color: var(--amd-ink) !important;
	transition: transform .15s ease, box-shadow .15s ease;
}
.amd-card:hover, .amd-card:focus-visible { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(9, 58, 82, .14); }
.amd-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.amd-card__body { display: flex; flex-direction: column; gap: .55rem; align-items: flex-start; padding: .9rem 1rem 1.1rem; }
.amd-card__title { font-weight: 700; line-height: 1.35; color: var(--amd-dark); }

/* ═══════════════ Article cards in listings (Elementor Posts widget) ═══════════════ */

.elementor-post { position: relative; }
.elementor-post .elementor-post__thumbnail__link { position: relative; display: block; }
.elementor-post .elementor-post__thumbnail__link::after {
	content: "";
	position: absolute;
	left: 12px;
	top: 12px;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background-color: var(--amd-primary);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
}
.elementor-post.category-public-transport .elementor-post__thumbnail__link::after { background-color: var(--amd-primary); background-image: url("../icons/white/train-front.svg"); }
.elementor-post.category-your-rights .elementor-post__thumbnail__link::after { background-color: var(--amd-teal); background-image: url("../icons/white/scale.svg"); }
.elementor-post.category-guides .elementor-post__thumbnail__link::after { background-color: #5B3E96; background-image: url("../icons/white/book-open-check.svg"); }
.elementor-post.category-venues-buildings .elementor-post__thumbnail__link::after { background-color: var(--amd-amber); background-image: url("../icons/white/building-2.svg"); }
.elementor-post .elementor-post__thumbnail img { transition: transform .35s ease; }
.elementor-post:hover .elementor-post__thumbnail img { transform: scale(1.04); }
.elementor-post .elementor-post__thumbnail { border-radius: var(--amd-radius); overflow: hidden; }

/* ═══════════════ Homepage evidence band ═══════════════ */

.amd-evidence { padding: 1rem 0 0; }
.amd-evidence__head { max-width: 860px; margin-bottom: 2.4rem; }
.amd-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	margin: 0 0 .8rem;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--amd-amber);
}
.amd-evidence h2 {
	margin: 0 0 .8rem;
	font-size: clamp(1.9rem, 3.6vw, 2.7rem);
	line-height: 1.15;
	color: var(--amd-dark);
}
.amd-evidence__head > p:last-child { font-size: 1.12rem; color: #3E4C59; margin: 0; }

.amd-evidence__grid { display: grid; gap: 1.4rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.amd-pillar {
	display: flex;
	flex-direction: column;
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--amd-line);
	box-shadow: 0 10px 30px rgba(9, 58, 82, .07);
}
.amd-pillar__photo { position: relative; }
.amd-pillar__photo img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.amd-photo-credit {
	position: absolute;
	right: 8px;
	bottom: 8px;
	padding: .15em .5em;
	border-radius: 4px;
	background: rgba(0, 0, 0, .6);
	color: #fff;
	font-size: .7rem;
}
.amd-pillar__body { position: relative; padding: 2.1rem 1.5rem 1.6rem; display: flex; flex-direction: column; flex: 1; }
.amd-pillar__body p { margin: 0 0 .9rem; line-height: 1.6; color: #3E4C59; }
.amd-pillar__icon {
	position: absolute;
	top: -28px;
	left: 1.5rem;
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: var(--amd-primary);
	color: #fff;
	box-shadow: 0 8px 18px rgba(9, 58, 82, .3);
}
.amd-pillar:nth-child(2) .amd-pillar__icon { background: var(--amd-teal); }
.amd-pillar:nth-child(3) .amd-pillar__icon { background: var(--amd-amber); }
.amd-pillar__icon .amd-icon { width: 28px; height: 28px; }
.amd-pillar .amd-pillar__kicker { margin: 0 0 .2rem; font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--amd-amber); }
.amd-pillar .amd-pillar__num { font-size: 2rem; font-weight: 700; line-height: 1.15; color: var(--amd-dark); margin-bottom: .6rem; }
.amd-pillar__num span { display: block; font-size: .95rem; font-weight: 500; color: #52606D; }
.amd-pillar__cta {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	gap: .45em;
	font-weight: 700;
	color: var(--amd-primary) !important;
	text-decoration: none !important;
}
.amd-pillar__cta:hover .amd-icon { transform: translateX(3px); }
.amd-pillar__cta .amd-icon { transition: transform .15s ease; }

.amd-legend { margin-top: 2rem; padding: 1.1rem 1.4rem; border-radius: var(--amd-radius); background: var(--amd-light); }
.amd-legend__title { margin: 0 0 .6rem; font-size: .85rem; font-weight: 700; color: var(--amd-dark); }
.amd-legend ul { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; margin: 0; padding: 0; list-style: none; font-size: .9rem; }
.amd-legend li { display: inline-flex; align-items: center; gap: .45em; }
.amd-dot { width: 14px; height: 14px; border-radius: 50%; display: inline-block; }

@media (max-width: 600px) {
	.amd-editorial { flex-direction: column; }
	.amd-article__body h2 { font-size: 1.4rem; }
	.amd-article__body blockquote { padding: 1.4rem 1.2rem 1.3rem 3.4rem; }
}

@media (prefers-reduced-motion: reduce) {
	.amd-card, .elementor-post .elementor-post__thumbnail img, .amd-pillar__cta .amd-icon { transition: none; }
}

/* Cookie settings: a button that looks like the links around it */
.amd-cookie-settings{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.amd-cookie-settings:focus-visible{outline:3px solid #F2B84B;outline-offset:2px}

/* Tables inside guides */
.amd-article .wp-block-table{margin:1.75rem 0;overflow-x:auto}
.amd-article .wp-block-table table{width:100%;border-collapse:collapse;font-size:.95rem;line-height:1.5}
.amd-article .wp-block-table th,.amd-article .wp-block-table td{padding:.65rem .8rem;text-align:left;vertical-align:top;border:0;border-bottom:1px solid #D5E1E7}
.amd-article .wp-block-table thead th{background:#0B4F6C;color:#fff;font-weight:600;border-bottom:0}
.amd-article .wp-block-table tbody tr:nth-child(even){background:#F4F8FA}
.amd-article .wp-block-table td:first-child{font-weight:600;white-space:nowrap}
.amd-article .wp-block-table figcaption{font-size:.85rem;color:#51636E;margin-top:.5rem;text-align:left}
/* Access grade pill: colours match the station map */
.amd-grade{display:inline-flex;align-items:center;gap:.4em;white-space:nowrap;font-weight:600}
.amd-grade::before{content:"";width:.75em;height:.75em;border-radius:50%;background:var(--g,#8C9BA5);flex:none}
.amd-grade--level{--g:#1B7F4B}.amd-grade--free{--g:#1D6FE0}.amd-grade--partial{--g:#B45309}.amd-grade--none{--g:#C0392B}
@media (max-width:600px){
	.amd-article .wp-block-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
	.amd-article .wp-block-table table,.amd-article .wp-block-table tbody,.amd-article .wp-block-table tr,.amd-article .wp-block-table td{display:block;width:auto}
	.amd-article .wp-block-table tr{padding:.7rem .8rem;border-bottom:1px solid #D5E1E7}
	.amd-article .wp-block-table td{padding:.1rem 0;border:0;background:transparent}
	.amd-article .wp-block-table td:first-child{display:inline-block;margin-right:.6rem;white-space:normal}
	.amd-article .wp-block-table td:nth-child(2){display:inline-block}
	.amd-article .wp-block-table td:nth-child(n+3){margin-top:.25rem}
}
