/*
 * SleepBaby.org 2.4.4 — article/theme refinement layer
 * Exactly 100 additional customer-facing improvements, globally numbered
 * 101–200. This layer changes presentation only: it adds no wording, reviews,
 * claims, urgency, destinations, scripts, or payment behavior. Every workshop
 * action inside the regular article remains a homepage warm-up route.
 */

/* 101 — Establish a denser editorial scale, safe intrinsic sizing, and the
 * requested Times New Roman face for every native and injected article UI. */
body.sleepbaby-single-post {
	--sb244-ink: #211a27;
	--sb244-ink-soft: #4d4351;
	--sb244-navy: #101f46;
	--sb244-navy-hover: #1c3269;
	--sb244-plum: #4d3559;
	--sb244-plum-soft: #745e7d;
	--sb244-teal: #527f7b;
	--sb244-paper: #fffefa;
	--sb244-paper-soft: #fbf8f3;
	--sb244-mist: #f4eff6;
	--sb244-rule: #d9cfdd;
	--sb244-rule-strong: #b8a7bf;
	--sb244-focus: #755083;
	--sb244-reading: 680px;
	--sb244-sheet: 920px;
	color: var(--sb244-ink);
	font-family: "Times New Roman", Times, serif !important;
	font-kerning: normal;
	font-synthesis: none;
}

body.sleepbaby-single-post :where(*, *::before, *::after) {
	box-sizing: border-box;
	font-family: inherit;
}

/* 102 — Make copied and highlighted passages unmistakable without sacrificing
 * text contrast in either the article sheet or its controls. */
body.sleepbaby-single-post ::selection {
	color: #15101a;
	background: #dfd0e6;
	text-shadow: none;
}

/* 103 — Keep every in-page destination clear of browser chrome and the mobile
 * dock, while retaining predictable, non-jarring scrolling. */
body.sleepbaby-single-post {
	scroll-padding-top: 24px;
	scroll-padding-bottom: max(28px, env(safe-area-inset-bottom));
}

body.sleepbaby-single-post :where([id], h2, h3, h4, h5, h6) {
	scroll-margin-top: 28px;
}

/* 104 — Give the publisher header an intentional three-zone grid so logo,
 * navigation, and workshop action never compete for horizontal space. */
body.sleepbaby-single-post .site-header {
	grid-template-columns: minmax(164px, 218px) minmax(0, 1fr) auto;
	gap: clamp(12px, 2.2vw, 34px);
	align-items: center;
	isolation: isolate;
}

/* 105 — Increase header surface opacity and border contrast so menu text stays
 * readable over every article canvas and during image loading. */
body.sleepbaby-single-post .site-header {
	color: var(--sb244-ink);
	background: rgba(255, 254, 250, .975);
	border-bottom-color: rgba(77, 53, 89, .28);
	box-shadow: 0 6px 20px rgba(38, 28, 45, .075);
}

/* 106 — Stabilize the header's vertical rhythm and prevent late-loading brand
 * assets from causing a visible layout shift. */
body.sleepbaby-single-post .site-header {
	min-height: 70px;
	contain: layout paint;
	padding-block: 8px;
}

/* 107 — Make the logo link a complete 48px interaction target with a visible
 * rounded keyboard state that does not distort the artwork. */
body.sleepbaby-single-post .site-brand-logo-link--header {
	display: inline-flex;
	min-width: 0;
	min-height: 48px;
	align-items: center;
	justify-content: flex-start;
	padding: 2px 4px 2px 0;
	overflow: visible;
}

body.sleepbaby-single-post .site-brand-logo-link--header:focus-visible {
	border-radius: 7px;
	outline-offset: 4px !important;
}

/* 108 — Preserve the logo's intrinsic proportions and sharpen it on both
 * standard and high-density displays without introducing a text fallback. */
body.sleepbaby-single-post .site-brand-logo-link--header .site-brand-logo {
	display: block;
	max-width: 100%;
	height: 44px;
	object-fit: contain;
	image-rendering: auto;
	transform: translateZ(0);
}

/* 109 — Constrain and right-align desktop navigation so long localized labels
 * wrap inside their own region rather than pushing the logo or CTA away. */
body.sleepbaby-single-post .site-primary-navigation {
	width: 100%;
	min-width: 0;
	max-width: 720px;
	justify-self: end;
}

/* 110 — Normalize menu-list alignment, whitespace, and wrapping for a compact
 * service-navigation silhouette. */
body.sleepbaby-single-post .site-menu {
	display: flex;
	min-width: 0;
	align-items: center;
	justify-content: flex-end;
	column-gap: clamp(2px, .6vw, 8px);
	row-gap: 4px;
}

body.sleepbaby-single-post .site-menu > li {
	min-width: 0;
	margin: 0;
}

/* 111 — Give each menu link a reliable 44px target, centered text baseline,
 * and enough inline room to prevent accidental neighboring taps. */
body.sleepbaby-single-post .site-menu a {
	display: inline-flex;
	min-height: 44px !important;
	align-items: center;
	justify-content: center;
	padding: 8px 11px;
	line-height: 1.12;
	text-align: center;
	text-wrap: balance;
}

/* 112 — Use a restrained inset hover treatment that remains apparent without
 * moving the navigation or looking like an advertisement. */
body.sleepbaby-single-post .site-menu a:hover {
	color: var(--sb244-navy) !important;
	background: #f3edf5;
	box-shadow: inset 0 0 0 1px #dfd3e3;
	text-decoration-color: #826d8b;
}

/* 113 — Mark the current menu destination with both color and a bottom keyline
 * so location is not communicated through color alone. */
body.sleepbaby-single-post .site-menu :is(.current-menu-item, .current_page_item) > a {
	color: var(--sb244-navy) !important;
	background: #eee7f1;
	box-shadow: inset 0 -3px 0 var(--sb244-plum-soft);
	text-decoration: none;
}

/* 114 — Give the desktop workshop action a stable footprint and prevent label
 * wrapping that would make the header jump between article titles. */
body.sleepbaby-single-post .site-header .site-header-cta {
	min-width: 188px;
	min-height: 48px !important;
	justify-content: center;
	padding-inline: 18px !important;
	line-height: 1.08 !important;
	text-align: center;
	white-space: nowrap;
}

/* 115 — Add explicit focus and pressed feedback to the header action without
 * animation-dependent meaning or a misleading destination change. */
body.sleepbaby-single-post .site-header .site-header-cta:focus-visible {
	color: #fff !important;
	box-shadow: 0 0 0 4px #efe5f2, 0 8px 20px rgba(23, 17, 37, .24) !important;
}

body.sleepbaby-single-post .site-header .site-header-cta:active {
	filter: brightness(.95);
	box-shadow: 0 3px 9px rgba(23, 17, 37, .2) !important;
	transform: translateY(1px);
}

/* 116 — Align the Menu label and icon as one 48px control with a clear pointer
 * affordance and no compressed text at narrow tablet widths. */
body.sleepbaby-single-post .site-menu-toggle {
	min-width: 88px !important;
	min-height: 48px !important;
	align-items: center;
	justify-content: center;
	gap: 9px;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
}

/* 117 — Refine the hamburger into three even, rounded strokes whose expanded
 * state stays visually centered as it becomes a close icon. */
body.sleepbaby-single-post .site-menu-toggle__icon {
	width: 19px;
	gap: 4px;
	place-items: center;
}

body.sleepbaby-single-post .site-menu-toggle__icon i {
	width: 19px;
	height: 2px;
	border-radius: 999px;
	transform-origin: center;
}

/* 118 — Keep the opened mobile navigation inside the viewport, independently
 * scrollable if necessary, and visually attached to the header control. */
body.sleepbaby-single-post .site-primary-navigation.is-open {
	max-height: min(70vh, 520px);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	box-shadow: 0 20px 46px rgba(40, 29, 49, .18);
}

/* 119 — Turn the skip link into a high-contrast, fully visible keyboard escape
 * target instead of a small browser-default fragment. */
body.sleepbaby-single-post .site-skip-link:focus {
	z-index: 1001000;
	top: 10px;
	left: 10px;
	min-height: 46px;
	display: inline-flex;
	align-items: center;
	padding: 10px 16px;
	border: 2px solid #fff;
	border-radius: 9px;
	color: #fff;
	background: var(--sb244-navy);
	box-shadow: 0 0 0 3px var(--sb244-focus), 0 10px 24px rgba(0, 0, 0, .24);
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
}

/* 120 — Isolate the article canvas from later funnel sections and use a quiet
 * top-lit background that makes the reading sheet the visual destination. */
body.sleepbaby-single-post .site-main {
	position: relative;
	isolation: isolate;
	overflow: clip;
	background:
		radial-gradient(circle at 50% -12rem, rgba(255, 255, 255, .98) 0 22rem, transparent 42rem),
		linear-gradient(145deg, #f7f1f8 0%, #f2f6f5 54%, #f7f2ee 100%);
}

/* 121 — Widen the paper sheet slightly for calmer gutters while keeping the
 * reading measure narrow and centered at every desktop size. */
body.sleepbaby-single-post .content-shell--article {
	width: min(calc(100% - 32px), var(--sb244-sheet));
	margin-inline: auto;
	padding-inline: clamp(24px, 6vw, 72px) !important;
	background: var(--sb244-paper);
}

/* 122 — Add a fine inset paper edge and soften the lower boundary so the sheet
 * hands off naturally instead of ending as a hard white rectangle. */
body.sleepbaby-single-post .content-shell--article {
	border-color: #d6cbd9;
	box-shadow:
		0 24px 72px rgba(56, 40, 66, .12),
		inset 0 0 0 1px rgba(255, 255, 255, .72);
}

/* 123 — Establish a clean article formatting context so floats, aligned media,
 * and legacy embeds cannot escape into the following April presentation. */
body.sleepbaby-single-post .content-shell--article > article {
	display: flow-root;
	min-width: 0;
	margin: 0;
	padding: 0;
	overflow-wrap: break-word;
}

/* 124 — Center the opening stack on a deliberate measure and keep it visually
 * distinct from both the utility panel and the article body. */
body.sleepbaby-single-post .entry-header {
	width: min(100%, 750px);
	padding-inline: 6px;
	margin-bottom: clamp(22px, 3.2vw, 32px);
}

/* 125 — Improve the category label's vertical centering and preserve readable
 * spacing when WordPress returns more than one category name. */
body.sleepbaby-single-post .entry-kicker {
	max-width: 100%;
	min-height: 34px;
	align-items: center;
	justify-content: center;
	padding: 6px 13px 5px;
	line-height: 1.18;
	white-space: normal;
	text-wrap: balance;
}

/* 126 — Protect unusually long category strings from overflowing the paper
 * while allowing natural breaks between words. */
body.sleepbaby-single-post .entry-kicker {
	overflow-wrap: anywhere;
	hyphens: auto;
	word-break: normal;
}

/* 127 — Tighten the headline measure and fluid scale so article intent lands
 * quickly without producing billboard-sized desktop typography. */
body.sleepbaby-single-post .entry-title {
	max-width: 17ch;
	font-size: clamp(2.35rem, 4.7vw, 3.8rem);
	line-height: 1.025;
	letter-spacing: -.025em;
	text-wrap: balance;
}

/* 128 — Allow long unbroken headline tokens to wrap safely while preserving
 * standard word shapes and punctuation. */
body.sleepbaby-single-post .entry-title {
	overflow-wrap: anywhere;
	hyphens: manual;
	word-break: normal;
}

/* 129 — Refine metadata into a stable, high-contrast secondary line with
 * tabular dates and no accidental uppercase styling from older plugins. */
body.sleepbaby-single-post .entry-meta {
	max-width: 100%;
	margin-top: 15px;
	color: #625766;
	font-size: 16px;
	font-variant-numeric: tabular-nums;
	letter-spacing: .012em;
	line-height: 1.35;
	text-transform: none;
}

/* 130 — Rebalance the warm-up panel into a calm 1fr/auto grid with enough room
 * for the workshop label and a consistently centered homepage action. */
body.sleepbaby-single-post .sb-article-route-bar {
	width: min(100%, 710px);
	grid-template-columns: minmax(220px, 1fr) minmax(170px, auto);
	column-gap: clamp(12px, 2vw, 20px);
	row-gap: 4px;
	padding: 14px 15px 11px 19px;
}

/* 131 — Add a nonverbal paper-and-teal accent inside the warm-up panel so it
 * reads as a curated next step, not an unrelated banner. */
body.sleepbaby-single-post .sb-article-route-bar::after {
	position: absolute;
	inset: 0 0 auto;
	height: 3px;
	background: linear-gradient(90deg, var(--sb244-teal), #9ab8b4 42%, transparent 82%);
	content: "";
	pointer-events: none;
}

/* 132 — Align the workshop-title route to the panel grid and keep its complete
 * visible area touchable without making it resemble the main CTA. */
body.sleepbaby-single-post .sb-article-route-bar__workshop {
	display: inline-flex;
	min-width: 0;
	min-height: 48px !important;
	align-items: center;
	padding-block: 4px;
	line-height: 1.12 !important;
	overflow-wrap: anywhere;
}

/* 133 — Give “See How It Works” a stable, generous homepage CTA footprint and
 * prevent either line-height or browser zoom from shrinking its tap area. */
body.sleepbaby-single-post .sb-article-route-bar__purchase {
	display: inline-flex;
	min-width: 174px;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	padding: 11px 17px;
	text-align: center;
}

/* 134 — Separate keyboard, hover, and pressed feedback for the opening CTA so
 * every input mode gets an immediate but honest response. */
body.sleepbaby-single-post .sb-article-route-bar__purchase:focus-visible {
	box-shadow: 0 0 0 4px #eee4f1, 0 10px 23px rgba(27, 20, 45, .24) !important;
	filter: brightness(1.08);
}

body.sleepbaby-single-post .sb-article-route-bar__purchase:active {
	filter: brightness(.95);
	transform: translateY(1px);
}

/* 135 — Make the continue-reading anchor a centered 44px text target and keep
 * its down arrow on the same baseline at all zoom levels. */
body.sleepbaby-single-post .sb-article-route-bar__home {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: 5px;
	padding: 5px 2px;
	line-height: 1.25 !important;
	text-align: left;
}

body.sleepbaby-single-post .sb-article-route-bar__home span[aria-hidden="true"] {
	display: inline-block;
	font-size: 1.1em;
	line-height: 1;
}

/* 136 — Reserve a clean lead-image surface, prevent object distortion, and
 * keep image failure from collapsing the article's opening rhythm. */
body.sleepbaby-single-post .entry-featured {
	min-height: 120px;
	isolation: isolate;
	background:
		linear-gradient(135deg, rgba(232, 222, 236, .72), rgba(239, 246, 244, .8)),
		var(--sb244-paper-soft);
	box-shadow: 0 13px 34px rgba(55, 40, 64, .1), inset 0 0 0 5px rgba(255, 255, 255, .5);
}

/* 137 — Give the article body a slightly wider but still restful 65–72
 * character measure with stable optical spacing for Times New Roman. */
body.sleepbaby-single-post .entry-content {
	width: min(100%, var(--sb244-reading));
	min-width: 0;
	font-size: clamp(18.25px, 1.2vw, 19.25px);
	line-height: 1.68;
	letter-spacing: .002em;
	text-align: left;
	text-wrap: pretty;
}

/* 138 — Normalize body-copy spacing through logical properties so left-to-right
 * and translated content maintain the same reading rhythm. */
body.sleepbaby-single-post .entry-content p {
	margin-block: 0 1.08em;
	margin-inline: 0;
	max-width: 100%;
	orphans: 3;
	widows: 3;
}

/* 139 — Give the first textual paragraph a restrained editorial lead-in with a
 * short teal keyline that accelerates entry without changing a character. */
body.sleepbaby-single-post .entry-content > p:first-child {
	padding-inline-start: 15px;
	border-inline-start: 3px solid #779b97;
	font-size: 1.055em;
	line-height: 1.64;
}

/* 140 — Reduce the visual gap between uninterrupted paragraphs while restoring
 * full separation after media, headings, lists, quotations, and CTAs. */
body.sleepbaby-single-post .entry-content p + p {
	margin-top: -.08em;
}

body.sleepbaby-single-post .entry-content :is(h2, h3, h4, h5, h6, figure, blockquote, ul, ol, dl, .sb-cro-inline) + p {
	margin-top: 0;
}

/* 141 — Make strong text genuinely scannable without turning whole passages
 * black or changing the author's emphasis. */
body.sleepbaby-single-post .entry-content :is(strong, b) {
	color: #1d1622;
	font-weight: 700;
	text-decoration-skip-ink: auto;
}

/* 142 — Keep emphasis readable in Times New Roman and prevent synthetic slant
 * from shrinking or colliding with punctuation. */
body.sleepbaby-single-post .entry-content :is(em, i) {
	font-style: italic;
	font-synthesis: none;
	letter-spacing: .005em;
}

/* 143 — Give H2 sections an editorial reset with a tighter measure and clear
 * spacing from the material they introduce. */
body.sleepbaby-single-post .entry-content > h2 {
	max-width: 22ch;
	margin-block: 1.7em .58em;
	padding-block: .68em .22em;
	color: #1d1523;
	font-size: clamp(1.9rem, 3.4vw, 2.48rem);
	line-height: 1.1;
	text-wrap: balance;
}

/* 144 — Replace a full heavy divider above H2s with a refined two-tone rule
 * that carries the premium paper motif without extra content. */
body.sleepbaby-single-post .entry-content > h2 {
	border-top: 0;
	background: linear-gradient(90deg, var(--sb244-plum-soft) 0 64px, var(--sb244-rule) 64px 100%) top left / 100% 1px no-repeat;
}

/* 145 — Strengthen H3 hierarchy with a shorter plum keyline, protected line
 * length, and enough breathing room for fast article scanning. */
body.sleepbaby-single-post .entry-content h3 {
	max-width: 28ch;
	margin-block: 1.48em .48em;
	padding-inline-start: 13px;
	border-inline-start: 3px solid #876c91;
	font-size: clamp(1.45rem, 2.6vw, 1.92rem);
	line-height: 1.14;
	text-wrap: balance;
}

/* 146 — Style H4 as a compact subtopic marker instead of an undersized H3,
 * retaining strong contrast and anchor clearance. */
body.sleepbaby-single-post .entry-content h4 {
	max-width: 34ch;
	margin-block: 1.35em .42em;
	color: #2d2233;
	font-size: clamp(1.26rem, 2.1vw, 1.52rem);
	letter-spacing: -.008em;
	line-height: 1.18;
	text-wrap: balance;
}

/* 147 — Normalize rare H5/H6 headings so imported legacy articles do not fall
 * back to visually ambiguous browser defaults. */
body.sleepbaby-single-post .entry-content :is(h5, h6) {
	margin-block: 1.25em .4em;
	color: #3a2e40;
	font-size: 1.08rem;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.22;
	text-wrap: balance;
}

/* 148 — Preserve heading hierarchy when an entire heading is linked and keep
 * its keyboard ring from colliding with adjacent text. */
body.sleepbaby-single-post .entry-content :is(h2, h3, h4, h5, h6) > a {
	color: inherit !important;
	font-weight: inherit;
	text-decoration-color: #9b86a4;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

/* 149 — Refine standard editorial links with a strong navy signal and generous
 * underline offset that stays visible around Times descenders. */
body.sleepbaby-single-post .entry-content a:not(.sb-cro-cta):not(.sbds-button) {
	color: #1d3974;
	text-decoration-line: underline;
	text-decoration-color: rgba(29, 57, 116, .62);
	text-decoration-thickness: max(1px, .06em);
	text-underline-offset: .18em;
	text-decoration-skip-ink: auto;
}

/* 150 — Keep visited references distinguishable with a deep plum that meets
 * body-copy contrast instead of browser-default purple. */
body.sleepbaby-single-post .entry-content a:not(.sb-cro-cta):not(.sbds-button):visited {
	color: #573663;
	text-decoration-color: rgba(87, 54, 99, .6);
}

/* 151 — Make external and file links robust against long URLs and filenames
 * without adding icons, labels, or any new wording. */
body.sleepbaby-single-post .entry-content a[href] {
	overflow-wrap: anywhere;
	word-break: normal;
}

/* 152 — Provide an offset, high-contrast focus halo for every interactive item
 * inside the article while preserving each component's original geometry. */
body.sleepbaby-single-post .content-shell--article :is(a, button, input, select, textarea, summary):focus-visible {
	position: relative;
	z-index: 2;
	outline: 3px solid var(--sb244-focus) !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 2px var(--sb244-paper) !important;
}

/* 153 — Give top-level unordered guidance a consistent logical inset and keep
 * markers visually aligned when list items wrap to several lines. */
body.sleepbaby-single-post .entry-content > ul {
	padding-block: 16px;
	padding-inline: 42px 20px;
	list-style-position: outside;
}

body.sleepbaby-single-post .entry-content > ul > li::marker {
	color: #735a7e;
	font-size: 1.04em;
}

/* 154 — Give ordered instructions clear tabular markers and enough left inset
 * for two-digit steps without altering their numbering. */
body.sleepbaby-single-post .entry-content > ol {
	padding-block: 16px;
	padding-inline: 48px 20px;
	list-style-position: outside;
}

body.sleepbaby-single-post .entry-content > ol > li::marker {
	color: var(--sb244-navy);
	font-variant-numeric: tabular-nums;
	font-weight: 700;
}

/* 155 — Keep nested lists visually subordinate and avoid stacking multiple
 * cards or excessive whitespace inside a parent guidance block. */
body.sleepbaby-single-post .entry-content :is(ul, ol) :is(ul, ol) {
	margin-block: .45em .65em;
	padding-inline-start: 1.35em;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

/* 156 — Normalize multi-paragraph list items and prevent their final paragraph
 * from adding an artificial blank row. */
body.sleepbaby-single-post .entry-content li {
	padding-inline-start: .15em;
	line-height: 1.58;
}

body.sleepbaby-single-post .entry-content li > :last-child {
	margin-bottom: 0;
}

/* 157 — Present definition lists as compact reference material with obvious
 * term/definition relationships and mobile-safe padding. */
body.sleepbaby-single-post .entry-content dl {
	margin-block: 1.35em 1.5em;
	padding: 18px 20px;
	border: 1px solid var(--sb244-rule);
	border-radius: 12px;
	background: #faf7fb;
}

body.sleepbaby-single-post .entry-content dt {
	color: #302138;
	font-weight: 700;
}

body.sleepbaby-single-post .entry-content dd {
	margin: .3em 0 1em 1.1em;
}

body.sleepbaby-single-post .entry-content dd:last-child {
	margin-bottom: 0;
}

/* 158 — Improve ordinary quotations with a calmer measure and punctuation-safe
 * wrapping while retaining the existing trustworthy editorial treatment. */
body.sleepbaby-single-post .entry-content blockquote:not(.wp-block-pullquote) {
	max-width: 100%;
	margin-block: 1.5em;
	padding: 19px 23px 19px 25px;
	color: #392e40;
	line-height: 1.6;
	text-wrap: pretty;
}

/* 159 — Make quotation attribution clearly secondary and separated from the
 * quoted statement without injecting punctuation or labels. */
body.sleepbaby-single-post .entry-content blockquote cite {
	display: block;
	margin-top: .8em;
	color: #615766;
	font-size: .88em;
	font-style: normal;
	line-height: 1.35;
}

/* 160 — Give WordPress pullquotes their own centered editorial pattern so they
 * do not inherit an unsuitable left-border card treatment. */
body.sleepbaby-single-post .entry-content .wp-block-pullquote {
	margin-block: 1.7em;
	padding: 26px clamp(18px, 5vw, 38px);
	border-block: 2px solid #91779b;
	border-inline: 0;
	border-radius: 0;
	color: #33243a;
	background: #faf6fb;
	box-shadow: none;
	font-size: 1.12em;
	line-height: 1.52;
	text-align: center;
}

/* 161 — Replace ambiguous horizontal rules with a short, centered editorial
 * divider that creates a real pause without consuming excessive space. */
body.sleepbaby-single-post .entry-content hr,
body.sleepbaby-single-post .entry-content .wp-block-separator {
	width: min(42%, 210px);
	height: 1px;
	margin: 2em auto;
	border: 0;
	background: linear-gradient(90deg, transparent, #917c9b 18% 82%, transparent);
}

/* 162 — Make every in-article bitmap responsive and remove baseline gaps that
 * can look like broken margins beneath images. */
body.sleepbaby-single-post .entry-content img {
	display: block;
	max-width: 100%;
	height: auto;
	border-style: none;
	object-fit: contain;
}

/* 163 — Keep legacy alignwide/alignfull media inside the premium paper sheet so
 * it cannot collide with the desktop dock or create horizontal overflow. */
body.sleepbaby-single-post .entry-content > :is(.alignwide, .alignfull) {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

/* 164 — Give figures consistent flow containment and protect floated legacy
 * alignment classes from overlapping headings or the April handoff. */
body.sleepbaby-single-post .entry-content figure {
	display: flow-root;
	max-width: 100%;
	margin-block: 1.55em;
	margin-inline: auto;
	clear: both;
}

/* 165 — Apply a precise focus frame to linked images so keyboard users can see
 * the target without a vague ring around the entire figure. */
body.sleepbaby-single-post .entry-content figure a:has(img) {
	display: block;
	border-radius: 12px;
	overflow: hidden;
}

body.sleepbaby-single-post .entry-content figure a:has(img):focus-visible {
	outline-offset: 4px !important;
}

/* 166 — Improve caption contrast, line length, and padding while keeping the
 * caption visibly attached to its media. */
body.sleepbaby-single-post .entry-content figcaption,
body.sleepbaby-single-post .entry-content .wp-caption-text {
	max-width: 100%;
	padding: 10px 14px 11px;
	color: #514755;
	background: #f5f0f6;
	font-size: 15.5px;
	font-style: normal;
	line-height: 1.45;
	text-align: left;
	text-wrap: pretty;
}

/* 167 — Convert WordPress galleries into a stable responsive grid instead of
 * relying on brittle inline widths from legacy content. */
body.sleepbaby-single-post .entry-content .wp-block-gallery,
body.sleepbaby-single-post .entry-content .gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));
	gap: 12px;
	margin-block: 1.65em;
	padding: 12px;
	border: 1px solid var(--sb244-rule);
	border-radius: 14px;
	background: var(--sb244-paper-soft);
}

/* 168 — Normalize gallery items and image ratios so uneven source dimensions
 * still present as a composed editorial collection. */
body.sleepbaby-single-post .entry-content :is(.wp-block-gallery, .gallery) :is(figure, .gallery-item) {
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border-radius: 9px;
	background: #eee8f0;
}

body.sleepbaby-single-post .entry-content :is(.wp-block-gallery, .gallery) img {
	width: 100%;
	height: auto;
	min-height: 100%;
	object-fit: cover;
}

body.sleepbaby-single-post .entry-content :is(.wp-block-gallery, .gallery) svg {
	display: block;
	width: 100%;
	height: auto;
}

/* 169 — Keep gallery captions readable over all imagery by placing them on a
 * solid paper strip rather than translucent image overlays. */
body.sleepbaby-single-post .entry-content :is(.wp-block-gallery, .gallery) figcaption {
	position: static;
	margin: 0;
	padding: 8px 10px;
	color: #4c414f;
	background: #f7f2f8;
	font-size: 14.5px;
	line-height: 1.35;
	text-shadow: none;
}

/* 170 — Give table wrappers stable boundaries, contained momentum scrolling,
 * and a visible lower edge on narrow screens. */
body.sleepbaby-single-post .entry-content .wp-block-table {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
	border-color: #cfc2d4;
	background: var(--sb244-paper);
	scrollbar-color: #8a7393 #eee8f0;
	scrollbar-width: thin;
}

/* 171 — Attach table captions to their data with a high-contrast editorial
 * label treatment and natural wrapping. */
body.sleepbaby-single-post .entry-content table caption {
	padding: 11px 14px;
	caption-side: top;
	color: #33243a;
	background: #f3edf5;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	text-align: left;
	text-wrap: balance;
}

/* 172 — Improve table-header hierarchy with centered vertical alignment and a
 * solid navy treatment that remains legible across scroll positions. */
body.sleepbaby-single-post .entry-content table th {
	padding: 13px 15px;
	color: #fff;
	background: var(--sb244-navy);
	font-weight: 700;
	line-height: 1.3;
	text-align: left;
	vertical-align: middle;
}

/* 173 — Give data cells comfortable scanning room and allow long strings to
 * wrap without widening the entire document. */
body.sleepbaby-single-post .entry-content table td {
	padding: 12px 15px;
	color: #2e2633;
	background: #fffefa;
	line-height: 1.45;
	text-align: left;
	vertical-align: top;
	overflow-wrap: anywhere;
}

/* 174 — Add restrained zebra striping to make dense rows trackable without
 * reducing text contrast or depending on hover. */
body.sleepbaby-single-post .entry-content table tbody tr:nth-child(even) td {
	background: #f7f3f8;
}

/* 175 — Highlight the active table row for pointer and keyboard users while
 * retaining the persistent zebra cue. */
body.sleepbaby-single-post .entry-content table tbody tr:is(:hover, :focus-within) td {
	background: #eee6f1;
}

/* 176 — Use compact table typography on phones without shrinking below a
 * readable baseline or squeezing header padding. */
@media (max-width: 599px) {
	body.sleepbaby-single-post .entry-content .wp-block-table table {
		min-width: 560px;
		font-size: 16px;
	}

	body.sleepbaby-single-post .entry-content .wp-block-table :is(th, td) {
		padding: 11px 12px;
	}
}

/* 177 — Make horizontal-scroll affordance visible and polished in browsers
 * that expose a WebKit scrollbar, without changing table data. */
body.sleepbaby-single-post .entry-content .wp-block-table::-webkit-scrollbar,
body.sleepbaby-single-post .entry-content pre::-webkit-scrollbar {
	height: 10px;
}

body.sleepbaby-single-post .entry-content .wp-block-table::-webkit-scrollbar-track,
body.sleepbaby-single-post .entry-content pre::-webkit-scrollbar-track {
	background: #eee8f0;
}

body.sleepbaby-single-post .entry-content .wp-block-table::-webkit-scrollbar-thumb,
body.sleepbaby-single-post .entry-content pre::-webkit-scrollbar-thumb {
	border: 2px solid #eee8f0;
	border-radius: 999px;
	background: #806b89;
}

/* 178 — Present disclosure/details blocks as contained editorial helpers with
 * adequate padding and no clipped expanded content. */
body.sleepbaby-single-post .entry-content details {
	width: 100%;
	padding: 14px 17px 15px;
	overflow: visible;
	border-color: #cfc3d4;
	background: #faf7fb;
}

/* 179 — Turn each details summary into a full-width 44px interaction row with
 * a crisp hover state and no browser-default cramped baseline. */
body.sleepbaby-single-post .entry-content summary {
	display: list-item;
	min-height: 44px;
	padding: 9px 5px;
	color: #3f2b49;
	font-size: 1.02em;
	line-height: 1.28;
	cursor: pointer;
}

body.sleepbaby-single-post .entry-content summary:hover {
	color: var(--sb244-navy);
	background: #f1eaf3;
}

/* 180 — Separate expanded disclosure content from its control with a subtle
 * rule and eliminate stray final margins. */
body.sleepbaby-single-post .entry-content details[open] > summary {
	margin-bottom: 13px;
	border-bottom: 1px solid var(--sb244-rule);
}

body.sleepbaby-single-post .entry-content details > :last-child {
	margin-bottom: 0;
}

/* 181 — Make preformatted material scroll safely, preserve whitespace, and use
 * a comfortable dark-paper contrast in the requested typeface. */
body.sleepbaby-single-post .entry-content pre {
	max-width: 100%;
	padding: 18px 19px;
	overflow: auto;
	overscroll-behavior-inline: contain;
	color: #fbf8fc;
	background: #211929;
	font-family: "Times New Roman", Times, serif !important;
	font-size: 16px;
	line-height: 1.55;
	white-space: pre;
	tab-size: 4;
}

body.sleepbaby-single-post .entry-content pre code {
	padding: 0;
	border: 0;
	color: inherit;
	background: transparent;
	font-size: inherit;
}

/* 182 — Keep inline code visually distinct and safely wrapped without using a
 * different font family or overpowering surrounding prose. */
body.sleepbaby-single-post .entry-content :not(pre) > code {
	padding: .08em .3em;
	border: 1px solid #ddd1e1;
	border-radius: 4px;
	color: #3e2b46;
	background: #f1ebf3;
	font-family: "Times New Roman", Times, serif !important;
	font-size: .9em;
	overflow-wrap: anywhere;
}

/* 183 — Give keyboard and sample-output markup distinct, accessible surfaces
 * while preserving Times New Roman across the complete article. */
body.sleepbaby-single-post .entry-content kbd {
	display: inline-block;
	padding: .08em .38em;
	border: 1px solid #9d8aa6;
	border-bottom-width: 2px;
	border-radius: 4px;
	color: #2c2032;
	background: #fff;
	font-family: "Times New Roman", Times, serif !important;
	font-size: .88em;
	line-height: 1.2;
}

body.sleepbaby-single-post .entry-content samp {
	color: #3f3048;
	font-family: "Times New Roman", Times, serif !important;
}

/* 184 — Ensure highlighted and abbreviated terms remain legible and expose a
 * recognizable dotted cue without changing their wording. */
body.sleepbaby-single-post .entry-content mark {
	padding-inline: .12em;
	color: #241b29;
	background: #f4e4a6;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

body.sleepbaby-single-post .entry-content abbr[title] {
	text-decoration: underline dotted #705a79 1px;
	text-underline-offset: 3px;
	cursor: help;
}

/* 185 — Normalize superscript and subscript placement so citations and units do
 * not expand the line box or collide with adjacent rows. */
body.sleepbaby-single-post .entry-content :is(sup, sub) {
	position: relative;
	font-size: .72em;
	line-height: 0;
	vertical-align: baseline;
}

body.sleepbaby-single-post .entry-content sup { top: -.48em; }
body.sleepbaby-single-post .entry-content sub { bottom: -.2em; }

/* 186 — Make WordPress embeds responsive and isolate them within a consistent
 * media frame even when providers inject legacy fixed dimensions. */
body.sleepbaby-single-post .entry-content :is(.wp-block-embed, .wp-block-video) {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	border-radius: 14px;
	background: #17121c;
}

body.sleepbaby-single-post .entry-content :is(.wp-block-embed__wrapper, .wp-block-video) :is(iframe, video) {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border: 0;
}

/* 187 — Give native video and audio controls a stable, full-width surface so
 * media does not overflow or present a tiny phone interaction target. */
body.sleepbaby-single-post .entry-content :is(video, audio) {
	display: block;
	width: 100%;
	max-width: 100%;
	margin-block: 1.45em;
	border-radius: 10px;
	background: #211929;
}

body.sleepbaby-single-post .entry-content audio {
	min-height: 48px;
}

/* 188 — Normalize WordPress button and file-download blocks as clear 48px
 * controls while leaving their existing wording and destinations untouched. */
body.sleepbaby-single-post .entry-content :is(.wp-block-button__link, .wp-block-file__button, .sbds-button) {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 10px 17px;
	border: 1px solid #281d35;
	border-radius: 9px;
	color: #fff !important;
	background: linear-gradient(135deg, var(--sb244-navy), var(--sb244-plum));
	box-shadow: 0 7px 17px rgba(31, 22, 43, .18);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
}

/* 189 — Make every injected warm-up module respect article rhythm and prevent
 * its borders from visually merging with neighboring lists or figures. */
body.sleepbaby-single-post .entry-content .sb-cro-inline {
	clear: both;
	margin-block: 1.5em 1.6em;
	isolation: isolate;
	background-clip: padding-box;
	break-inside: avoid;
}

/* 190 — Refine the priority warm-up module as a high-contrast paper callout with
 * a single honest teal cue and no animation or artificial urgency. */
body.sleepbaby-single-post .entry-content .sb-cro-inline--priority {
	padding: 21px 22px 22px 24px;
	border-color: #c4b5ca;
	border-inline-start-color: var(--sb244-teal);
	background:
		linear-gradient(90deg, rgba(82, 127, 123, .08), transparent 25%),
		linear-gradient(145deg, #fffefa, #f6f0f7 62%, #edf5f3);
	box-shadow: 0 12px 30px rgba(55, 40, 65, .095);
}

/* 191 — Clarify the injected module's existing label/copy hierarchy with
 * balanced wrapping, consistent alignment, and readable secondary contrast. */
body.sleepbaby-single-post .entry-content .sb-cro-inline__label {
	max-width: 28ch;
	margin-bottom: 7px !important;
	color: #392640 !important;
	line-height: 1.1 !important;
	text-align: left !important;
	text-wrap: balance;
}

body.sleepbaby-single-post .entry-content .sb-cro-inline__copy {
	max-width: 46ch;
	margin-bottom: 14px !important;
	color: #4b414e !important;
	line-height: 1.46 !important;
	text-wrap: pretty;
}

/* 192 — Give inline homepage CTAs full-width mobile capability, a 52px minimum,
 * and consistent hover/pressed feedback without altering their routes. */
body.sleepbaby-single-post .entry-content .sb-cro-inline .sb-cro-cta {
	min-width: min(100%, 260px);
	min-height: 52px;
	justify-content: center;
	padding: 11px 18px;
	line-height: 1.15 !important;
	text-align: center;
	text-wrap: balance;
}

body.sleepbaby-single-post .entry-content .sb-cro-inline .sb-cro-cta:active {
	filter: brightness(.95);
	transform: translateY(1px);
}

/* 193 — Improve the dismissible homepage dock's information density, border
 * contrast, and safe-area behavior while keeping it non-obstructive. */
body.sleepbaby-single-post .sb-cro-dock--article {
	max-width: calc(100vw - 16px);
	border-color: #ad9bb5;
	background: rgba(255, 254, 250, .985);
	box-shadow: 0 16px 42px rgba(43, 30, 53, .22), inset 0 1px rgba(255, 255, 255, .9);
	isolation: isolate;
	contain: layout paint;
}

body.sleepbaby-single-post .sb-cro-dock--article .sb-cro-cta {
	min-height: 52px;
	line-height: 1.12 !important;
	text-align: center;
}

/* 194 — Give dock actions stable alignment and make dismiss a visible 44px
 * neutral control rather than an easy-to-miss glyph. */
body.sleepbaby-single-post .sb-cro-dock--article .sb-cro-dock__actions {
	display: flex;
	min-width: 0;
	align-items: stretch;
	gap: 7px;
}

body.sleepbaby-single-post .sb-cro-dock--article .sb-cro-dismiss {
	display: inline-flex;
	min-width: 44px !important;
	min-height: 44px !important;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

/* 195 — Style a present or future WordPress comments area as an editorial
 * continuation with readable headings, nested-thread spacing, and avatars. */
body.sleepbaby-single-post :is(.comments-area, #comments) {
	width: min(100%, var(--sb244-reading));
	margin: 2.2em auto 0;
	padding: 24px clamp(16px, 4vw, 28px);
	border-top: 1px solid var(--sb244-rule-strong);
	color: var(--sb244-ink);
	background: #faf7fb;
}

body.sleepbaby-single-post :is(.comments-title, .comment-reply-title) {
	margin: 0 0 .8em;
	color: #291d30;
	font-size: clamp(1.55rem, 3vw, 2rem);
	line-height: 1.15;
	text-wrap: balance;
}

body.sleepbaby-single-post .comment-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.sleepbaby-single-post .comment-list .children {
	margin-inline-start: clamp(12px, 4vw, 28px);
	padding-inline-start: 12px;
	border-inline-start: 2px solid #d8ccdc;
	list-style: none;
}

body.sleepbaby-single-post .comment-author .avatar {
	width: 44px;
	height: 44px;
	border: 2px solid #fff;
	border-radius: 50%;
	box-shadow: 0 0 0 1px #c8bacd;
	object-fit: cover;
}

/* 196 — Give comment cards and the comment form accessible spacing, labels,
 * 44px controls, and a contrast-safe submit action. */
body.sleepbaby-single-post .comment-body {
	margin-bottom: 16px;
	padding: 17px 18px;
	border: 1px solid #d8cddd;
	border-radius: 12px;
	background: var(--sb244-paper);
	box-shadow: 0 6px 18px rgba(54, 39, 63, .06);
}

body.sleepbaby-single-post .comment-metadata {
	color: #655a69;
	font-size: 15px;
	font-variant-numeric: tabular-nums;
}

body.sleepbaby-single-post .comment-form :is(label, input, textarea) {
	display: block;
	width: 100%;
}

body.sleepbaby-single-post .comment-form label {
	margin-bottom: 5px;
	color: #34283a;
	font-weight: 700;
}

body.sleepbaby-single-post .comment-form :is(input:not([type="checkbox"]):not([type="radio"]), textarea) {
	min-height: 46px;
	padding: 10px 12px;
	border: 1px solid #a894b1;
	border-radius: 8px;
	color: #211a27;
	background: #fff;
	font-size: 18px;
	line-height: 1.35;
}

body.sleepbaby-single-post .comment-form textarea {
	min-height: 150px;
	resize: vertical;
}

body.sleepbaby-single-post .comment-form :is(input[type="submit"], button[type="submit"]) {
	min-height: 48px;
	padding: 10px 18px;
	border: 1px solid #241831;
	border-radius: 9px;
	color: #fff;
	background: var(--sb244-navy);
	font-size: 18px;
	font-weight: 700;
	cursor: pointer;
}

/* 197 — Make the legal footer a compact, premium endpoint and create a clean
 * visual seam after the April presentation without restyling its sales copy. */
body.sleepbaby-single-post .site-footer {
	padding: 34px clamp(18px, 4vw, 58px) max(24px, env(safe-area-inset-bottom));
	border-top: 1px solid rgba(255, 255, 255, .16);
	color: #f4f1f5;
	background: #171529;
}

body.sleepbaby-single-post .site-footer-shell {
	width: min(100%, 1080px);
}

body.sleepbaby-single-post .site-footer-main {
	gap: clamp(24px, 5vw, 52px);
}

body.sleepbaby-single-post .site-footer-brand p {
	color: #d8d0da;
	font-size: 16px;
	line-height: 1.48;
}

body.sleepbaby-single-post :is(.site-footer-menu, .footer-compliance-links) a {
	min-height: 44px;
	padding-block: 6px;
	color: #f4eff5;
	font-size: 15.5px;
	text-underline-offset: 4px;
}

body.sleepbaby-single-post .site-footer-legal {
	border-top-color: rgba(255, 255, 255, .2);
}

body.sleepbaby-single-post .footer-fine-print {
	color: #cbc3ce;
	line-height: 1.5;
}

body.sleepbaby-single-post .sleepbaby-article-archive-footer + .site-footer {
	margin-top: 0;
	box-shadow: inset 0 4px 0 rgba(117, 92, 127, .28);
}

/* 198 — Tune the complete article system at 1020, 767, 599, and 374px so logo,
 * route panel, paper gutters, media, and dock remain intentional at every QA width. */
@media (max-width: 1020px) {
	body.sleepbaby-single-post .site-header {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 12px;
		contain: none;
	}

	body.sleepbaby-single-post .site-primary-navigation {
		max-width: none;
	}

	body.sleepbaby-single-post .site-menu {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
	}

	body.sleepbaby-single-post .site-menu > li {
		border-bottom: 1px solid #e3dae6;
	}

	body.sleepbaby-single-post .site-menu > li:last-child {
		border-bottom: 0;
	}

	body.sleepbaby-single-post .site-menu a {
		justify-content: flex-start;
		min-height: 48px !important;
		padding-inline: 10px;
		text-align: left;
	}
}

@media (max-width: 767px) {
	body.sleepbaby-single-post .site-header {
		min-height: 64px;
		padding-inline: 16px;
	}

	body.sleepbaby-single-post .site-brand-logo-link--header {
		width: clamp(148px, 39vw, 184px);
	}

	body.sleepbaby-single-post .content-shell--article {
		width: calc(100% - 12px);
		padding: 27px 15px 0 !important;
		border-radius: 17px 17px 0 0;
	}

	body.sleepbaby-single-post .entry-title {
		max-width: 16ch;
		font-size: clamp(2.1rem, 9.7vw, 2.9rem);
	}

	body.sleepbaby-single-post .sb-article-route-bar {
		grid-template-columns: minmax(0, 1fr) auto;
		padding: 12px 11px 9px 14px;
	}

	body.sleepbaby-single-post .sb-article-route-bar__purchase {
		min-width: 150px;
		min-height: 50px;
		padding-inline: 12px;
	}

	body.sleepbaby-single-post .entry-content {
		font-size: 18px;
		line-height: 1.65;
	}

	body.sleepbaby-single-post .entry-content > :is(ul, ol) {
		padding-inline-end: 14px;
	}

	body.sleepbaby-single-post .entry-content .wp-block-gallery,
	body.sleepbaby-single-post .entry-content .gallery {
		grid-template-columns: repeat(auto-fit, minmax(min(140px, 100%), 1fr));
		gap: 9px;
		padding: 9px;
	}

	body.sleepbaby-single-post .entry-content .sb-cro-inline--priority {
		padding: 18px 16px 19px 18px;
	}

	body.sleepbaby-single-post .entry-content .sb-cro-inline .sb-cro-cta {
		width: 100%;
	}

	body.sleepbaby-single-post .site-footer-main {
		grid-template-columns: 1fr;
	}

	body.sleepbaby-single-post :is(.site-footer-menu, .footer-compliance-links) {
		column-gap: 16px;
	}
}

@media (max-width: 599px) {
	body.sleepbaby-single-post .entry-content > p:first-child {
		padding-inline-start: 12px;
	}

	body.sleepbaby-single-post .entry-content :is(h2, h3, h4, h5, h6) {
		overflow-wrap: anywhere;
	}

	body.sleepbaby-single-post .entry-content .wp-block-gallery,
	body.sleepbaby-single-post .entry-content .gallery {
		grid-template-columns: 1fr;
	}

	body.sleepbaby-single-post :is(.comments-area, #comments) {
		padding-inline: 14px;
	}

	body.sleepbaby-single-post .comment-list .children {
		margin-inline-start: 6px;
		padding-inline-start: 8px;
	}
}

@media (max-width: 374px) {
	body.sleepbaby-single-post .site-header {
		padding-inline: 10px;
	}

	body.sleepbaby-single-post .site-brand-logo-link--header {
		width: 142px;
	}

	body.sleepbaby-single-post .site-menu-toggle {
		min-width: 82px !important;
		padding-inline: 8px;
	}

	body.sleepbaby-single-post .content-shell--article {
		padding-inline: 12px !important;
	}

	body.sleepbaby-single-post .entry-title {
		font-size: clamp(2rem, 10.2vw, 2.45rem);
	}

	body.sleepbaby-single-post .sb-article-route-bar {
		grid-template-columns: 1fr;
		grid-template-areas: "workshop" "purchase" "home";
		gap: 3px;
		padding: 12px;
	}

	body.sleepbaby-single-post .sb-article-route-bar__workshop,
	body.sleepbaby-single-post .sb-article-route-bar__home {
		justify-self: center;
		text-align: center;
	}

	body.sleepbaby-single-post .sb-article-route-bar__purchase {
		width: 100%;
		min-width: 0;
	}

	body.sleepbaby-single-post .entry-content > :is(ul, ol) {
		padding-inline-start: 34px;
	}

	body.sleepbaby-single-post .entry-content blockquote:not(.wp-block-pullquote) {
		padding-inline: 16px 14px;
	}

	body.sleepbaby-single-post .sb-cro-dock--article .sb-cro-cta {
		font-size: 16.5px !important;
		white-space: normal;
	}
}

/* 199 — Respect reduced-motion, high-contrast, and forced-color preferences so
 * persuasion never depends on motion, translucency, gradients, or hidden focus. */
@media (prefers-reduced-motion: reduce) {
	body.sleepbaby-single-post *,
	body.sleepbaby-single-post *::before,
	body.sleepbaby-single-post *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}

	body.sleepbaby-single-post :is(.site-header-cta, .sb-article-route-bar__purchase, .sb-cro-cta):is(:hover, :active) {
		transform: none !important;
	}
}

@media (prefers-contrast: more) {
	body.sleepbaby-single-post {
		--sb244-rule: #8f7d97;
		--sb244-rule-strong: #65546d;
	}

	body.sleepbaby-single-post :is(.content-shell--article, .sb-article-route-bar, .entry-content blockquote, .entry-content > ul, .entry-content > ol) {
		border-color: #6f5b77;
	}
}

@media (forced-colors: active) {
	body.sleepbaby-single-post :is(a, button, summary, input, select, textarea):focus-visible {
		outline: 3px solid Highlight !important;
	}

	body.sleepbaby-single-post :is(.site-header-cta, .sb-article-route-bar__purchase, .sb-cro-cta, .wp-block-button__link) {
		border: 2px solid ButtonText !important;
		color: ButtonText !important;
		background: ButtonFace !important;
		box-shadow: none !important;
	}
}

/* 200 — Produce a clean, economical print version with black text, clear links,
 * unbroken media, and no navigation, funnel, dock, or legal UI. */
@media print {
	body.sleepbaby-single-post {
		color: #000 !important;
		background: #fff !important;
		font-size: 11pt;
	}

	body.sleepbaby-single-post :is(
		.site-header,
		.site-footer,
		.sb-article-route-bar,
		.sb-cro-reading-progress,
		.sb-cro-inline,
		.sb-cro-dock,
		.sleepbaby-article-archive-footer
	) {
		display: none !important;
	}

	body.sleepbaby-single-post .site-main,
	body.sleepbaby-single-post .content-shell--article,
	body.sleepbaby-single-post .entry-content {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		color: #000 !important;
		background: #fff !important;
		box-shadow: none !important;
	}

	body.sleepbaby-single-post .entry-content a[href] {
		color: #000 !important;
		text-decoration: underline !important;
	}

	body.sleepbaby-single-post .entry-content :is(figure, table, blockquote, details, pre, ul, ol) {
		break-inside: avoid;
	}

	body.sleepbaby-single-post .entry-content :is(h2, h3, h4, h5, h6) {
		break-after: avoid;
		color: #000 !important;
	}
}
