/*
 * smh/service-section: the parts of a service page (docs/ARCHITECTURE.md 5.4). Owner: WP3.
 * icon (header band) · action (header CTA) · what / who_for / deliverables / regulatory_frame / process_steps / faq
 * (body sections, H2 x-large 700 petrol with fixed anchors) · cta (closing panel, the page's folder-pocket corner).
 * Logical properties only; Chromium 114 floor (no nesting, no :dir()).
 */

/* ---------- Section heading ---------- */
.smh-service-section__title,
h2.smh-service-section--what {
	position: relative;
	margin: 0 0 var(--wp--preset--spacing--40);
	padding-inline-start: 1.25rem;
	font-size: clamp(1.375rem, 1.9vw, 1.75rem);
	font-weight: 700;
	line-height: var(--wp--custom--line-height--heading);
	color: var(--smh-ink);
}
/* Design A: a square network node marks each section title. */
.smh-service-section__title::before,
h2.smh-service-section--what::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: calc(0.75em - 4px);
	inline-size: 8px;
	block-size: 8px;
	background: var(--smh-petrol-light);
	box-shadow: 0 0 0 4px rgb(25 100 120 / 0.12);
}
.smh-service-section--cta .smh-service-section__title { padding-inline-start: 0; }
.smh-service-section--cta .smh-service-section__title::before { content: none; }
html[lang|="en"] .smh-service-section__title,
html[lang|="en"] h2.smh-service-section--what { line-height: var(--wp--custom--line-height--heading-en); }

/* ---------- Icon (48 px, header band) ---------- */
.smh-service-section--icon { display: flex; color: var(--smh-petrol); }
.smh-service-section--icon svg { inline-size: 3rem; block-size: 3rem; }

/* ---------- Who it is for: square bullets (the wordmark's square full stop) ---------- */
.smh-service-section__list { list-style: none; margin: 0; padding: 0; }
.smh-service-section__list > li { position: relative; padding-inline-start: 1.375rem; }
.smh-service-section__list > li + li { margin-block-start: 0.5rem; }
.smh-service-section__list > li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0.125rem;
	top: calc(0.925em - 3px);
	inline-size: 6px;
	block-size: 6px;
	background: var(--smh-petrol);
}
html[lang|="en"] .smh-service-section__list > li::before { top: calc(0.825em - 3px); }

/* ---------- Deliverables: ledger rows with hairlines ---------- */
.smh-service-section__ledger { list-style: none; margin: 0; padding: 0; }
.smh-service-section__ledger > li {
	padding-block: 0.875rem;
	padding-inline: 0.25rem;
	border-block-start: 1px solid var(--smh-line);
}
.smh-service-section__ledger > li:last-child { border-block-end: 1px solid var(--smh-line); }

/* ---------- Regulatory frame: document callout (ground, 3 px petrol rule on the inline start) ---------- */
.smh-service-section__callout {
	position: relative;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
	border-inline-start: 3px solid var(--smh-petrol);
	border-radius: var(--smh-r-tab);
	background: var(--smh-white);
	box-shadow: 0 1px 2px rgb(18 48 59 / 0.05), 0 10px 30px -18px rgb(18 48 59 / 0.2), inset 0 0 0 1px rgb(172 177 186 / 0.5);
}
.smh-service-section__callout p { margin: 0; max-inline-size: var(--smh-measure); }
.smh-service-section__callout p + p { margin-block-start: var(--wp--preset--spacing--30); }

/* ---------- How we work: numbered square tabs on a vertical track ---------- */
.smh-service-steps { position: relative; list-style: none; margin: 0; padding: 0; }
.smh-service-steps::before { /* the petrol track through the tabs (home uses a horizontal one) */
	content: "";
	position: absolute;
	inset-inline-start: calc(1rem - 0.5px);
	inset-block: 1rem;
	inline-size: 1px;
	background: linear-gradient(180deg, var(--smh-petrol), rgb(25 100 120 / 0.15));
}
.smh-service-steps__item {
	position: relative;
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	column-gap: var(--wp--preset--spacing--40);
	align-items: start;
}
.smh-service-steps__item + .smh-service-steps__item { margin-block-start: var(--wp--preset--spacing--50); }
.smh-service-steps__num {
	position: relative;
	z-index: 1;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 0 0 5px rgb(25 100 120 / 0.1), 0 10px 20px -10px rgb(24 86 107 / 0.6);
}
.smh-service-steps__body { padding-block-start: 0.1rem; }
.smh-service-steps__title { margin: 0; font-size: var(--wp--preset--font-size--large); font-weight: 500; line-height: var(--smh-lh-snug); color: var(--smh-ink); }
.smh-service-steps__text { margin: 0.25rem 0 0; color: var(--smh-ink); }

/* ---------- FAQ: one question per row, hairlines, plus / minus ---------- */
.smh-service-faq { border-block-end: 1px solid var(--smh-line); }
.smh-service-faq__item { border-block-start: 1px solid var(--smh-line); }
.smh-service-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--40);
	min-block-size: 3rem;
	padding-block: 0.75rem;
	font-weight: 500;
	color: var(--smh-ink);
	cursor: pointer;
	list-style: none;
	transition: color var(--smh-state) linear;
}
.smh-service-faq__q::-webkit-details-marker { display: none; }
.smh-service-faq__q:hover { color: var(--smh-petrol); }
.smh-service-faq__icon { flex: none; inline-size: 1.25rem; block-size: 1.25rem; color: var(--smh-petrol); }
.smh-service-faq__item[open] .smh-service-faq__icon .smh-icon-v { display: none; }
.smh-service-faq__a { padding-block-end: var(--wp--preset--spacing--40); }
.smh-service-faq__a p { margin: 0; max-inline-size: var(--smh-measure); }
.smh-service-faq__a p + p { margin-block-start: var(--wp--preset--spacing--30); }

/* ---------- Closing CTA panel (design A): the dark pocket panel with its quiet network (inc/wp7.php) ---------- */
.smh-service-section--cta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 4vw, 3.5rem);
	border-radius: var(--smh-r-tab);
	border-end-end-radius: var(--smh-r-pocket);
	color: var(--smh-white);
	background-color: var(--smh-petrol-deep);
	background-image:
		radial-gradient(70% 120% at 18% 40%, rgb(44 132 156 / 0.4) 0%, rgb(25 100 120 / 0) 70%),
		var(--smh-grad-cover);
	box-shadow: 0 2px 3px rgb(10 40 50 / 0.07), 0 18px 38px -14px rgb(10 40 50 / 0.3), 0 64px 120px -40px rgb(6 30 40 / 0.5);
}
.smh-service-section--cta.smh-band-ground { background-color: var(--smh-petrol-deep); }
html:not([dir="rtl"]) .smh-service-section--cta { background-image: radial-gradient(70% 120% at 82% 40%, rgb(44 132 156 / 0.4) 0%, rgb(25 100 120 / 0) 70%), var(--smh-grad-cover); }
.smh-service-section--cta .smh-service-section__title {
	margin-block-end: var(--wp--preset--spacing--50);
	font-size: clamp(1.5rem, 2.2vw, 2rem);
	color: var(--smh-white);
}
.smh-service-section--cta :focus-visible { outline-color: var(--smh-white); }
.smh-service-cta__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);
}
.smh-service-cta__actions .wp-block-buttons { margin: 0; }
.smh-service-section--cta .wp-block-button__link {
	background-color: var(--smh-white);
	color: var(--smh-petrol-deep);
	font-weight: 700;
	box-shadow: 0 14px 34px -14px rgb(0 0 0 / 0.55);
}
.smh-service-section--cta .wp-block-button__link:hover { background-color: var(--smh-mist); color: var(--smh-petrol-deep); }
.smh-service-cta__wa {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	min-block-size: var(--smh-target);
	font-weight: 500;
	color: var(--smh-white);
}
.smh-service-cta__ext { flex: none; inline-size: 1rem; block-size: 1rem; }

/* ---------- Header CTA (action) ---------- */
.smh-service-section--action .wp-block-buttons { margin: 0; }
.smh-service-section .wp-block-button__link { min-block-size: var(--smh-target); white-space: nowrap; }
@media (max-width: 599px) {
	.smh-service-section .wp-block-button__link { min-block-size: 3rem; white-space: normal; }
	.smh-service-section--action .wp-block-button,
	.smh-service-section--action .wp-block-button__link { inline-size: 100%; }
}
