/* Individual article (post) detail — DraXter mockup layout */

:root {
	--article-blue: #3b44f6;
	--article-blue-deep: #3033ff;
	--article-text: #14151a;
	--article-heading: #1a2a6c;
	--article-toc-bg: #f3f3f5;
	--article-muted: #7c7979;
}

.article-detail {
	font-family: "Onest", Arial, sans-serif;
	color: var(--article-text);
	padding: 0 0 80px;
	box-sizing: border-box;
	background: #fff;
}

.article-detail *,
.article-detail *::before,
.article-detail *::after {
	box-sizing: border-box;
}

/* Full-width content area; hide catalog sidebar */
body.articlesview.article-detail-page #column-left,
body.articlesview.article-detail-page .side-shade2 {
	display: none !important;
}

body.articlesview.article-detail-page #content {
	float: none;
	width: 100%;
	max-width: none;
	padding: 8px 0 40px;
	margin: 0;
	background: #fff;
	overflow: visible;
}

body.articlesview.article-detail-page #container {
	padding-left: 0;
	padding-right: 0;
	overflow: visible;
}

/* Site breadcrumb pattern (delivery / warranty / articles listing):
   text crumbs + chevron seps, no house icon / catalog chrome */
body.articlesview.article-detail-page #container > .breadcrumb.catalog-listing__breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	height: auto;
	min-height: 0;
	margin-bottom: 28px;
	padding: 40px 0 0;
	overflow: visible;
	white-space: normal;
	background: transparent;
	font-size: 14px;
	line-height: 1.4;
	color: #6b7280;
}

body.articlesview.article-detail-page .catalog-listing__breadcrumbs a,
body.articlesview.article-detail-page .catalog-listing__breadcrumbs span {
	font-size: 18px;
	line-height: inherit;
	color: #102631;
	text-decoration: none;
}

body.articlesview.article-detail-page .catalog-listing__breadcrumbs > span {
	display: inline-flex;
	align-items: center;
	vertical-align: unset;
}

body.articlesview.article-detail-page .catalog-listing__breadcrumbs .home link,
body.articlesview.article-detail-page .catalog-listing__breadcrumbs .home meta {
	display: none;
}

body.articlesview.article-detail-page .catalog-listing__breadcrumbs .home svg {
	display: none;
}

body.articlesview.article-detail-page .catalog-listing__breadcrumbs a:hover {
	color: #545c98;
}

body.articlesview.article-detail-page .catalog-listing__breadcrumbs .catalog-listing__breadcrumbs-current,
body.articlesview.article-detail-page .catalog-listing__breadcrumbs .catalog-listing__breadcrumbs-current [itemprop="name"] {
	color: #707070;
}

body.articlesview.article-detail-page .catalog-listing__breadcrumbs-sep {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 16px;
	vertical-align: middle;
	line-height: 0;
}

body.articlesview.article-detail-page .catalog-listing__breadcrumbs-sep svg {
	display: block;
}

/* Kill legacy blue H1 bar if anything slips through */
body.articlesview.article-detail-page #content > h1:not(.article-detail__title) {
	display: none !important;
}

body.articlesview.article-detail-page #content > .article-detail > .article-detail__title,
#content .article-detail__title {
	display: block;
	box-sizing: border-box;
	margin: 0 0 36px;
	padding: 0;
	height: auto;
	max-height: none;
	line-height: 1.15;
	overflow: visible;
	white-space: normal;
	text-overflow: clip;
	background: none;
	color: #102631;
	font-family: "SONGER SemiExpanded", "Onest", Arial, sans-serif;
	font-size: clamp(28px, 3.2vw, 42px);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	position: static;
	z-index: auto;
}

.article-detail__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
	gap: 48px 56px;
	/* stretch so aside is as tall as the article — required for sticky TOC */
	align-items: stretch;
}

.article-detail__main {
	min-width: 0;
}

.article-detail__aside {
	min-width: 0;
	align-self: stretch;
	overflow: visible;
}

/* —— Body typography —— */
.article-detail__body {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.7;
	color: var(--article-text);
}

.article-detail__body > *:first-child {
	margin-top: 0;
}

.article-detail__body p {
	margin: 0 0 18px;
}

.article-detail__body h2 {
	margin: 36px 0 16px;
	color: var(--article-heading);
	font-family: "Onest", Arial, sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.35;
	text-transform: none;
	scroll-margin-top: 96px;
}

.article-detail__body h3 {
	margin: 28px 0 12px;
	color: var(--article-heading);
	font-family: "Onest", Arial, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	text-transform: none;
	scroll-margin-top: 96px;
}

.article-detail__body h4,
.article-detail__body h5,
.article-detail__body h6 {
	margin: 22px 0 10px;
	color: var(--article-text);
	font-family: "Onest", Arial, sans-serif;
	font-weight: 700;
	scroll-margin-top: 96px;
}

.article-detail__body a {
	color: var(--article-blue);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.article-detail__body a:hover {
	color: var(--article-blue-deep);
}

.article-detail__body img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}

.article-detail__body blockquote {
	margin: 20px 0;
	padding: 12px 20px;
	border-left: 3px solid var(--article-blue);
	color: #333;
	background: #f8f8fa;
}

/* Blue list markers (override global list-style:none) */
body.articlesview.article-detail-page #content .article-detail__body ul,
#content .article-detail__body ul {
	margin: 0 0 20px;
	padding: 0 0 0 4px;
	list-style: none;
}

body.articlesview.article-detail-page #content .article-detail__body ul li,
#content .article-detail__body ul li {
	position: relative;
	list-style: none;
	margin: 0 0 10px;
	padding: 0 0 0 22px;
	line-height: 1.65;
}

body.articlesview.article-detail-page #content .article-detail__body ul li::before,
#content .article-detail__body ul li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.55em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--article-blue);
}

body.articlesview.article-detail-page #content .article-detail__body ol,
#content .article-detail__body ol {
	margin: 0 0 20px;
	padding: 0 0 0 24px;
	list-style: decimal;
}

body.articlesview.article-detail-page #content .article-detail__body ol li,
#content .article-detail__body ol li {
	list-style: decimal;
	margin: 0 0 10px;
	padding: 0;
	line-height: 1.65;
}

body.articlesview.article-detail-page #content .article-detail__body ol li::before,
#content .article-detail__body ol li::before {
	content: none;
	display: none;
}

/* —— TOC sidebar —— */
.article-detail__toc {
	position: sticky;
	/* below sticky .main-hdr (~88–100px when stuck) */
	top: 100px;
	padding: 22px 22px 20px;
	border-radius: 14px;
	background: var(--article-toc-bg);
	max-height: calc(100vh - 120px);
	overflow-y: auto;
}

.article-detail__toc[hidden] {
	display: none !important;
}

.article-detail__toc-title {
	margin: 0 0 14px;
	padding: 0;
	color: var(--article-text);
	font-family: "Onest", Arial, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.article-detail__toc-nav {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.article-detail__toc-link {
	display: block;
	color: #2a2a2e;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	text-decoration: none;
	transition: color 0.15s ease;
}

.article-detail__toc-link:hover,
.article-detail__toc-link.is-active {
	color: var(--article-blue);
}

.article-detail__toc-link--h2 {
	font-weight: 600;
}

.article-detail__toc-link--h3 {
	padding-left: 0;
	font-weight: 400;
}

.article-detail__toc-num {
	margin-right: 0.25em;
	font-variant-numeric: tabular-nums;
}

.article-detail__related-heading {
	margin-top: 48px;
}

.article-detail__gallery {
	margin-top: 32px;
}

@media only screen and (max-width: 1100px) {
	.article-detail__layout {
		grid-template-columns: minmax(0, 1fr) minmax(220px, 260px);
		gap: 36px 32px;
	}

	body.articlesview.article-detail-page #content .article-detail__title,
	#content .article-detail__title {
		font-size: 32px;
		margin-bottom: 28px;
	}
}

@media only screen and (max-width: 900px) {
	.article-detail__layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.article-detail__aside {
		order: -1;
	}

	.article-detail__toc {
		position: static;
		top: auto;
	}

	body.articlesview.article-detail-page #content .article-detail__title,
	#content .article-detail__title {
		font-size: 26px;
		margin-bottom: 20px;
	}

	.article-detail__body h2 {
		font-size: 20px;
	}

	.article-detail__body h3 {
		font-size: 17px;
	}
}

@media only screen and (max-width: 640px) {
	.article-detail {
		padding: 0 0 48px;
	}

	body.articlesview.article-detail-page #content {
		padding: 8px 0 32px;
	}

	body.articlesview.article-detail-page #content .article-detail__title,
	#content .article-detail__title {
		font-size: 22px;
		margin-bottom: 16px;
	}

	.article-detail__toc {
		padding: 16px 16px 14px;
		border-radius: 12px;
	}

	.article-detail__toc-title {
		font-size: 16px;
	}
}
