/* Every section already carries its own explicit top/bottom padding from the
   design spec; WP's automatic root block-gap adds an extra ~24px on top of
   that, which shows up as a stray light-colored seam between two same-color
   sections (e.g. a dark closing band butting against the dark footer). */
.wp-site-blocks > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Footer link lists: no bullet markers, no indent */
footer .wp-block-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Button hovers: filled (slate) buttons -> plum on hover, outline button -> fills with its border color */
.wp-block-button__link {
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--plum) !important;
	color: var(--wp--preset--color--cream) !important;
}
.wp-block-button.is-style-outline.has-ochre-color > .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--ochre) !important;
	color: var(--wp--preset--color--cream) !important;
}

/* Nav: bold the current page */
.wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content {
	font-weight: 700;
}

/* FAQ accordion (core/details): top-border and "+" icon share the same
   slate/ochre/plum cycle per row; the closing bottom border matches
   whichever color the last row happens to land on. */
.wp-block-details {
	box-sizing: border-box;
	border-top: 1px solid var(--wp--preset--color--slate);
	padding: 26px 0;
	margin-top: 0;
	margin-bottom: 0;
	overflow: hidden;
}
.wp-block-details:nth-of-type(3n+2) {
	border-top-color: var(--wp--preset--color--ochre);
}
.wp-block-details:nth-of-type(3n) {
	border-top-color: var(--wp--preset--color--plum);
}
.wp-block-details:last-of-type {
	border-bottom: 1px solid var(--wp--preset--color--slate);
}
.wp-block-details:nth-of-type(3n+2):last-of-type {
	border-bottom-color: var(--wp--preset--color--ochre);
}
.wp-block-details:nth-of-type(3n):last-of-type {
	border-bottom-color: var(--wp--preset--color--plum);
}
.wp-block-details summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	font-size: 17px;
	font-weight: 600;
}
.wp-block-details summary::-webkit-details-marker,
.wp-block-details summary::marker {
	display: none;
	content: "";
}
.wp-block-details summary::after {
	content: "+";
	font-size: 22px;
	line-height: 1;
	flex-shrink: 0;
	transition: transform .25s ease;
	color: var(--wp--preset--color--slate);
}
.wp-block-details:nth-of-type(3n+2) summary::after {
	color: var(--wp--preset--color--ochre);
}
.wp-block-details:nth-of-type(3n) summary::after {
	color: var(--wp--preset--color--plum);
}
.wp-block-details[open] summary::after {
	transform: rotate(45deg);
}

/* Answer spacing. The open/close height animation itself is handled in
   JS (assets/js/faq-accordion.js) via the Web Animations API — a pure-CSS
   grid-row trick used to live here, but current Chrome now renders
   `<details>` content through an internal `::details-content` wrapper
   that jumps open/closed instantly, bypassing that trick entirely. */
.wp-block-details > *:not(summary) {
	margin: 0;
	padding-top: 16px;
}

/* Image placeholder covers (design references not-yet-supplied photography) */
.is-image-placeholder .wp-block-cover__inner-container p {
	opacity: 0.7;
}

@media (max-width: 600px) {
	h1 {
		font-size: clamp(32px, 9vw, 40px) !important;
		line-height: 1.2 !important;
	}
	h2 {
		font-size: clamp(24px, 7vw, 30px) !important;
	}
}

@media (max-width: 782px) {
	.wp-block-group.alignfull > .wp-block-columns,
	:where(header, footer) {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}
}
