.scv-validator {
	--scv-border: #d9dde3;
	--scv-text: #20252b;
	--scv-muted: #5f6873;
	--scv-surface: #ffffff;
	--scv-soft: #f6f7f9;
	--scv-accent: #1f5f8b;
	--scv-valid: #176b3a;
	--scv-valid-soft: #edf8f1;
	--scv-danger: #982c31;
	--scv-danger-soft: #fcf0f1;
	--scv-warning: #8a5a00;
	--scv-warning-soft: #fff8e5;

	max-width: 980px;
	margin: 32px auto;
	color: var(--scv-text);
}

.scv-validator * {
	box-sizing: border-box;
}

.scv-validator-header {
	margin-bottom: 24px;
}

.scv-validator-header h1 {
	margin: 3px 0 8px;
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	line-height: 1.15;
}

.scv-validator-header p {
	margin: 0;
	color: var(--scv-muted);
}

.scv-eyebrow {
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--scv-accent) !important;
}

.scv-search-form {
	padding: 22px;
	border: 1px solid var(--scv-border);
	border-radius: 14px;
	background: var(--scv-surface);
	box-shadow: 0 8px 26px rgba(25, 35, 45, .06);
}

.scv-search-form label {
	display: block;
	margin-bottom: 8px;
	font-weight: 700;
}

.scv-search-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
}

.scv-search-row input {
	width: 100%;
	min-height: 48px;
	padding: 10px 13px;
	border: 1px solid var(--scv-border);
	border-radius: 9px;
	font: inherit;
	text-transform: uppercase;
}

.scv-search-row input:focus {
	outline: 3px solid rgba(31, 95, 139, .18);
	border-color: var(--scv-accent);
}

.scv-search-row button,
.scv-pdf-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 10px 18px;
	border: 0;
	border-radius: 9px;
	background: var(--scv-accent);
	color: #fff;
	font: inherit;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.scv-search-row button:hover,
.scv-search-row button:focus,
.scv-pdf-actions a:hover,
.scv-pdf-actions a:focus {
	filter: brightness(.92);
	color: #fff;
}

.scv-result {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	margin-top: 22px;
	padding: 18px 20px;
	border: 1px solid;
	border-radius: 13px;
}

.scv-result h3 {
	margin: 0 0 4px;
	font-size: 1.25rem;
}

.scv-result p {
	margin: 0;
}

.scv-result-valid {
	border-color: #a9d3b8;
	background: var(--scv-valid-soft);
	color: var(--scv-valid);
}

.scv-result-revoked,
.scv-result-annulled {
	border-color: #e0b4b6;
	background: var(--scv-danger-soft);
	color: var(--scv-danger);
}

.scv-result-not-found {
	border-color: #e7cf8f;
	background: var(--scv-warning-soft);
	color: var(--scv-warning);
}

.scv-status-icon {
	flex: 0 0 34px;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 2px solid currentColor;
	border-radius: 50%;
	font-weight: 800;
}

.scv-certificate-card {
	margin-top: 18px;
	padding: 24px;
	border: 1px solid var(--scv-border);
	border-radius: 14px;
	background: var(--scv-surface);
	box-shadow: 0 8px 26px rgba(25, 35, 45, .06);
}

.scv-details {
	margin: 0;
}

.scv-detail-row {
	display: grid;
	grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
	gap: 18px;
	padding: 13px 0;
	border-bottom: 1px solid var(--scv-border);
}

.scv-detail-row:first-child {
	padding-top: 0;
}

.scv-detail-row:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.scv-detail-row dt {
	font-weight: 700;
	color: var(--scv-muted);
}

.scv-detail-row dd {
	margin: 0;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.scv-public-code {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	letter-spacing: .03em;
}

.scv-pdf-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}

.scv-pdf-actions a + a {
	background: #39444f;
}

.scv-pdf-viewer {
	margin-top: 18px;
	overflow: hidden;
	border: 1px solid var(--scv-border);
	border-radius: 10px;
	background: var(--scv-soft);
}

.scv-pdf-viewer object {
	display: block;
	width: 100%;
	height: min(75vh, 850px);
	min-height: 520px;
}

.scv-pdf-viewer object p {
	padding: 20px;
}

.scv-fingerprint {
	margin-top: 18px;
	padding: 14px 16px;
	border: 1px solid var(--scv-border);
	border-radius: 9px;
	background: var(--scv-soft);
}

.scv-fingerprint summary {
	cursor: pointer;
	font-weight: 700;
}

.scv-fingerprint code {
	display: block;
	margin-top: 8px;
	white-space: normal;
	overflow-wrap: anywhere;
}

@media (max-width: 700px) {
	.scv-search-row {
		grid-template-columns: 1fr;
	}

	.scv-detail-row {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.scv-pdf-actions {
		flex-direction: column;
	}

	.scv-pdf-viewer object {
		min-height: 420px;
	}
}

.scv-result-integrity {
	border-color: #e7cf8f;
	background: var(--scv-warning-soft);
	color: var(--scv-warning);
}
