.sl-dqk,
.sl-dqk * {
	box-sizing: border-box;
	min-width: 0;
}

.sl-dqk {
	background: #f8f7f3;
	border: 1px solid var(--color-border, #d9d6ce);
	border-radius: 10px;
	color: var(--color-text, #171717);
	margin: 42px 0;
	overflow-wrap: anywhere;
	padding: clamp(20px, 4vw, 36px);
}

.sl-dqk-sr-only {
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.sl-dqk-kicker {
	color: var(--color-accent-blue, #315d76);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.sl-dqk h2,
.sl-dqk h3,
.sl-dqk h4,
.sl-dqk h5 {
	color: inherit;
	line-height: 1.3;
}

.sl-dqk h2 {
	margin: 0 0 14px;
}

.sl-dqk-intro {
	font-size: 1.04rem;
	line-height: 1.7;
	margin: 0 0 24px;
	max-width: 850px;
}

.sl-dqk-simple-intro,
.sl-dqk-controls,
.sl-dqk-method,
.sl-dqk-limits {
	border-top: 1px solid var(--color-border, #d9d6ce);
	margin-top: 24px;
	padding-top: 20px;
}

.sl-dqk-controls h3,
.sl-dqk-simple-intro h3,
.sl-dqk-method h3,
.sl-dqk-limits h3 {
	font-size: 1.08rem;
	margin: 0 0 8px;
}

.sl-dqk-control-row {
	align-items: end;
	display: grid;
	gap: 10px 16px;
	grid-template-columns: minmax(220px, 1fr) minmax(180px, 2fr) auto;
	margin-top: 16px;
}

.sl-dqk-control-row label {
	font-weight: 700;
}

.sl-dqk-control-row select,
.sl-dqk-control-row button {
	background: #fff;
	border: 1px solid #8f8c84;
	border-radius: 6px;
	color: inherit;
	font: inherit;
	min-height: 44px;
	padding: 9px 12px;
}

.sl-dqk-control-row button {
	cursor: pointer;
}

.sl-dqk-control-row select:focus-visible,
.sl-dqk-control-row button:focus-visible,
.sl-dqk a:focus-visible {
	outline: 3px solid #315d76;
	outline-offset: 3px;
}

.sl-dqk-summary {
	font-weight: 700;
	margin: 14px 0 0;
}

.sl-dqk-group {
	border-top: 1px solid var(--color-border, #d9d6ce);
	margin-top: 30px;
	padding-top: 26px;
}

.sl-dqk-group > h3 {
	font-size: 1.28rem;
	margin: 0 0 16px;
}

.sl-dqk-criterion {
	background: #fff;
	border: 1px solid var(--color-border, #d9d6ce);
	border-radius: 8px;
	margin: 0 0 16px;
	padding: 18px;
}

.sl-dqk-criterion > h4 {
	font-size: 1.05rem;
	margin: 0 0 14px;
}

.sl-dqk-tool-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sl-dqk-tool {
	background: #fbfaf7;
	border-radius: 6px;
	padding: 14px;
}

.sl-dqk-tool h5 {
	font-size: 1rem;
	margin: 0 0 10px;
}

.sl-dqk-assertions {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sl-dqk-assertion {
	border-top: 1px solid #e3e0d9;
	margin-top: 12px;
	padding-top: 12px;
}

.sl-dqk-assertion:first-child {
	border-top: 0;
	margin-top: 0;
	padding-top: 0;
}

.sl-dqk-state-line {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	font-size: 0.82rem;
	gap: 6px;
	line-height: 1.45;
	margin: 0 0 8px;
}

.sl-dqk-state-badge {
	background: #eeece6;
	border: 1px solid #cbc7bd;
	border-radius: 999px;
	display: inline-block;
	font-weight: 700;
	padding: 3px 8px;
}

.sl-dqk-state-observed .sl-dqk-state-badge {
	background: #f1ede2;
}

.sl-dqk-state-reported .sl-dqk-state-badge {
	background: #e9eff2;
}

.sl-dqk-state-unknown .sl-dqk-state-badge,
.sl-dqk-state-not_tested .sl-dqk-state-badge,
.sl-dqk-state-not_applicable .sl-dqk-state-badge {
	background: #f1f1ef;
	color: #55534e;
}

.sl-dqk-state-conflicting .sl-dqk-state-badge,
.sl-dqk-assertion.is-review-due .sl-dqk-state-badge {
	background: #eee7da;
	border-color: #c9bda8;
}

.sl-dqk-value,
.sl-dqk-qualification,
.sl-dqk-review {
	line-height: 1.58;
	margin: 0 0 8px;
}

.sl-dqk-qualification,
.sl-dqk-review {
	color: #5a5751;
	font-size: 0.88rem;
}

.sl-dqk-profiles {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	margin-top: 24px;
}

.sl-dqk-profiles a {
	font-weight: 700;
	text-underline-offset: 3px;
}

.sl-dqk-limits ul {
	margin-bottom: 0;
}

.sl-dqk [hidden] {
	display: none !important;
}

@media (max-width: 900px) {
	.sl-dqk-tool-grid,
	.sl-dqk-control-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.sl-dqk-control-row {
		align-items: stretch;
	}
}

@media (max-width: 640px) {
	.sl-dqk {
		border-radius: 8px;
		margin: 32px 0;
		padding: 18px 14px;
	}

	.sl-dqk-criterion,
	.sl-dqk-tool {
		padding: 14px 12px;
	}

	.sl-dqk-profiles {
		align-items: flex-start;
		flex-direction: column;
	}
}
