/* Sitemap Options — front-end styles. Class names from Custom Sitemap Shortcode are kept for compatibility. */

.sitemap-container {
	--cst-bg: #eeeeee;
	--cst-title: #000000;
	--cst-title-open: #ffa500;
	--cst-link: #000000;
	--cst-link-hover: #ffa500;
	--cst-border: rgba(0, 0, 0, 0.15);
	--cst-cols: 1;
	container: cst-sitemap / inline-size;
}

.sitemap-container .sitemap-content {
	background: var(--cst-bg);
	margin: 20px 0;
	padding: 5px 20px 15px;
}

.sitemap-container .cst-tab-list-wrapper {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sitemap-container .cst-tab-title-wrapper {
	list-style: none;
	margin: 0;
	padding: 0 0 5px;
	border-bottom: 1px solid var(--cst-border);
}

.sitemap-container .cst-tab-title {
	margin: 20px 0 0;
	padding: 0;
	border: 0;
}

/* Reset theme button styles so the toggle looks like a heading. */
.sitemap-container .cst-toggle {
	display: flex;
	align-items: center;
	gap: 0.5em;
	width: 100%;
	margin: 0;
	padding: 0.25em 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: var(--cst-title);
	font: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	text-align: start;
	text-transform: inherit;
	cursor: pointer;
}

.sitemap-container .cst-toggle:hover,
.sitemap-container .cst-toggle:focus,
.sitemap-container .cst-tab-title.openSitemapTab .cst-toggle {
	background: none;
	color: var(--cst-title-open);
}

.sitemap-container .cst-toggle:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.sitemap-container .cst-list-tab-icon {
	display: inline-block;
	flex: 0 0 1em;
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.sitemap-container .cst-list-panel {
	display: grid;
	grid-template-columns: repeat(var(--cst-cols), minmax(0, 1fr));
	column-gap: 1.5em;
	row-gap: 0.25em;
	list-style: none;
	margin: 5px 0 0;
	padding: 0 0 0 1.5em;
}

.sitemap-container .cst-cols-2 { --cst-cols: 2; }
.sitemap-container .cst-cols-3 { --cst-cols: 3; }
.sitemap-container .cst-cols-4 { --cst-cols: 4; }
.sitemap-container .cst-cols-5 { --cst-cols: 5; }

.sitemap-container .cst-list-panel .sitemap {
	display: list-item;
	list-style: disc outside;
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
	overflow-wrap: anywhere;
	color: var(--cst-link);
}

.sitemap-container .cst-children {
	list-style: none;
	margin: 0.25em 0 0;
	padding: 0 0 0 1.25em;
}

.sitemap-container .cst-children .sitemap {
	list-style: circle outside;
	margin: 0 0 0.2em;
}

.sitemap-container .cst-view-all {
	margin: 0.75em 0 0 1.5em;
	font-weight: 600;
}

.sitemap-container .cst-view-all a {
	color: var(--cst-link);
}

.sitemap-container .cst-view-all a:hover,
.sitemap-container .cst-view-all a:focus {
	color: var(--cst-link-hover);
}

.sitemap-container .cst-menu-label {
	font-weight: 600;
}

.sitemap-container .cst-list-panel .cst-empty {
	grid-column: 1 / -1;
	font-style: italic;
}

.sitemap-container a.cst-item-links {
	color: var(--cst-link);
}

.sitemap-container a.cst-item-links:hover,
.sitemap-container a.cst-item-links:focus {
	color: var(--cst-link-hover);
}

/* Narrow containers (sidebars, tablets): at most 2 columns. */
@container cst-sitemap (max-width: 900px) {
	.sitemap-container .cst-cols-3,
	.sitemap-container .cst-cols-4,
	.sitemap-container .cst-cols-5 { --cst-cols: 2; }
}

/* Very narrow (phones): single column. */
@container cst-sitemap (max-width: 560px) {
	.sitemap-container .cst-list-panel { --cst-cols: 1; }
}

@media print {
	.sitemap-container .panel[hidden] { display: block !important; content-visibility: visible !important; }
	.sitemap-container .cst-list-tab-icon { display: none; }
}
