/* ============================================================
   SkyCity Auckland — Sitemap page
   sitemap.css
   Branch-line tree styling for the human-readable /sitemap page
   (doc type: sitemapPage). Extracted from the SitemapPage.cshtml
   inline <style> block.
   ============================================================ */

.sc-sitemap-page {
	padding: calc(var(--sc-nav-height) + 56px) 0 96px;
	min-height: 60vh;
	background: var(--sc-bg);
}

.sc-sitemap-inner {
	max-width: 800px;
}

.sc-sitemap-header {
	margin-bottom: 48px;
	padding-bottom: 20px;
	border-bottom: 2px solid var(--sc-gold);
}

.sc-sitemap-title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 800;
	color: var(--sc-text);
	margin: 0 0 10px;
	letter-spacing: -0.02em;
}

.sc-sitemap-intro {
	font-size: 1rem;
	color: #666;
	margin: 0;
}

.sc-sitemap-tree {
	position: relative;
}

.sc-sitemap-root {
	margin-bottom: 4px;
}

.sc-sitemap-root-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 1.0625rem;
	font-weight: 800;
	color: var(--sc-text);
	text-decoration: none;
	padding: 6px 0;
	transition: color 0.2s;
}

.sc-sitemap-root-link:hover { color: var(--sc-gold); }

.sc-sitemap-root-link .material-symbols-outlined {
	font-size: 20px;
	color: var(--sc-gold);
}

.sc-sitemap-branch {
	position: relative;
	padding-left: 24px;
}

.sc-sitemap-branch::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 1px;
	background: #d8d0c4;
}

.sc-sitemap-branch--last::before {
	bottom: auto;
	height: 20px;
}

.sc-sitemap-branch::after {
	content: '';
	position: absolute;
	left: 0;
	top: 20px;
	width: 18px;
	height: 1px;
	background: #d8d0c4;
}

.sc-sitemap-node--section {
	padding: 6px 0 6px 8px;
}

.sc-sitemap-link--section {
	font-size: 1rem;
	font-weight: 700;
	color: var(--sc-text);
}

.sc-sitemap-children {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sc-sitemap-child {
	position: relative;
}

.sc-sitemap-child--d1 { padding-left: 20px; }
.sc-sitemap-child--d2 { padding-left: 40px; }
.sc-sitemap-child--d3 { padding-left: 60px; }
.sc-sitemap-child--d4 { padding-left: 80px; }

.sc-sitemap-child::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 1px;
	background: #e0d8d0;
}

.sc-sitemap-child--d1::before { left: 0; }
.sc-sitemap-child--d2::before { left: 20px; }
.sc-sitemap-child--d3::before { left: 40px; }
.sc-sitemap-child--d4::before { left: 60px; }

.sc-sitemap-child--last::before {
	bottom: auto;
	height: 16px;
}

.sc-sitemap-child::after {
	content: '';
	position: absolute;
	top: 16px;
	width: 14px;
	height: 1px;
	background: #e0d8d0;
}

.sc-sitemap-child--d1::after { left: 0; }
.sc-sitemap-child--d2::after { left: 20px; }
.sc-sitemap-child--d3::after { left: 40px; }
.sc-sitemap-child--d4::after { left: 60px; }

.sc-sitemap-link {
	display: inline-block;
	padding: 5px 4px;
	font-size: 0.9375rem;
	color: var(--sc-text);
	text-decoration: none;
	transition: color 0.15s;
}

.sc-sitemap-link:hover {
	color: var(--sc-gold);
}

.sc-sitemap-link--no-url {
	color: #999;
	cursor: default;
}

.sc-sitemap-link--no-url:hover {
	color: #999;
}

.sc-sitemap-child--d1 .sc-sitemap-link { font-size: 0.9375rem; }
.sc-sitemap-child--d2 .sc-sitemap-link { font-size: 0.875rem;  color: #444; }
.sc-sitemap-child--d3 .sc-sitemap-link { font-size: 0.8125rem; color: #666; }
.sc-sitemap-child--d4 .sc-sitemap-link { font-size: 0.8125rem; color: var(--sc-text); }

.sc-sitemap-child--d2 .sc-sitemap-link:hover,
.sc-sitemap-child--d3 .sc-sitemap-link:hover,
.sc-sitemap-child--d4 .sc-sitemap-link:hover { color: var(--sc-gold); }

@media (max-width: 600px) {
	.sc-sitemap-page { padding-top: calc(var(--sc-nav-height) + 32px); }
	.sc-sitemap-child--d2 { padding-left: 32px; }
	.sc-sitemap-child--d3 { padding-left: 48px; }
	.sc-sitemap-child--d4 { padding-left: 64px; }
	.sc-sitemap-child--d2::before { left: 16px; }
	.sc-sitemap-child--d3::before { left: 32px; }
	.sc-sitemap-child--d4::before { left: 48px; }
	.sc-sitemap-child--d2::after { left: 16px; }
	.sc-sitemap-child--d3::after { left: 32px; }
	.sc-sitemap-child--d4::after { left: 48px; }
}
