/* HTML sitemap extras. Institutional chrome (canvas, hero, H1, cards,
   wrap, colours) lives in css/cv2-terms.css and is shared with Terms.
   Do not duplicate those rules here. */

.cv2-sitemap {
	overflow-x: hidden;
}

.cv2-sitemap__block {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 1px 2px rgba(58, 31, 42, 0.06);
	padding: 18px 22px 20px;
	margin: 0 0 12px;
	min-width: 0;
	text-align: left;
}
.cv2-sitemap__block--flat {
	background: transparent;
	box-shadow: none;
	padding: 8px 0 20px;
	border-radius: 0;
}

.cv2-sitemap__h2 {
	margin: 0 0 14px;
	font-family: "Nunito", Helvetica, Arial, sans-serif;
	font-size: 22px;
	font-weight: 800;
	color: #8B1C3C;
	line-height: 1.25;
	text-align: left;
}

.cv2-sitemap__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	min-width: 0;
}

.cv2-sitemap__cat {
	background: #fff;
	border-radius: 14px;
	padding: 16px 18px 14px;
	box-shadow: 0 1px 2px rgba(58, 31, 42, 0.06);
	min-width: 0;
	text-align: left;
}
.cv2-sitemap__cat-head {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 8px;
	font-size: 16px;
	line-height: 1.35;
}
.cv2-sitemap__cat-link {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: 800;
	font-size: 16px;
	color: #8B1C3C;
	text-decoration: none;
	text-align: left;
}
.cv2-sitemap__cat-link:hover { color: #BE1E5B; text-decoration: underline; }
.cv2-sitemap__cat-link:focus-visible,
.cv2-sitemap a:focus-visible,
.cv2-sitemap__cat-toggle:focus-visible {
	outline: 2px solid #BE1E5B;
	outline-offset: 3px;
	border-radius: 4px;
}

.cv2-sitemap__cat-toggle {
	display: none;
	flex: none;
	margin: 0;
	padding: 0 2px;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: #C9A0B0;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 22px;
	line-height: 1;
}
.cv2-sitemap__chev { display: block; }

.cv2-sitemap__cat ul,
.cv2-sitemap__links {
	margin: 0;
	padding-left: 1.15em;
	text-align: left;
}
.cv2-sitemap__cat li,
.cv2-sitemap__links li {
	margin: 0.28em 0;
	min-width: 0;
}
.cv2-sitemap__cat a,
.cv2-sitemap__links a {
	color: #BE1E5B;
	text-decoration: none;
	overflow-wrap: anywhere;
}
.cv2-sitemap__cat a:hover,
.cv2-sitemap__links a:hover { color: #8B1C3C; text-decoration: underline; }

.cv2-sitemap__links { padding-left: 1.15em; }
.cv2-sitemap__extra { margin: 0 0 14px; }

.cv2-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

@media (max-width: 900px) {
	.cv2-sitemap__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.cv2-sitemap__grid { grid-template-columns: minmax(0, 1fr); }
	.cv2-sitemap__h2 { font-size: 18px; }
	.cv2-sitemap__cat-toggle { display: inline-flex; }
	.cv2-sitemap__cat-head { margin-bottom: 0; }
	.cv2-sitemap__cat-panel { margin-top: 8px; }
}

@media (min-width: 561px) {
	.cv2-sitemap__cat-panel[hidden] { display: block !important; }
}

html.no-js .cv2-sitemap__cat-panel[hidden],
.cv2-sitemap.cv2-sitemap--nojs .cv2-sitemap__cat-panel[hidden] {
	display: block !important;
}

@media (prefers-reduced-motion: reduce) {
	.cv2-sitemap__cat-link,
	.cv2-sitemap a { transition: none; }
}

@media print {
	.cv2-sitemap__cat-toggle { display: none !important; }
	.cv2-sitemap__cat-panel[hidden] { display: block !important; }
	.cv2-sitemap__cat,
	.cv2-sitemap__block { break-inside: avoid; box-shadow: none; }
}
