/*
 * Local guide, process, pricing-guidance and FAQ sections added to the
 * suburb and service pages (SEO Week 2, October 2026). Everything is scoped
 * to .em-section so the existing inline page styles are untouched. Colours
 * follow the brand palette in functions.php; the FAQ accordion mirrors the
 * .faq-box <details> pattern used on the suburb pages and blog posts.
 */

.em-section {
	margin: 36px 0 12px;
	font-family: 'Poppins', 'Helvetica', 'Arial', sans-serif;
	color: #1e293b;
	line-height: 1.75;
}

.em-section h2 {
	font-size: 28px;
	font-weight: 700;
	color: #12374f;
	margin: 0 0 14px;
	line-height: 1.3;
}

.em-section h2::after {
	content: "";
	display: block;
	width: 120px;
	height: 4px;
	margin-top: 10px;
	border-radius: 3px;
	background: #f5b301;
}

.em-section h3 {
	font-size: 20px;
	font-weight: 600;
	color: #12374f;
	margin: 26px 0 10px;
}

.em-section p,
.em-section li {
	font-size: 16px;
	color: #334155;
}

.em-section a {
	color: #12374f;
	font-weight: 600;
	text-decoration: underline;
}

.em-section a:hover {
	color: #f97316;
}

.em-section .em-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 22px 24px;
	margin: 18px 0;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

.em-section .em-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
	margin: 16px 0;
}

.em-section .em-grid > div {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 16px 18px;
}

.em-section .em-grid h3 {
	margin-top: 0;
	font-size: 17px;
}

.em-section .em-grid p {
	margin: 0;
	font-size: 15px;
}

.em-section ol.em-steps {
	counter-reset: em-step;
	list-style: none;
	padding: 0;
	margin: 16px 0;
}

.em-section ol.em-steps li {
	counter-increment: em-step;
	position: relative;
	padding: 4px 0 14px 48px;
}

.em-section ol.em-steps li::before {
	content: counter(em-step);
	position: absolute;
	left: 0;
	top: 2px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #12374f;
	color: #fff;
	font-weight: 700;
	text-align: center;
	line-height: 32px;
}

.em-section .em-answer {
	background: #fff8e8;
	border-left: 4px solid #f5b301;
	border-radius: 8px;
	padding: 14px 18px;
	margin: 16px 0;
}

.em-section .em-answer p {
	margin: 0;
}

.em-section .em-areas {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	margin: 12px 0;
	list-style: none;
}

.em-section .em-areas li {
	background: #f1f5f9;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	padding: 4px 14px;
	font-size: 14px;
}

.em-section .faq-box {
	padding: 22px 24px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	margin: 20px 0;
}

.em-section .faq-box details {
	padding: 14px 16px;
	margin-bottom: 10px;
	border: 1px solid #eee;
	border-radius: 8px;
	background: #f9fafb;
}

.em-section .faq-box details[open] {
	background: #fff;
	border-color: #f5b301;
}

.em-section .faq-box summary {
	cursor: pointer;
	font-weight: 600;
	color: #222;
	list-style: none;
}

.em-section .faq-box summary::-webkit-details-marker {
	display: none;
}

.em-section .faq-box summary::after {
	content: '+';
	float: right;
	font-weight: 700;
	color: #f97316;
}

.em-section .faq-box details[open] summary::after {
	content: '\2212';
}

.em-section .faq-box details p {
	margin: 10px 0 2px;
}

.em-section .em-cta {
	background: linear-gradient(135deg, #0a1f30, #12374f);
	border-radius: 12px;
	padding: 28px 24px;
	text-align: center;
	margin: 28px 0;
}

.em-section .em-cta h2,
.em-section .em-cta p {
	color: #fff;
}

.em-section .em-cta h2::after {
	margin-left: auto;
	margin-right: auto;
}

.em-section .em-cta .em-btn {
	display: inline-block;
	margin: 6px;
	padding: 12px 26px;
	border-radius: 999px;
	background: #f97316;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.em-section .em-cta .em-btn.em-btn-alt {
	background: #fff;
	color: #12374f;
}

.em-section .em-cta .em-btn:hover {
	background: #ea580c;
	color: #fff;
}

@media (max-width: 768px) {
	.em-section h2 { font-size: 23px; }
	.em-section .em-card,
	.em-section .faq-box { padding: 18px 16px; }
	.em-section .em-cta .em-btn { display: block; margin: 8px 0; }
}
