/* REBUILD-0075 ARTICLE VISUAL 90-TO-95 PAGE LAYER
 * One native Post context remains the data owner. All geometry is content-led,
 * optional media collapses naturally, and every selector is Article-gated. */

body.single.single-post {
	--dscr-article-ink: var(--wp--preset--color--contrast);
	--dscr-article-muted: rgb(40 40 40 / 68%);
	--dscr-article-line: rgb(40 40 40 / 12%);
	--dscr-article-warm: rgb(255 135 20 / 12%);
	--dscr-article-warm-strong: rgb(255 135 20 / 24%);
	--dscr-article-paper: var(--wp--preset--color--base);
	--dscr-article-reading: 720px;
	--dscr-article-frame: 1000px;
}

body.single.single-post main.dscr-article-main {
	position: relative;
	isolation: isolate;
	padding-bottom: clamp(4.5rem, 8vw, 7rem) !important;
	background:
		radial-gradient(circle at 8% 8%, rgb(255 135 20 / 16%) 0 9rem, transparent 22rem),
		linear-gradient(180deg, var(--wp--preset--color--surface-soft) 0 18rem, rgb(255 248 238) 48rem, var(--wp--preset--color--base) 100%);
	overflow: clip;
}

body.single.single-post main.dscr-article-main::before {
	position: absolute;
	top: 22rem;
	right: -9rem;
	z-index: -1;
	width: clamp(18rem, 34vw, 34rem);
	aspect-ratio: 1;
	border: 1px solid rgb(255 135 20 / 14%);
	border-radius: 50%;
	background: radial-gradient(circle, rgb(255 135 20 / 10%) 0 38%, transparent 39% 100%);
	content: "";
	pointer-events: none;
}

body.single.single-post article.dscr-article {
	position: relative;
	z-index: 1;
	color: var(--dscr-article-ink);
}

body.single.single-post .dscr-article__header {
	position: relative;
	overflow: hidden;
	padding: clamp(2.75rem, 7vw, 5.5rem) 15px clamp(3.25rem, 7vw, 5.5rem) !important;
	border-bottom: 1px solid rgb(255 135 20 / 18%);
	background:
		radial-gradient(circle at 88% 14%, var(--dscr-article-warm-strong) 0 5.5rem, transparent 5.65rem),
		linear-gradient(145deg, rgb(255 255 255 / 96%) 0 48%, rgb(255 244 230 / 98%) 100%) !important;
}

body.single.single-post .dscr-article__header::before,
body.single.single-post .dscr-article__header::after {
	position: absolute;
	content: "";
	pointer-events: none;
}

body.single.single-post .dscr-article__header::before {
	top: -7rem;
	left: -8rem;
	width: clamp(15rem, 30vw, 28rem);
	aspect-ratio: 1;
	border-radius: 42% 58% 68% 32% / 45% 32% 68% 55%;
	background: rgb(255 135 20 / 8%);
	transform: rotate(18deg);
}

body.single.single-post .dscr-article__header::after {
	inset: auto 0 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgb(255 135 20 / 55%), transparent);
}

body.single.single-post .dscr-article__header > * {
	position: relative;
	z-index: 1;
	width: min(100%, 900px);
	max-width: 900px !important;
	margin-inline: auto !important;
}

body.single.single-post .dscr-article__header > p:first-child {
	margin-block: 0 !important;
	color: var(--wp--preset--color--accent-contrast) !important;
	font-size: 0.75rem !important;
	line-height: 1.3;
}

body.single.single-post .dscr-article__header .wp-block-post-title {
	max-width: 19ch !important;
	margin-block: clamp(0.75rem, 2vw, 1.15rem) 0 !important;
	font-size: clamp(2rem, 5.5vw, 4.35rem) !important;
	font-weight: 800;
	line-height: 1.02 !important;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

body.single.single-post .dscr-article__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1rem !important;
	align-items: center;
	margin-block-start: clamp(1rem, 2.5vw, 1.5rem) !important;
	color: var(--dscr-article-muted);
}

body.single.single-post .dscr-article__meta > * {
	margin: 0 !important;
}

body.single.single-post .dscr-article__meta a {
	color: var(--dscr-article-ink);
	text-decoration-color: rgb(255 135 20 / 70%);
	text-decoration-thickness: 0.1em;
	text-underline-offset: 0.18em;
}

body.single.single-post .dscr-article__header > .wp-block-post-featured-image {
	position: relative;
	overflow: hidden;
	margin-block: clamp(1.75rem, 4vw, 3rem) 0 !important;
	border: 1px solid rgb(40 40 40 / 10%);
	border-radius: clamp(0.85rem, 2vw, 1.4rem) !important;
	background: var(--wp--preset--color--surface-soft);
	box-shadow: 0 1.5rem 4rem rgb(78 47 22 / 16%);
}

body.single.single-post .dscr-article__header > .wp-block-post-featured-image::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgb(255 255 255 / 0%) 48%, rgb(255 135 20 / 12%) 100%);
	content: "";
	pointer-events: none;
}

body.single.single-post .dscr-article__header > .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border-radius: inherit !important;
	object-fit: cover;
}

body.single.single-post .dscr-article__body {
	position: relative;
	width: min(calc(100% - 30px), 900px);
	max-width: 900px !important;
	margin: clamp(-2rem, -2.4vw, -1.25rem) auto 0 !important;
	padding: clamp(2.75rem, 6vw, 5rem) clamp(1.5rem, 7vw, 5.5rem) !important;
	border: 1px solid var(--dscr-article-line);
	border-radius: clamp(1rem, 2vw, 1.5rem);
	background: var(--dscr-article-paper);
	box-shadow: 0 1.5rem 4rem rgb(40 40 40 / 8%);
	box-sizing: border-box;
}

body.single.single-post .dscr-article__body .wp-block-post-content {
	width: min(100%, var(--dscr-article-reading));
	max-width: var(--dscr-article-reading) !important;
	margin-inline: auto !important;
	color: var(--dscr-article-ink);
	font-size: clamp(1.0625rem, 0.35vw + 1rem, 1.1875rem) !important;
	line-height: 1.72 !important;
}

body.single.single-post .dscr-article__body .wp-block-post-content > * {
	max-width: 100%;
	margin-block: 0 !important;
}

body.single.single-post .dscr-article__body .wp-block-post-content > * + * {
	margin-block-start: 1.4em !important;
}

body.single.single-post .dscr-article__body .wp-block-post-content > p:first-child {
	font-size: 1.12em;
	line-height: 1.68;
}

body.single.single-post .dscr-article__body .wp-block-post-content :where(h2, h3, h4) {
	margin-block-start: 2.15em !important;
	color: var(--wp--preset--color--accent-contrast);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.025em;
	text-wrap: balance;
}

body.single.single-post .dscr-article__body .wp-block-post-content h2 {
	font-size: clamp(1.65rem, 3.5vw, 2.35rem);
}

body.single.single-post .dscr-article__body .wp-block-post-content :where(ul, ol) {
	padding-inline-start: 1.4em;
}

body.single.single-post .dscr-article__body .wp-block-post-content li + li {
	margin-block-start: 0.4em;
}

body.single.single-post .dscr-article__body .wp-block-post-content a {
	color: var(--dscr-article-ink);
	text-decoration-color: var(--wp--preset--color--accent);
	text-decoration-thickness: 0.1em;
	text-underline-offset: 0.18em;
}

body.single.single-post .dscr-article__body .wp-block-post-content blockquote {
	padding: clamp(1rem, 3vw, 1.5rem);
	border-inline-start: 4px solid var(--wp--preset--color--accent);
	border-radius: 0 0.75rem 0.75rem 0;
	background: linear-gradient(90deg, var(--dscr-article-warm), rgb(255 255 255 / 0%));
}

body.single.single-post .dscr-article__body .wp-block-post-content :where(figure, .wp-block-image, .wp-block-gallery) {
	overflow: hidden;
	border-radius: 1rem;
}

body.single.single-post .dscr-article__body .wp-block-post-content :where(img, video, iframe) {
	max-width: 100%;
	height: auto;
}

body.single.single-post .dscr-article__body .wp-block-post-content :where(pre, .wp-block-table) {
	max-width: 100%;
	overflow-x: auto;
}

body.single.single-post .dscr-article__navigation,
body.single.single-post .dscr-article__comments {
	width: min(calc(100% - 30px), var(--dscr-article-frame));
	max-width: var(--dscr-article-frame) !important;
	margin-inline: auto !important;
	box-sizing: border-box;
}

body.single.single-post .dscr-article__navigation {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(0.75rem, 2.5vw, 1.5rem) !important;
	margin-block-start: clamp(2rem, 5vw, 4rem) !important;
	padding: clamp(0.8rem, 2.5vw, 1.25rem) !important;
	border: 1px solid rgb(40 40 40 / 10%);
	border-radius: 1rem !important;
	background: rgb(255 255 255 / 80%) !important;
	box-shadow: 0 0.75rem 2.5rem rgb(40 40 40 / 6%);
	backdrop-filter: blur(14px);
}

body.single.single-post .dscr-article__navigation > * {
	margin: 0 !important;
}

body.single.single-post .dscr-article__navigation .post-navigation-link-next {
	grid-column: 2;
	text-align: end;
}

body.single.single-post .dscr-article__navigation a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 64px;
	padding: 0.65rem clamp(0.7rem, 2vw, 1.25rem);
	border-radius: 0.75rem;
	color: var(--dscr-article-ink);
	background: var(--wp--preset--color--surface-soft);
	text-decoration: none;
	box-sizing: border-box;
}

body.single.single-post .dscr-article__navigation .post-navigation-link__label {
	color: var(--wp--preset--color--accent-contrast);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

body.single.single-post .dscr-article__navigation .post-navigation-link__title {
	margin-block-start: 0.25rem;
	font-weight: 700;
	line-height: 1.25;
}

body.single.single-post .dscr-article__comments {
	margin-block-start: clamp(1.5rem, 4vw, 3rem) !important;
	padding: clamp(1.5rem, 5vw, 4rem) !important;
	border: 1px solid var(--dscr-article-line);
	border-top: 4px solid var(--wp--preset--color--accent);
	border-radius: 1rem !important;
	background: rgb(255 255 255 / 92%) !important;
	box-shadow: 0 1.5rem 4rem rgb(40 40 40 / 8%);
}

body.single.single-post .dscr-article__comments :where(input:not([type="checkbox"]):not([type="radio"]), textarea) {
	width: 100%;
	min-height: var(--wp--custom--accessibility--target-primary);
	padding: 0.75rem 0.9rem;
	border: 1px solid rgb(40 40 40 / 24%);
	border-radius: 0.55rem;
	background: var(--wp--preset--color--base);
	box-sizing: border-box;
}

body.single.single-post .dscr-article__comments textarea {
	min-height: clamp(11rem, 24vw, 17rem);
	resize: vertical;
}

body.single.single-post .dscr-article__comments :where(button, input[type="submit"], .wp-element-button) {
	min-height: var(--wp--custom--accessibility--target-primary);
	padding-inline: 1.5rem;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	color: var(--dscr-article-ink);
	font-weight: 800;
}

@media (max-width: 767px) {
	body.single.single-post main.dscr-article-main {
		padding-bottom: 3.5rem !important;
		background: var(--wp--preset--color--base);
		overflow: visible;
	}

	body.single.single-post main.dscr-article-main::before {
		display: none;
	}

	body.single.single-post .dscr-article__header {
		padding-block: 1.75rem 2rem !important;
		padding-inline: 15px !important;
	}

	body.single.single-post .dscr-article__header .wp-block-post-title {
		margin-block-start: 0.6rem !important;
		font-size: clamp(1.85rem, 7.8vw, 2.2rem) !important;
		line-height: 1.06 !important;
	}

	body.single.single-post .dscr-article__meta {
		margin-block-start: 0.8rem !important;
	}

	body.single.single-post .dscr-article__header > .wp-block-post-featured-image {
		margin-block-start: 1.4rem !important;
		border-radius: 0.85rem !important;
		box-shadow: 0 1rem 2.75rem rgb(78 47 22 / 14%);
	}

	body.single.single-post .dscr-article__body {
		width: 100%;
		max-width: none !important;
		margin-top: 0 !important;
		padding: clamp(2rem, 8vw, 2.25rem) 15px clamp(2.5rem, 10vw, 3rem) !important;
		border-inline: 0;
		border-radius: 0;
		box-shadow: none;
	}

	body.single.single-post .dscr-article__body .wp-block-post-content {
		width: 100%;
		max-width: none !important;
		font-size: 1.0625rem !important;
		line-height: 1.68 !important;
	}

	body.single.single-post .dscr-article__body .wp-block-post-content :where(h2, h3, h4) {
		margin-block-start: 1.9em !important;
	}

	body.single.single-post .dscr-article__navigation,
	body.single.single-post .dscr-article__comments {
		width: calc(100% - 30px);
	}

	body.single.single-post .dscr-article__navigation {
		gap: 0.5rem !important;
		margin-block-start: 2.5rem !important;
		padding: 0.6rem !important;
	}

	body.single.single-post .dscr-article__navigation a {
		min-height: 60px;
		padding-inline: 0.65rem;
	}

	body.single.single-post .dscr-article__navigation .post-navigation-link__title {
		font-size: 0.78rem;
	}

	body.single.single-post .dscr-article__comments {
		margin-block-start: 2rem !important;
		padding: clamp(1.25rem, 6vw, 2rem) !important;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	body.single.single-post main.dscr-article-main {
		padding-bottom: 4rem !important;
	}

	body.single.single-post .dscr-article__header {
		padding-block: 2.5rem 3rem !important;
		padding-inline: 32px !important;
	}

	body.single.single-post .dscr-article__header .wp-block-post-title {
		margin-block-start: 0.8rem !important;
	}

	body.single.single-post .dscr-article__meta {
		margin-block-start: 1rem !important;
	}

	body.single.single-post .dscr-article__body {
		width: min(calc(100% - 64px), 820px);
		margin-top: -1.5rem !important;
		padding-inline: clamp(2.5rem, 7vw, 4.5rem) !important;
	}

	body.single.single-post .dscr-article__navigation,
	body.single.single-post .dscr-article__comments {
		width: min(calc(100% - 30px), var(--dscr-article-frame));
	}
}

/* Article owns the mobile/tablet utility placement so long-form copy remains unobstructed. */
@media (max-width: 1023px) {
	body.single.single-post .dscr-footer__utility {
		position: static !important;
		inset: auto !important;
		z-index: auto !important;
		width: 100% !important;
		min-height: 70px;
		margin: 0 !important;
	}
}

@media (min-width: 1024px) {
	body.single.single-post .dscr-article__header {
		padding-inline: max(24px, calc((100% - 1000px) / 2)) !important;
	}

	body.single.single-post .dscr-article__body {
		margin-top: -2.25rem !important;
	}

	body.single.single-post .dscr-article__comments .comment-form {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 1.25rem;
	}

	body.single.single-post .dscr-article__comments .comment-form > :where(.comment-notes, .comment-form-comment, .comment-form-cookies-consent, .form-submit) {
		grid-column: 1 / -1;
	}
}

@media (prefers-reduced-motion: no-preference) {
	body.single.single-post .dscr-article__header > p:first-child,
	body.single.single-post .dscr-article__header .wp-block-post-title,
	body.single.single-post .dscr-article__meta,
	body.single.single-post .dscr-article__header > .wp-block-post-featured-image,
	body.single.single-post .dscr-article__body,
	body.single.single-post .dscr-article__navigation,
	body.single.single-post .dscr-article__comments {
		animation: dscr-article-enter 620ms cubic-bezier(0.22, 1, 0.36, 1) both;
	}

	body.single.single-post .dscr-article__header > .wp-block-post-featured-image img {
		animation: dscr-article-media-settle 900ms cubic-bezier(0.22, 1, 0.36, 1) both;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.single.single-post .dscr-article__header > p:first-child,
	body.single.single-post .dscr-article__header .wp-block-post-title,
	body.single.single-post .dscr-article__meta,
	body.single.single-post .dscr-article__header > .wp-block-post-featured-image,
	body.single.single-post .dscr-article__header > .wp-block-post-featured-image img,
	body.single.single-post .dscr-article__body,
	body.single.single-post .dscr-article__navigation,
	body.single.single-post .dscr-article__comments {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

@keyframes dscr-article-enter {
	from {
		opacity: 0;
		transform: translateY(0.9rem);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes dscr-article-media-settle {
	from {
		filter: saturate(0.86);
		transform: scale(1.025);
	}
	to {
		filter: saturate(1);
		transform: scale(1);
	}
}
