/**
 * Sitemap page — hierarchical nav tree with expandable branches.
 *
 * Scoped to `.sitemap` (always rendered by the block) so styles apply even
 * when WordPress treats the page as `page-template-default` (slug match).
 */

.sitemap {
	--sitemap-color: var(--wp--preset--color--custom-pickled-bluewood, #294351);
	--sitemap-accent: var(--wp--preset--color--custom-pickled-bluewood, #294351);
	--sitemap-border: var(--wp--preset--color--custom-soft-border, #e3e8ed);
}

.sitemap ul,
.sitemap ol,
.sitemap li,
.sitemap .sitemap-list {
	list-style: none !important;
	list-style-type: none !important;
	padding-left: 0;
	margin: 0;
}

.sitemap li::marker,
.sitemap summary::marker,
.sitemap .sitemap-item__toggle::marker {
	content: none !important;
	display: none !important;
	font-size: 0;
}

.sitemap .sitemap-list--root > .sitemap-item + .sitemap-item {
	margin-top: clamp(16px, 1.5vw, 24px);
}

.sitemap .sitemap-list--root > .sitemap-item > .sitemap-item__header > .sitemap-item__link {
	font-size: clamp(18px, 1.375vw, 22px);
}

.sitemap .sitemap-list--child {
	margin-top: 0.15em;
	padding-left: clamp(16px, 1.5vw, 24px) !important;
	border-left: 2px solid color-mix(in srgb, var(--sitemap-accent) 35%, var(--sitemap-border));
}

.sitemap .sitemap-list--child > .sitemap-item + .sitemap-item {
	margin-top: 0.1em;
}

.sitemap .sitemap-item__header {
	display: block;
}

.sitemap .sitemap-item__children {
	margin-top: 0.25em;
}

.sitemap .sitemap-item__toggle {
	display: inline-flex !important;
	align-items: center;
	gap: 0.45em;
	cursor: pointer;
	list-style: none !important;
	appearance: none;
	border: 1px solid var(--sitemap-accent);
	border-radius: 5px;
	background: transparent;
	color: var(--sitemap-color);
	font-weight: 600;
	line-height: 1.5;
	text-align: left;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	padding: 0.7em 1.1em;
	font-size: 0.8125rem;
}

.sitemap .sitemap-item__toggle::-webkit-details-marker {
	display: none !important;
}

.sitemap .sitemap-item__toggle::marker {
	content: none !important;
	display: none !important;
}

.sitemap .sitemap-item__toggle:hover {
	background-color: var(--sitemap-accent);
	border-color: var(--sitemap-accent);
	color: #fff;
}

.sitemap .sitemap-item__toggle:focus {
	outline: 2px solid var(--sitemap-accent);
	outline-offset: 2px;
}

.sitemap .sitemap-item__toggle:focus:not(:focus-visible) {
	outline: none;
}

.sitemap .sitemap-item__toggle:focus-visible {
	outline: 2px solid var(--sitemap-accent);
	outline-offset: 2px;
}

.sitemap .sitemap-item__toggle-label--open {
	display: none !important;
}

.sitemap .sitemap-item__children[open] > .sitemap-item__toggle {
	background-color: color-mix(in srgb, var(--sitemap-accent) 12%, #fff);
	border-color: var(--sitemap-accent);
	color: var(--sitemap-color);
}

.sitemap .sitemap-item__children[open] > .sitemap-item__toggle .sitemap-item__toggle-label--closed {
	display: none !important;
}

.sitemap .sitemap-item__children[open] > .sitemap-item__toggle .sitemap-item__toggle-label--open {
	display: inline !important;
}

.sitemap .sitemap-item__children[open] > .sitemap-item__toggle .sitemap-item__toggle-icon {
	transform: rotate(180deg);
}

.sitemap .sitemap-item__toggle-icon {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	transition: transform 0.2s ease;
}

.sitemap .sitemap-item__panel {
	margin-top: 0.25em;
}

.sitemap .sitemap-item__link,
.sitemap a.sitemap-item__link,
.sitemap a.sitemap-item__link:visited {
	display: inline-block;
	font-weight: 600;
	line-height: var(--wp--custom--line-height--normal, 1.5);
	padding-block: 0.1em;
	font-size: clamp(16px, 1.15vw, 18px);
	color: var(--sitemap-color) !important;
	text-decoration: none !important;
}

.sitemap .sitemap-item__link:hover,
.sitemap a.sitemap-item__link:hover {
	color: var(--wp--preset--color--custom-navy, #0e2a3d) !important;
	text-decoration: underline !important;
}

.sitemap-intro {
	margin-bottom: clamp(24px, 2.5vw, 40px);
}
