/**
 * Manual prose — inline code, code blocks and the copy-button wrapper.
 */

/* Inline code */
.sd-doc-body :not(pre) > code {
	font-family: var(--sd-mono);
	font-size: 14px;
	margin: 1px 0;
	padding: 2px 8px;
	color: var(--sd-text-soft);
	border-radius: 50rem;
	background: var(--sd-surface-2);
}

@media (min-width: 768px) {
	.sd-doc-body :not(pre) > code {
		display: inline-block;
	}
}

/* Code blocks */
.sd-doc-body pre {
	overflow-x: auto;
	margin: 0 0 1.2em;
	padding: 32px;
	border-radius: var(--sd-radius-sm);
	background: var(--sd-code-bg);
}

@media (max-width: 768px) {
	.sd-doc-body pre {
		padding: 24px;
	}
}

.sd-doc-body pre code {
	font-family: var(--sd-mono);
	font-size: 13.5px;
	line-height: 1.6;
	padding: 0;
	color: var(--sd-text-soft);
	border: 0;
	background: none;
}

/* Code block wrapper + copy button (GitLab-style) */
.sd-doc-body .sd-code {
	position: relative;
}

.sd-doc-body .sd-code pre {
	margin: 0 0 1.2em;
}

.sd-code__copy {
	position: absolute;
	top: 32px;
	right: 32px;
	padding: 0;
	cursor: pointer;
	transition: opacity 0.15s ease, color 0.15s ease;
	color: var(--sd-text-muted);
	border: none;
	background: transparent;
}

@media (max-width: 768px) {
	.sd-code__copy {
		top: 24px;
		right: 24px;
	}
}

.sd-code__copy::before {
	position: absolute;
	top: -10px;
	right: -10px;
	bottom: -10px;
	left: -10px;
	content: '';
}

.sd-code:hover .sd-code__copy,
.sd-code__copy:focus {
	opacity: 1;
}

.sd-code__copy:hover svg {
	color: var(--sd-accent);
}

.sd-code__copy.is-copied svg {
	color: var(--sd-post);
}