/**
 * Manual prose — base typography, headings, lists, quotes, inline elements.
 *
 * Shared by guide pages and API/endpoint description blocks. Scoped to
 * .sd-doc-body inside the docs shell so it stays theme-independent.
 */

.sd-doc-body {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.625;
	word-wrap: break-word;
	color: var(--sd-text-soft);
}

.sd-doc-body > :first-child {
	margin-top: 0;
}

.sd-doc-body > :last-child {
	margin-bottom: 0;
}

/* Headings */
.sd-doc-body h1,
.sd-doc-body h2,
.sd-doc-body h3,
.sd-doc-body h4,
.sd-doc-body h5,
.sd-doc-body h6 {
	font-weight: 800;
	line-height: 1.2;
	margin: 1.9em 0 0.7em;
	color: var(--sd-text);
	scroll-margin-top: 24px;
}

.sd-doc-body h1 {
	font-size: 42px;
	line-height: 1.2;
	margin-top: 0;
}

.sd-doc-body h2 {
	font-size: 28px;
	margin-top: 1.6em;
}

.sd-doc-body h3 { font-size: 21px; }
.sd-doc-body h4 { font-size: 17px; }
.sd-doc-body h5 { font-size: 15px; }
.sd-doc-body h6 { font-size: 13px; color: var(--sd-text-muted); }

.sd-doc-body p {
	margin: 0 0 1.1em;
}

.sd-doc-body a {
	color: var(--sd-text-soft);
}

.sd-doc-body a:hover {
	color: var(--sd-text);
}

.sd-doc-body strong { font-weight: 700; color: var(--sd-text); }

.sd-doc-body img {
	max-width: 100%;
	height: auto;
	border-radius: var(--sd-radius-sm);
}

/* Lists */
.sd-doc-body ul,
.sd-doc-body ol {
	margin: 0 0 1.1em;
	padding-left: 1.6em;
}

.sd-doc-body li {
	margin: 0.3em 0;
}

.sd-doc-body li > ul,
.sd-doc-body li > ol {
	margin: 0.3em 0;
}

/* Blockquotes / callouts */
.sd-doc-body blockquote {
	margin: 0 0 1.1em;
	padding: 4px 18px;
	color: var(--sd-text-soft);
	border-left: 3px solid var(--sd-accent);
	border-radius: 0 var(--sd-radius-sm) var(--sd-radius-sm) 0;
	background: var(--sd-surface);
}

.sd-doc-body blockquote p:last-child {
	margin-bottom: 0;
}

/*
 * Raw HTML boxes from manuals (and light-theme inline leftovers like
 * background:#f8f9fa) — keep them on portal dark surfaces/text.
 */
.sd-doc-body .sd-html-box,
.sd-doc-body div[style*="background:#f8f9fa"],
.sd-doc-body div[style*="background: #f8f9fa"],
.sd-doc-body div[style*="background:#F8F9FA"],
.sd-doc-body div[style*="background: #F8F9FA"] {
	margin: 0 0 1.1em;
	padding: 12px 16px;
	color: var(--sd-text-soft);
	border: 1px solid var(--sd-border) !important;
	border-radius: var(--sd-radius-sm);
	background: var(--sd-surface) !important;
}

.sd-doc-body .sd-html-box strong,
.sd-doc-body div[style*="background:#f8f9fa"] strong,
.sd-doc-body div[style*="background: #f8f9fa"] strong,
.sd-doc-body div[style*="background:#F8F9FA"] strong,
.sd-doc-body div[style*="background: #F8F9FA"] strong {
	color: var(--sd-text);
}

.sd-doc-body .sd-html-box > :last-child,
.sd-doc-body div[style*="background:#f8f9fa"] > :last-child,
.sd-doc-body div[style*="background: #f8f9fa"] > :last-child,
.sd-doc-body div[style*="background:#F8F9FA"] > :last-child,
.sd-doc-body div[style*="background: #F8F9FA"] > :last-child {
	margin-bottom: 0;
}

/* Horizontal rule */
.sd-doc-body hr {
	height: 1px;
	margin: 2em 0;
	border: 0;
	background: var(--sd-border);
}

/* Keyboard keys */
.sd-doc-body kbd {
	font-family: var(--sd-mono);
	font-size: 0.82em;
	padding: 2px 6px;
	color: var(--sd-text);
	border: 1px solid var(--sd-border-strong);
	border-bottom-width: 2px;
	border-radius: 5px;
	background: var(--sd-surface-2);
}

/* Collapsible blocks */
.sd-doc-body details {
	margin: 0 0 1.2em;
	padding: 0 16px;
	border: 1px solid var(--sd-border);
	border-radius: var(--sd-radius-sm);
	background: var(--sd-surface);
}

.sd-doc-body summary {
	font-weight: 600;
	margin: 0 -16px;
	padding: 12px 16px;
	list-style-position: inside;
	cursor: pointer;
	color: var(--sd-text);
}

.sd-doc-body details[open] summary {
	margin-bottom: 14px;
	border-bottom: 1px solid var(--sd-border);
}

.sd-doc-body details > :last-child {
	margin-bottom: 14px;
}

/* Definition lists */
.sd-doc-body dt {
	font-weight: 700;
	margin-top: 1em;
	color: var(--sd-text);
}

.sd-doc-body dd {
	margin: 0.2em 0 0;
	padding-left: 1.2em;
	color: var(--sd-text-soft);
}

/* Marks */
.sd-doc-body mark {
	padding: 0.1em 0.25em;
	color: var(--sd-text);
	border-radius: 3px;
	background: rgba(255, 153, 0, 0.3);
}

/* Superscript / subscript */
.sd-doc-body sup,
.sd-doc-body sub {
	font-size: 0.72em;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

.sd-doc-body sup { top: -0.5em; }
.sd-doc-body sub { bottom: -0.25em; }
