/**
 * Docs shell — code sample tabs (request/response, copy, highlight.js).
 */

.sd-codetabs {
	overflow: hidden;
	margin-bottom: 20px;
	padding: 32px;
	border-radius: var(--sd-radius-sm);
	background: var(--sd-code-bg);
}

.sd-codetabs__bar {
	display: flex;
	overflow-x: auto;
	align-items: center;
	margin-bottom: 16px;
	padding: 2px;
	background: var(--sd-surface);
	gap: 16px;
}

.sd-codetabs__tab {
	font: inherit;
	font-size: 14px;
	line-height: 1;
	padding: 12px 16px;
	cursor: pointer;
	white-space: nowrap;
	color: var(--sd-text-muted);
	border: 1px solid var(--sd-border);
	border-radius: 8px;
	background: transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.sd-codetabs__tab:hover {
	color: var(--sd-text);
	border-color: var(--sd-accent);
}

.sd-codetabs__tab.is-active {
	color: var(--sd-text-on-accent);
	border-color: var(--sd-text);
	background: var(--sd-text);
}

.sd-codetabs__copy {
	font: inherit;
	position: relative;
	display: inline-flex;
	align-items: center;
	margin-left: auto;
	padding: 0;
	cursor: pointer;
	color: var(--sd-text-muted);
	border: 0;
	border-radius: 6px;
	background: transparent;
	gap: 6px;
}

.sd-code__copy::before {
	position: absolute;
	top: -10px;
	right: -10px;
	bottom: -10px;
	left: -10px;
	content: '';
}

.sd-codetabs:hover .sd-codetabs__copy,
.sd-codetabs__copy:focus {
	opacity: 1;
}

.sd-codetabs__copy:hover svg {
	color: var(--sd-accent);
}

.sd-codetabs__copy.is-copied svg {
	color: var(--sd-post);
}

.sd-codetabs__copy-label {
	font-size: 0;
	visibility: hidden;
	width: 0;
	height: 0;
}

.sd-codetabs__copy.is-copied {
	color: var(--sd-post);
}

.sd-codetabs__panels {
	overflow-x: auto;
	min-height: 100%;
}

.sd-codetabs__panel {
	display: none;
	overflow-x: auto;
	margin: 0;
	background: transparent;
}

.sd-codetabs__panel.is-active {
	display: block;
}

.sd-codetabs__panel code {
	font-family: var(--sd-mono);
	font-size: 14px;
	line-height: 1.6;
	padding: 0;
	color: var(--sd-text-soft);
	background: none;
}

/* Highlight.js (GitHub Dark) — let our own code surface show through so the
 * highlighted token colours sit on the design's background, not the theme's. */
.sd-docs .hljs {
	padding: 0;
	background: transparent;
}
