/* What's up, Warwick: posts and pages (templates/wus-article.php). Builds on home.css. */
.wus-post { font-size: 18px; line-height: 1.65; }

.wus-crumbs--dark { color: var(--wus-muted); }
.wus-crumbs--dark a { color: var(--wus-muted) !important; text-decoration: underline; text-underline-offset: 3px; }

.wus-post__head { padding-top: 28px; }
.wus-post__head--hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 480px);
	gap: 48px;
	align-items: center;
}
.wus-post__intro {
	max-width: 820px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
#wus-home .wus-post__title {
	margin: 4px 0 0;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.15;
	color: var(--wus-navy);
}
#wus-home .wus-post__title--long { font-size: 34px; }
.wus-post__standfirst { margin: 0; font-size: 19px; line-height: 1.5; color: var(--wus-muted); }
.wus-post__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 20px;
	font-size: 15px;
	color: var(--wus-muted);
}
.wus-post__author { display: inline-flex; align-items: center; gap: 10px; }
.wus-post__author a { font-weight: 600; color: var(--wus-navy); }
.wus-post__avatar { width: 36px; height: 36px; border-radius: 50%; }
.wus-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 999px;
	background: #eaf3ee;
	color: #1f5a3a;
	font-weight: 600;
	font-size: 14px;
}
.wus-post__hero { margin: 0; }
.wus-post__hero-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 14px;
}
.wus-post__hero figcaption { margin-top: 8px; font-size: 14px; color: var(--wus-muted); }

.wus-post__layout {
	display: flex;
	flex-wrap: wrap;
	gap: 56px;
	align-items: flex-start;
	padding-top: 32px;
	padding-bottom: 56px;
}
.wus-post__body { flex: 999 1 560px; min-width: 0; max-width: 740px; }
.wus-post__layout--single .wus-post__body { max-width: 820px; }

/* Article typography */
#wus-home .wus-post__body h2 {
	margin: 44px 0 12px;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--wus-navy);
	scroll-margin-top: 110px;
}
#wus-home .wus-post__body h3 {
	margin: 30px 0 8px;
	font-size: 21px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--wus-navy);
	scroll-margin-top: 110px;
}
#wus-home .wus-post__body h4 { margin: 24px 0 6px; font-size: 18px; color: var(--wus-navy); }
.wus-post__body p { margin: 0 0 18px; }
.wus-post__body ul, .wus-post__body ol { margin: 0 0 20px; padding-left: 24px; }
.wus-post__body li { margin-bottom: 6px; }
/* Jannah strips list markers site-wide; put them back for ordinary content lists (tool lists keep their own styles). */
.wus-post__body > ul, .wus-post__body ul.wp-block-list, .wus-post__body ul:not([class]) { list-style: disc outside; }
.wus-post__body > ol, .wus-post__body ol.wp-block-list, .wus-post__body ol:not([class]) { list-style: decimal outside; }
.wus-post__body ul.wp-block-list > li, .wus-post__body ol.wp-block-list > li, .wus-post__body ul:not([class]) > li, .wus-post__body ol:not([class]) > li { display: list-item; list-style: inherit; }
.wus-post__body li::marker { color: var(--wus-navy, #15263f); }
.wus-post__body a { color: var(--wus-navy); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--wus-gold); text-decoration-thickness: 2px; }
.wus-post__body a:hover { color: var(--wus-gold-text); }
.wus-post__body img { max-width: 100%; height: auto; border-radius: 12px; }
.wus-post__body figure { margin: 24px 0; }
.wus-post__body figcaption { font-size: 14px; color: var(--wus-muted); margin-top: 6px; }
.wus-post__body blockquote {
	margin: 24px 0;
	padding: 18px 22px;
	border-radius: 12px;
	background: #fff8e6;
	font-size: 18px;
}
.wus-post__body blockquote p:last-child { margin-bottom: 0; }
.wus-post__body table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 24px;
	font-size: 16px;
	display: block;
	overflow-x: auto;
}
.wus-post__body th, .wus-post__body td { padding: 10px 12px; border-bottom: 1px solid var(--wus-line); text-align: left; vertical-align: top; }
.wus-post__body th { font-family: Poppins, system-ui, sans-serif; font-weight: 600; font-size: 14px; color: var(--wus-navy); background: var(--wus-sand); }
.wus-post__body .wp-block-table { margin: 0 0 24px; }
.wus-post__body hr { border: 0; border-top: 1px solid var(--wus-line); margin: 32px 0; }

/* "Details checked" note → trust box */
.wus-trust {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	margin: 40px 0 0;
	padding: 20px 22px;
	border: 1px solid #d9e4dd;
	border-radius: 14px;
	background: #f5faf7;
	color: #1f5a3a;
}
.wus-trust svg { flex: 0 0 24px; margin-top: 2px; }
.wus-trust p { margin: 0; font-size: 16px; color: #3b4a42; }
.wus-trust a { color: #1f5a3a !important; }

/* Author */
.wus-author {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	margin-top: 24px;
	padding: 24px;
	border-radius: 14px;
	background: var(--wus-sand);
}
.wus-author__avatar { width: 64px; height: 64px; border-radius: 50%; flex: 0 0 64px; }
#wus-home .wus-post__body .wus-author__name { margin: 0; font-size: 18px; line-height: 1.3; color: var(--wus-navy); }
.wus-author p { margin: 6px 0 0; font-size: 16px; color: var(--wus-muted); }

/* Contents */
.wus-toc ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.wus-toc a { color: var(--wus-navy) !important; text-decoration: none !important; font-size: 15px; line-height: 1.4; display: block; padding-left: 12px; border-left: 3px solid transparent; }
.wus-toc a:hover { border-left-color: var(--wus-gold); color: var(--wus-gold-text) !important; }
.wus-toc--side {
	flex: 1 1 250px;
	min-width: 0;
	position: sticky;
	top: 100px;
	padding: 22px;
	border: 1px solid var(--wus-line);
	border-radius: 14px;
	max-height: calc(100vh - 140px);
	overflow-y: auto;
}
.wus-toc__title { margin: 0 0 12px; font-family: Poppins, system-ui, sans-serif; font-weight: 600; font-size: 15px; color: var(--wus-navy); }
.wus-toc--mobile { display: none; }

/* Related */
.wus-related { background: var(--wus-sand); padding: 48px 0 56px; }
.wus-related .wus-h2 { margin-bottom: 20px; }

/* Hide anything Easy TOC might still inject */
.wus-post #ez-toc-container { display: none !important; }

@media (max-width: 899px) {
	.wus-post__head--hero { display: block; }
	.wus-post__hero { margin-top: 20px; }
	.wus-toc--side { display: none; }
	.wus-toc--mobile {
		display: block;
		margin: 0 0 24px;
		border: 1px solid var(--wus-line);
		border-radius: 10px;
	}
	.wus-toc--mobile summary {
		min-height: 48px;
		padding: 0 16px;
		display: flex;
		align-items: center;
		cursor: pointer;
		font-family: Poppins, system-ui, sans-serif;
		font-weight: 600;
		font-size: 15px;
		color: var(--wus-navy);
	}
	.wus-toc--mobile ol { padding: 0 16px 16px; }
}
@media (max-width: 767px) {
	.wus-post { font-size: 17px; }
	.wus-post__head { padding-top: 16px; }
	.wus-post__intro { gap: 10px; }
	#wus-home .wus-post__title, #wus-home .wus-post__title--long { font-size: 27px; line-height: 1.2; }
	.wus-post__standfirst { display: none; }
	.wus-post__meta { gap: 4px 14px; font-size: 14px; }
	.wus-post__avatar { display: none; }
	.wus-badge { padding: 2px 8px; font-size: 13px; }
	.wus-post__hero { margin: 16px -16px 0; }
	.wus-post__hero-img { border-radius: 0; aspect-ratio: 2 / 1; }
	.wus-post__hero figcaption { padding: 0 16px; }
	.wus-post__layout { padding-top: 20px; gap: 24px; }
	#wus-home .wus-post__body h2 { font-size: 24px; margin-top: 36px; }
	.wus-author { padding: 18px; }
}

/* Roadworks list ([wus_roadworks]) */
.wus-post__body ul.wus-sw__list { list-style: none; padding: 0 !important; display: grid; gap: 8px; }
.wus-post__body ul.wus-sw__list li { margin: 0; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--wus-line, #e6e8ee); border-left: 4px solid #c0631b; font-size: 15px; }
.wus-sw__what { font-size: 13px; color: var(--wus-muted, #4a5468); }
.wus-sw__credit { font-size: 13px; color: var(--wus-muted, #4a5468); }

/* Contact and "Update your listing" forms (Contact Form 7, .wus-contact-form) */
.wus-contact-form { max-width: 680px; }
.wus-contact-form .wus-row { margin: 0 0 16px; }
.wus-contact-form .wus-row-two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.wus-contact-form .wus-row-two .wus-col { min-width: 0; }
.wus-contact-form label, .wus-contact-form .wus-label { display: block; font-weight: 600; color: var(--wus-navy, #15263f); }
.wus-contact-form input[type="text"], .wus-contact-form input[type="email"], .wus-contact-form input[type="url"],
.wus-contact-form input[type="tel"], .wus-contact-form select, .wus-contact-form textarea {
	display: block; width: 100% !important; max-width: none; box-sizing: border-box; min-height: 46px; margin-top: 6px;
	padding: 10px 12px; border: 1px solid #b9c0cd; border-radius: 10px; background: #fff; font: inherit; font-weight: 400; color: var(--wus-ink, #1d2433);
}
.wus-contact-form textarea { min-height: 96px; }
.wus-contact-form input:focus, .wus-contact-form select:focus, .wus-contact-form textarea:focus { outline: 3px solid #f2c14e; outline-offset: 1px; border-color: var(--wus-navy, #15263f); }
.wus-contact-form .wpcf7-checkbox { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 8px; }
.wus-contact-form .wpcf7-list-item { margin: 0; }
.wus-contact-form .wpcf7-list-item label { display: inline-flex; align-items: center; gap: 6px; font-weight: 400; color: var(--wus-ink, #1d2433); }
.wus-contact-form input[type="file"] { margin-top: 6px; font: inherit; font-weight: 400; }
.wus-contact-form .wus-form-consent { font-size: 14px; }
.wus-contact-form .wus-form-consent label { display: inline; font-weight: 400; color: var(--wus-ink, #1d2433); }
.wus-contact-form input[type="submit"] { min-height: 48px; padding: 0 26px; border: 0; border-radius: 10px; background: #f2c14e; color: #15263f; font: 600 16px/1 Poppins, system-ui, sans-serif; cursor: pointer; }
.wus-contact-form input[type="submit"]:hover { background: #e8b23a; }
@media (max-width: 600px) { .wus-contact-form .wus-row-two { grid-template-columns: 1fr; gap: 0; } .wus-contact-form .wus-row-two .wus-col { margin-bottom: 16px; } }

/* Block buttons in articles (e.g. "Find my bin day"): gold, like the contact form's submit. */
.wp-block-buttons { margin: 4px 0 20px; }
.wp-block-button .wp-block-button__link { display: inline-flex; align-items: center; min-height: 48px; padding: 12px 24px; border-radius: 10px; background: #f2c14e; color: #15263f !important; font: 600 16px/1.2 Poppins, system-ui, sans-serif; text-decoration: none; }
.wp-block-button .wp-block-button__link:hover, .wp-block-button .wp-block-button__link:focus { background: #e8b23a; color: #15263f !important; }

/* Click-to-load Facebook embeds ([wus_facebook], inc/embeds.php) */
.wus-fbembed { margin: 28px 0; }
.wus-fbembed__gate { max-width: 500px; padding: 22px 24px; border: 1px solid #e6e8ee; border-radius: 12px; background: #f6f4ef; }
.wus-fbembed__title { margin: 0 0 4px !important; font: 700 18px/1.3 Poppins, sans-serif; color: #15263f; }
.wus-fbembed__note { margin: 0 0 14px !important; font-size: 14px !important; color: #4a5468; }
.wus-fbembed__btn { padding: 10px 18px; border: 0; border-radius: 8px; background: #1877f2; color: #fff; font: 600 15px/1.2 Poppins, sans-serif; cursor: pointer; }
.wus-fbembed__btn:hover { background: #166fe0; }
.wus-fbembed__post { max-width: 500px; }
.wus-fbembed__link { margin-top: 10px; font-size: 15px; }
.wus-fbembed__link a { font-weight: 600; }

/* Side column: "On this page" plus "Most read this week" (js/most-read.js), sticky together */
.wus-post__side { flex: 1 1 250px; min-width: 0; position: sticky; top: 100px; max-height: calc(100vh - 120px); overflow-y: auto; display: flex; flex-direction: column; gap: 18px; }
.wus-post__side .wus-toc--side { position: static; max-height: none; overflow: visible; flex: none; }
.wus-mostread { padding: 20px 22px; border: 1px solid var(--wus-line); border-radius: 14px; background: #fff; }
.wus-mostread ol { list-style: none; margin: 0 !important; padding: 0 !important; counter-reset: wusmr; display: flex; flex-direction: column; gap: 12px; }
.wus-mostread li { counter-increment: wusmr; display: grid; grid-template-columns: 26px 1fr; gap: 4px 8px; margin: 0 !important; }
.wus-mostread li::before { content: counter(wusmr); font: 700 20px/1 Poppins, system-ui, sans-serif; color: var(--wus-gold, #f2c14e); }
.wus-mostread a { color: var(--wus-navy) !important; text-decoration: none !important; font-weight: 600; font-size: 15px; line-height: 1.35; }
.wus-mostread a:hover { text-decoration: underline !important; }
.wus-mostread span { grid-column: 2; font-size: 13px; color: var(--wus-muted); }
.wus-mostread--mobile { display: none; margin-top: 28px; }
#wus-home .wus-mostread__title { margin: 0 0 14px; font-size: 20px; }
@media (max-width: 899px) {
	.wus-post__side { display: none; }
	.wus-mostread--mobile:not([hidden]) { display: block; }
}
