/* Credential Verification Registry: scoped public verification styles.
   Everything lives under .cvr-verification. No theme-global selectors,
   no external requests, no priority escalation hacks. */

.cvr-verification,
.cvr-verification *,
.cvr-verification *::before,
.cvr-verification *::after {
	box-sizing: border-box;
}

.cvr-verification {
	--cvr-page-bg: #f3f5f9;
	--cvr-primary: #1f3a5f;
	--cvr-accent: #0e7c6b;
	--cvr-hero-shade: rgba(12, 24, 40, 0.55);
	--cvr-ink: #1d2733;
	--cvr-muted: #5b6b7d;
	--cvr-card: #ffffff;
	--cvr-line: #dde4ee;
	--cvr-radius: 14px;
	max-width: 1080px;
	margin-inline: auto;
	margin-top: 20px;
	margin-bottom: 20px;
	color: var(--cvr-ink);
	background-color: var(--cvr-page-bg);
	background-image: var(--cvr-page-bg-image, none);
	background-size: var(--cvr-page-bg-size, auto);
	background-repeat: var(--cvr-page-bg-repeat, repeat);
	background-position: var(--cvr-page-bg-position, left top);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	line-height: 1.55;
	overflow-wrap: break-word;
}

/* ---------- Hero ---------- */

.cvr-verification .cvr-hero {
	position: relative;
	overflow: hidden;
	border-radius: var(--cvr-radius);
	background: linear-gradient(135deg, var(--cvr-primary), var(--cvr-accent));
	color: #ffffff;
	padding: 40px 36px;
}

.cvr-verification .cvr-hero--image {
	background-image: var(--cvr-hero-image);
	background-size: cover;
	background-position: center;
}

.cvr-verification .cvr-hero--image::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--cvr-hero-shade);
}

.cvr-verification .cvr-hero-inner {
	position: relative;
	max-width: 720px;
}

.cvr-verification .cvr-hero-logo {
	width: auto;
	height: auto;
	max-height: 56px;
	padding: 0;
	object-fit: contain;
	background: transparent;
	border: 0;
	border-radius: 0;
}

@media only screen and (max-width: 767px) {
	.cvr-verification .cvr-hero-logo {
		width: min(100%, 180px);
		max-width: 100%;
		height: auto;
		max-height: 48px;
	}
}

.cvr-verification .cvr-institution {
	margin: 0 0 6px;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.92;
}

.cvr-verification .cvr-holder {
	margin-top: 20px;
	margin-bottom: 30px;
	color: #c7a86b;
	font-size: 2rem;
	line-height: 1.2;
	font-weight: 700;
	color: #d0c4b8;
	overflow-wrap: anywhere;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

.cvr-verification .cvr-hero-credential {
	display: grid;
	gap: 0;
	margin: 24px 0;
	padding: 6px 0;
	border-left: 3px solid #c7a86b;
}

.cvr-verification .cvr-hero-detail {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	min-width: 0;
	padding: 14px 18px;
	border-bottom: 1px solid rgba(199, 168, 107, 0.35);
	color: #fff;
	font-size: 1.05rem;
	line-height: 1.45;
	overflow-wrap: anywhere;
	transition: padding-left 0.2s ease, background 0.2s ease;
}

.cvr-verification .cvr-hero-detail:last-child {
	border-bottom: 0;
}

.cvr-verification .cvr-hero-detail:hover {
	padding-left: 24px;
	background: rgba(255, 255, 255, 0.06);
}

.cvr-verification .cvr-hero-detail .cvr-icon {
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	padding: 7px;
	color: #c7a86b;
	border: 1px solid rgba(199, 168, 107, 0.55);
	border-radius: 10px;
	background: rgba(199, 168, 107, 0.12);
	margin: 0;
	box-sizing: border-box;
}

.cvr-verification .cvr-hero-detail span {
	min-width: 0;
	font-weight: 600;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
}

@media only screen and (max-width: 767px) {
	.cvr-verification .cvr-hero-detail {
		align-items: flex-start;
		padding: 12px 10px;
		font-size: 0.98rem;
	}

	.cvr-verification .cvr-hero-detail:hover {
		padding-left: 14px;
	}
}

.cvr-verification .cvr-verified {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 8px 16px;
	border-radius: 999px;
	background: #ffffff;
	color: var(--cvr-primary);
	font-weight: 700;
	font-size: 0.95rem;
}

.cvr-verification .cvr-verified .cvr-icon {
	width: 20px;
	height: 20px;
	color: var(--cvr-accent);
}

/* ---------- Dynamic credential state badge ----------
   Icon plus words carry the meaning so color is never the sole
   indicator. Expired, revoked, failed, and withdrawn share the red
   treatment; suspended keeps amber; unknown stays neutral gray. */

.cvr-verification .cvr-credential-state {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	margin: 12px 0 18px;
	padding: 8px 12px;
	border-radius: 8px;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-transform: uppercase;
}

.cvr-verification .cvr-credential-state .cvr-icon {
	width: 18px;
	height: 18px;
	margin: 0;
	flex: none;
}

.cvr-verification .cvr-credential-state--success {
	border: 1px solid #86efac;
	background: #f0fdf4;
	color: #166534;
}

.cvr-verification .cvr-credential-state--success .cvr-icon {
	color: #16a34a;
}

.cvr-verification .cvr-credential-state--pending {
	border: 1px solid #fed7aa;
	background: #fffaf2;
	color: #c2410c;
}

.cvr-verification .cvr-credential-state--pending .cvr-icon {
	color: #f97316;
}

.cvr-verification .cvr-credential-state--expired,
.cvr-verification .cvr-credential-state--revoked,
.cvr-verification .cvr-credential-state--failed,
.cvr-verification .cvr-credential-state--withdrawn {
	border: 1px solid #fca5a5;
	background: #fef2f2;
	color: #991b1b;
}

.cvr-verification .cvr-credential-state--expired .cvr-icon,
.cvr-verification .cvr-credential-state--revoked .cvr-icon,
.cvr-verification .cvr-credential-state--failed .cvr-icon,
.cvr-verification .cvr-credential-state--withdrawn .cvr-icon {
	color: #dc2626;
}

.cvr-verification .cvr-credential-state--suspended {
	border: 1px solid #fcd34d;
	background: #fffbeb;
	color: #92400e;
}

.cvr-verification .cvr-credential-state--suspended .cvr-icon {
	color: #d97706;
}

.cvr-verification .cvr-credential-state--neutral,
.cvr-verification .cvr-credential-state--held {
	border: 1px solid #d1d5db;
	background: #f9fafb;
	color: #374151;
}

.cvr-verification .cvr-credential-state--neutral .cvr-icon,
.cvr-verification .cvr-credential-state--held .cvr-icon {
	color: #6b7280;
}

/* IOSHQ ISO status colours (1.7.142): blue issued, orange attention, red invalid, grey not established. */
.cvr-verification .cvr-credential-state.cvr-iso-tone--blue {
	border: 1px solid #93c5fd;
	background: #eff6ff;
	color: #1e40af;
}

.cvr-verification .cvr-credential-state.cvr-iso-tone--blue .cvr-icon { color: #2563eb; }

.cvr-verification .cvr-credential-state.cvr-iso-tone--orange {
	border: 1px solid #fdba74;
	background: #fff7ed;
	color: #9a3412;
}

.cvr-verification .cvr-credential-state.cvr-iso-tone--orange .cvr-icon { color: #ea580c; }

.cvr-verification .cvr-credential-state.cvr-iso-tone--red {
	border: 1px solid #fca5a5;
	background: #fef2f2;
	color: #991b1b;
}

.cvr-verification .cvr-credential-state.cvr-iso-tone--red .cvr-icon { color: #dc2626; }

.cvr-verification .cvr-credential-state.cvr-iso-tone--grey {
	border: 1px solid #d1d5db;
	background: #f9fafb;
	color: #374151;
}

.cvr-verification .cvr-credential-state.cvr-iso-tone--grey .cvr-icon { color: #6b7280; }

/* ---------- Layout ---------- */

.cvr-verification .cvr-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
	gap: 24px;
	margin-top: 24px;
	align-items: start;
}

.cvr-verification .cvr-details,
.cvr-verification .cvr-cta {
	background: var(--cvr-card);
	border: 1px solid var(--cvr-line);
	border-radius: var(--cvr-radius);
	padding: 28px;
}

.cvr-verification .cvr-media {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 390px;
	margin: 0 auto;
	padding: 20px;
	border: 1px solid var(--cvr-line, #e2e8f0);
	border-radius: 18px;
	background: #c7a86b36;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.cvr-verification .cvr-media > figure {
	width: 100%;
	margin: 0 0 18px;
}

.cvr-verification .cvr-certificate-image {
	overflow: hidden;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
}

.cvr-verification .cvr-certificate-image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 520px;
	object-fit: contain;
}

.cvr-verification .cvr-verification-badge {
	max-width: 220px;
	margin-left: auto;
	margin-right: auto;
	background: transparent;
	border: 0;
	text-align: center;
}

.cvr-verification .cvr-verification-badge img {
	display: block;
	width: 100%;
	height: auto;
}

.cvr-verification .cvr-section-title {
	margin: 0 0 4px;
	font-size: 1.25rem;
	color: var(--cvr-primary);
}

.cvr-verification .cvr-section-sub {
	margin: 0 0 20px;
	color: var(--cvr-muted);
	font-size: 0.95rem;
}

.cvr-verification .cvr-verification-unavailable {
	background: var(--cvr-card);
	border: 1px solid var(--cvr-line);
	border-radius: var(--cvr-radius);
	padding: 24px;
}

.cvr-verification .cvr-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
}

.cvr-verification .cvr-field {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	min-width: 0;
	min-height: 118px;
	padding: 18px 16px 18px 20px;
	overflow: hidden;
	border: 1px solid #e8edf2;
	border-radius: 12px;
	background: linear-gradient(145deg, #fff, #f8fafc);
	box-shadow: 0 3px 12px rgba(15, 23, 42, .045);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.cvr-verification .cvr-field::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 3px;
	background: #c7a86b;
}

.cvr-verification .cvr-field:hover {
	border-color: #d7c08d;
	box-shadow: 0 8px 20px rgba(15, 23, 42, .08);
	transform: translateY(-2px);
}

.cvr-verification .cvr-field-icon {
	display: grid;
	flex: 0 0 38px;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid #eadfca;
	border-radius: 10px;
	background: #fbf7ef;
	color: #9a7a3c;
}

.cvr-verification .cvr-field-icon .cvr-icon {
	width: 20px;
	height: 20px;
	margin: 0;
	color: #9a7a3c;
}

.cvr-verification .cvr-field-content {
	min-width: 0;
	flex: 1;
}

.cvr-verification .cvr-icon {
	flex: none;
	width: 22px;
	height: 22px;
	margin-top: 2px;
	color: var(--cvr-primary);
}

.cvr-verification .cvr-field-content dt {
	margin: 0 0 7px;
	color: #7b8794;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .1em;
	line-height: 1.3;
	text-transform: uppercase;
}

.cvr-verification .cvr-field-content dd {
	margin: 0;
	color: #18212b;
	font-size: .98rem;
	font-weight: 600;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

/* ---------- Media panel ---------- */

.cvr-verification .cvr-media figure {
	margin: 0;
}

.cvr-verification .cvr-media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
	border: 1px solid var(--cvr-line);
}

.cvr-verification .cvr-media figcaption {
	margin-top: 8px;
	font-size: 0.85rem;
	color: var(--cvr-muted);
}

.cvr-verification .cvr-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 40px;
	margin-top: 16px;
	padding: 8px 14px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	background: #fff;
	color: #334155;
	box-shadow: none;
	cursor: pointer;
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
}

.cvr-verification .cvr-button:hover,
.cvr-verification .cvr-button:focus-visible {
	color: #fff;
	background: #1d4ed8;
	border-color: #1d4ed8;
}

.cvr-verification .cvr-button:hover .cvr-icon,
.cvr-verification .cvr-button:focus-visible .cvr-icon {
	color: #fff;
}

.cvr-verification .cvr-button:focus-visible {
	outline: 3px solid #93c5fd;
	outline-offset: 2px;
}

.cvr-verification .cvr-button .cvr-icon {
	width: 18px;
	height: 18px;
	margin: 0;
	color: currentColor;
	flex: none;
}

/* ---------- Verification tools (media sidebar) ---------- */

.cvr-verification .cvr-verified-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: max-content;
	max-width: 100%;
	margin: 20px 0;
	padding: 9px 14px;
	border: 1px solid #86efac;
	border-radius: 999px;
	background: #f0fdf4;
	color: #166534;
	font-size: clamp(0.68rem, 2.4vw, 0.85rem);
	font-weight: 800;
	letter-spacing: 0.025em;
	line-height: 1;
	white-space: nowrap;
	box-sizing: border-box;
}

.cvr-verification .cvr-verified-badge .cvr-icon {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 3px;
	border-radius: 50%;
	background: #bbf7d0;
	color: #15803d;
	box-sizing: border-box;
}

@media only screen and (max-width: 420px) {
	.cvr-verification .cvr-verified-badge {
		gap: 6px;
		padding: 8px 10px;
		font-size: 0.64rem;
		letter-spacing: 0;
	}

	.cvr-verification .cvr-verified-badge .cvr-icon {
		flex-basis: 18px;
		width: 18px;
		height: 18px;
	}
}

.cvr-verification .cvr-tools {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
	margin: 16px 0 0;
}

.cvr-verification .cvr-tools .cvr-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 12px 10px;
	border-radius: 10px;
	font-size: 0.92rem;
	text-align: center;
}

.cvr-verification .cvr-tools .cvr-button:hover {
	text-decoration: none;
	background: var(--cvr-accent);
}

.cvr-verification .cvr-tools .cvr-button:focus-visible {
	outline: 3px solid var(--cvr-accent);
	outline-offset: 2px;
}

.cvr-verification .cvr-tools .cvr-button .cvr-icon {
	width: 20px;
	height: 20px;
	margin: 0;
	flex: none;
}

.cvr-verification .cvr-qr {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 360px;
	margin: 28px auto 12px;
	padding: 14px;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	background: #fff;
	text-align: center;
}

.cvr-verification .cvr-qr-code {
	display: block;
	width: min(100%, 260px);
	height: auto;
	aspect-ratio: 1;
	margin: 0 auto;
	padding: 8px;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #fff;
	image-rendering: pixelated;
	shape-rendering: crispEdges;
	transform: none;
	filter: none;
	opacity: 1;
	overflow: visible;
}

.cvr-verification .cvr-media .cvr-tools {
	margin-bottom: 28px;
}

.cvr-verification .cvr-media .cvr-qr {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin: 26px 0 0;
	padding: 18px 14px 14px;
	border: 1px solid #e7dcc5;
	border-radius: 16px;
	background: #fbfaf7;
	text-align: center;
	box-shadow: inset 0 0 0 1px rgba(199, 168, 107, 0.08);
	position: relative;
	z-index: 1;
	clear: both;
}

.cvr-verification .cvr-media .cvr-qr::before {
	content: "AUTHENTICITY CHECK";
	margin-bottom: 12px;
	color: #9a7a3c;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1.2;
}

.cvr-verification .cvr-media .cvr-qr-code {
	display: block;
	max-width: 100%;
	height: auto;
	background: #fff;
	image-rendering: pixelated;
	shape-rendering: crispEdges;
}

.cvr-verification .cvr-media .cvr-qr figcaption {
	margin-top: 12px;
	color: #1d2926;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
}

@media (max-width: 767px) {
	.cvr-verification .cvr-fields {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.cvr-verification .cvr-field {
		min-height: 0;
		padding: 15px 10px 15px 16px;
	}
}

@media only screen and (max-width: 767px) {
	.cvr-verification .cvr-media .cvr-tools {
		margin-bottom: 24px;
	}

	.cvr-verification .cvr-media .cvr-qr {
		margin-top: 22px;
		padding: 14px 8px 12px;
	}
}

.cvr-verification .cvr-qr figcaption {
	margin-top: 12px;
	color: #1e3a8a;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

.cvr-verification .cvr-verified-by {
	margin: 12px 0 0;
	color: #64748b;
	font-size: 0.82rem;
	font-weight: 600;
	text-align: center;
}

/* 1.7.71: what the verified badge does and does not confirm. */
.cvr-verification .cvr-record-note {
	margin: 10px 0 0;
	color: #475569;
	font-size: 0.82rem;
	line-height: 1.45;
	text-align: center;
}

/* ---------- CTA + footer ---------- */

.cvr-verification .cvr-cta {
	margin-top: 24px;
	text-align: center;
	background: linear-gradient(135deg, var(--cvr-primary), var(--cvr-accent));
	color: #ffffff;
	border: 0;
}

.cvr-verification .cvr-cta h2 {
	margin: 0 0 8px;
	font-size: 1.4rem;
	overflow-wrap: anywhere;
}

.cvr-verification .cvr-cta p {
	margin: 0 0 16px;
	overflow-wrap: anywhere;
	opacity: 0.94;
}

.cvr-verification .cvr-cta .cvr-button {
	background: #ffffff;
	color: var(--cvr-primary);
	margin-top: 4px;
}

.cvr-verification .cvr-footer {
	margin-top: 24px;
	text-align: center;
	color: var(--cvr-muted);
	font-size: 0.9rem;
	overflow-wrap: anywhere;
}

/* ---------- Focus + motion ---------- */

.cvr-verification a:focus-visible,
.cvr-verification button:focus-visible,
.cvr-verification input:focus-visible {
	outline: 3px solid var(--cvr-accent);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.cvr-verification *,
	.cvr-verification *::before,
	.cvr-verification *::after {
		transition: none;
		animation: none;
	}
}

/* ---------- Print: actions off, verification content full width ---------- */

@media print {
	.cvr-verification [data-cvr-print],
	.cvr-verification [data-cvr-share],
	.cvr-verification [data-cvr-report] {
		display: none;
	}

	.cvr-verification .cvr-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.cvr-verification .cvr-details,
	.cvr-verification .cvr-media,
	.cvr-verification .cvr-cta {
		box-shadow: none;
	}
}

/* ---------- Responsive ---------- */

@media (max-width: 900px) {
	.cvr-verification .cvr-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.cvr-verification .cvr-fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.cvr-verification .cvr-tools {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	.cvr-verification .cvr-hero {
		padding: 28px 22px;
	}

	.cvr-verification .cvr-holder {
		font-size: 1.5rem;
	}

	.cvr-verification .cvr-icon {
		width: 19px;
		height: 19px;
	}

	.cvr-verification .cvr-details,
	.cvr-verification .cvr-media,
	.cvr-verification .cvr-cta {
		padding: 20px 16px;
	}

	.cvr-verification .cvr-fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.cvr-verification .cvr-field {
		min-height: 0;
	}

	.cvr-verification .cvr-media {
		max-width: 100%;
		padding: 12px 5px;
		border-radius: 14px;
	}

	.cvr-verification .cvr-media > figure:first-child img {
		max-height: none;
	}

	.cvr-verification .cvr-tools {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.cvr-verification .cvr-button {
		width: 100%;
	}
}

@media only screen and (max-width: 420px) {
	.cvr-verification .cvr-field {
		gap: 8px;
		padding: 10px 5px;
	}

	.cvr-verification .cvr-field-icon,
	.cvr-verification .cvr-hero-detail .cvr-icon {
		flex-basis: 30px;
		width: 30px;
		height: 30px;
		padding: 6px;
	}

	.cvr-verification .cvr-field-content dd {
		font-size: 0.95rem;
	}

	.cvr-verification .cvr-verified-badge {
		gap: 8px;
		padding: 10px 8px;
		font-size: 0.75rem;
	}

	.cvr-verification .cvr-qr {
		margin-top: 20px;
		padding: 10px;
	}

	.cvr-verification .cvr-qr-code {
		width: min(100%, 260px);
	}
}

/* ---------- ATP verification pages ----------
   Cohesive academic registry system: clean ivory page, white
   content surfaces, deep navy typography, muted teal accents,
   restrained gold section markers, minimal borders, very soft
   shadows. No dark gradients, no decorative clutter. Scoped
   strictly under .cvr-atp-verification so host themes and the
   Credential/Membership pages are never affected. Content
   sections use a two-column grid where appropriate; long text
   stays full width. Single column on small screens. */

.cvr-atp-verification,
.cvr-atp-verification *,
.cvr-atp-verification *::before,
.cvr-atp-verification *::after {
	box-sizing: border-box;
}

.cvr-atp-verification {
	--cvr-page-bg: #faf8f3;
	--cvr-primary: #12283c;
	--cvr-accent: #176b68;
	--cvr-hero-shade: rgba(12, 24, 40, 0.55);
	--cvr-gold: #b99552;
	--cvr-ink: #203040;
	--cvr-muted: #667788;
	--cvr-card: #ffffff;
	--cvr-line: #e8e3d9;
	--cvr-radius: 14px;
	max-width: 1180px;
	margin-inline: auto;
	padding: 28px 24px 48px;
	color: var(--cvr-ink);
	background-color: var(--cvr-page-bg);
	background-image: var(--cvr-page-bg-image, none);
	background-size: var(--cvr-page-bg-size, auto);
	background-repeat: var(--cvr-page-bg-repeat, repeat);
	background-position: var(--cvr-page-bg-position, left top);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	line-height: 1.6;
	overflow-wrap: break-word;
}

/* 1. ATP identity header: light surface, navy name, subtle gold
   marker. A configured hero image survives only as a very faint
   background texture behind fully readable dark text. */
.cvr-atp-verification .cvr-atp-identity {
	position: relative;
	overflow: hidden;
	background: var(--cvr-card);
	border: 1px solid var(--cvr-line);
	border-top: 4px solid var(--cvr-gold);
	border-radius: var(--cvr-radius);
	box-shadow: 0 2px 10px rgba(18, 40, 60, 0.05);
	padding: 34px 36px;
	margin-bottom: 24px;
}

.cvr-atp-verification .cvr-atp-identity::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--cvr-hero-image, none);
	background-size: cover;
	background-position: center;
	opacity: 0.05;
	pointer-events: none;
}

.cvr-atp-verification .cvr-atp-identity > * {
	position: relative;
}

.cvr-atp-verification .cvr-atp-name {
	margin: 0 0 16px;
	font-size: 2rem;
	line-height: 1.2;
	font-weight: 700;
	color: var(--cvr-primary);
	overflow-wrap: anywhere;
}

.cvr-atp-verification .cvr-atp-fields {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 12px 24px;
}

/* Contact in one row: Website, Email, Phone side by side. */
.cvr-atp-verification .cvr-atp-fields--row {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Authorization in three columns across two rows; the note spans all. */
.cvr-atp-verification .cvr-atp-fields--grid3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cvr-atp-verification .cvr-atp-fields--grid3 .cvr-atp-field-verification_note {
	grid-column: 1 / -1;
}

.cvr-atp-verification .cvr-atp-field {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 10px 0;
	border-bottom: 1px solid var(--cvr-line);
}

.cvr-atp-verification .cvr-atp-field dt {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--cvr-muted);
}

.cvr-atp-verification .cvr-atp-field dd {
	margin: 0;
	font-weight: 600;
	color: var(--cvr-ink);
	overflow-wrap: anywhere;
}

/* 2-6. Content sections: white surfaces, gold side markers. */
.cvr-atp-verification .cvr-atp-contact,
.cvr-atp-verification .cvr-atp-authorization,
.cvr-atp-verification .cvr-atp-coverage,
.cvr-atp-verification .cvr-atp-scopes,
.cvr-atp-verification .cvr-atp-contacts {
	background: var(--cvr-card);
	border: 1px solid var(--cvr-line);
	border-radius: var(--cvr-radius);
	box-shadow: 0 2px 10px rgba(18, 40, 60, 0.05);
	padding: 28px;
	margin-bottom: 24px;
}

/* 5. Profile / About: full-width long text. */
.cvr-atp-verification .cvr-atp-profile {
	margin-top: 0;
	margin-bottom: 24px;
	padding: clamp(24px, 4vw, 42px);
	border: 1px solid var(--cvr-line);
	border-radius: 20px;
	background: var(--cvr-card);
	box-shadow: 0 2px 10px rgba(18, 40, 60, 0.05);
}

.cvr-atp-verification .cvr-atp-section-title {
	margin: 0 0 16px;
	font-size: 1.2rem;
	line-height: 1.3;
	color: var(--cvr-primary);
	border-left: 4px solid var(--cvr-gold);
	padding-left: 12px;
}

.cvr-atp-verification .cvr-atp-status {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	font-weight: 700;
	font-size: 1rem;
}

.cvr-atp-verification .cvr-atp-status svg {
	width: 22px;
	height: 22px;
	flex: none;
}

.cvr-atp-verification .cvr-atp-status--expired {
	color: #9a3412;
}

.cvr-atp-verification .cvr-atp-contact a,
.cvr-atp-verification .cvr-atp-contacts a,
.cvr-atp-verification .cvr-atp-media a {
	color: var(--cvr-accent);
	overflow-wrap: anywhere;
}

.cvr-atp-verification .cvr-atp-dimension {
	background: var(--cvr-card);
	border: 1px solid var(--cvr-line);
	border-radius: 10px;
	padding: 14px 16px;
	margin-bottom: 12px;
}

.cvr-atp-verification .cvr-atp-dimension:last-child {
	margin-bottom: 0;
}

.cvr-atp-verification .cvr-atp-dimension h3 {
	margin: 0 0 6px;
	font-size: 1rem;
	color: var(--cvr-primary);
}

.cvr-atp-verification .cvr-atp-dimension p {
	margin: 0;
	font-weight: 600;
}

.cvr-atp-verification .cvr-atp-table {
	width: 100%;
	border-collapse: collapse;
}

.cvr-atp-verification .cvr-atp-table th,
.cvr-atp-verification .cvr-atp-table td {
	text-align: left;
	padding: 10px 12px;
	border-bottom: 1px solid var(--cvr-line);
	overflow-wrap: anywhere;
}

.cvr-atp-verification .cvr-atp-table thead th {
	background: var(--cvr-primary);
	color: #ffffff;
	font-size: 0.8rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.cvr-atp-verification .cvr-atp-table thead th:first-child {
	border-radius: 8px 0 0 0;
}

.cvr-atp-verification .cvr-atp-table thead th:last-child {
	border-radius: 0 8px 0 0;
}

.cvr-atp-verification .cvr-atp-table tbody tr:nth-child(even) {
	background: #f6f8fb;
}

/* 6. Contacts: compact bordered panels. */
.cvr-atp-verification .cvr-atp-contacts ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.cvr-atp-verification .cvr-atp-contacts li {
	border: 1px solid var(--cvr-line);
	border-radius: 10px;
	padding: 14px 16px;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	background: var(--cvr-card);
}

.cvr-atp-verification .cvr-atp-contact-name {
	flex-basis: 100%;
	margin: 0;
	font-size: 1.05rem;
	color: var(--cvr-primary);
}

/* 7. Media and documents: restrained gallery. */
.cvr-atp-verification .cvr-atp-media {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 0;
	margin-bottom: 24px;
}

.cvr-atp-verification .cvr-atp-media figure {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 180px;
	margin: 0;
	padding: 18px;
	overflow: hidden;
	border: 1px solid var(--cvr-line);
	border-radius: 18px;
	background: var(--cvr-card);
	box-shadow: 0 2px 10px rgba(18, 40, 60, 0.05);
}

.cvr-atp-verification .cvr-atp-media img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 260px;
	object-fit: contain;
}

.cvr-atp-verification .cvr-atp-media ul {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.cvr-atp-verification .cvr-atp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin-top: 8px;
	padding: 10px 22px;
	border-radius: 8px;
	background: var(--cvr-primary);
	color: #ffffff;
	font-weight: 600;
	text-decoration: none;
}

.cvr-atp-verification .cvr-atp-button:hover {
	text-decoration: underline;
}

.cvr-atp-verification .cvr-atp-profile-body {
	max-width: 820px;
	color: #526170;
	font-size: 1.02rem;
	line-height: 1.8;
}

.cvr-atp-verification .cvr-atp-profile-body p {
	margin: 0 0 1.2em;
}

.cvr-atp-verification .cvr-atp-profile-body p:last-child {
	margin-bottom: 0;
}

.cvr-atp-verification .cvr-atp-profile-body > *:first-child {
	margin-top: 0;
}

.cvr-atp-verification .cvr-atp-profile-body > *:last-child {
	margin-bottom: 0;
}

.cvr-atp-verification .cvr-atp-unavailable {
	background: var(--cvr-card);
	border: 1px solid var(--cvr-line);
	border-radius: var(--cvr-radius);
	padding: 24px;
}

.cvr-atp-verification a:focus-visible,
.cvr-atp-verification button:focus-visible,
.cvr-atp-verification input:focus-visible {
	outline: 3px solid var(--cvr-accent);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.cvr-atp-verification *,
	.cvr-atp-verification *::before,
	.cvr-atp-verification *::after {
		transition: none;
		animation: none;
	}
}

@media (max-width: 900px) {
	.cvr-atp-verification .cvr-atp-fields {
		grid-template-columns: minmax(0, 1fr 1fr);
	}

	.cvr-atp-verification .cvr-atp-fields--row,
	.cvr-atp-verification .cvr-atp-fields--grid3 {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.cvr-atp-verification .cvr-atp-media {
		grid-template-columns: 1fr;
	}

	.cvr-atp-verification .cvr-atp-profile {
		padding: 22px 16px;
	}
}

@media (max-width: 640px) {
	.cvr-atp-verification {
		margin: 0 2px;
		padding: 16px 12px 32px;
	}

	.cvr-atp-verification .cvr-atp-identity {
		padding: 28px 22px;
		margin-bottom: 16px;
	}

	.cvr-atp-verification .cvr-atp-name {
		font-size: 1.5rem;
	}

	.cvr-atp-verification .cvr-atp-fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.cvr-atp-verification .cvr-atp-contact,
	.cvr-atp-verification .cvr-atp-authorization,
	.cvr-atp-verification .cvr-atp-coverage,
	.cvr-atp-verification .cvr-atp-scopes,
	.cvr-atp-verification .cvr-atp-contacts {
		padding: 20px 16px;
		margin-bottom: 16px;
	}

	.cvr-atp-verification .cvr-atp-profile {
		padding: 22px 16px;
		margin-bottom: 16px;
	}

	.cvr-atp-verification .cvr-atp-media {
		margin-bottom: 16px;
	}

	.cvr-atp-verification .cvr-atp-table {
		display: block;
		overflow-x: auto;
	}
}

@media print {
	.cvr-atp-verification {
		max-width: none;
		background: #fff;
		padding: 0;
	}

	.cvr-atp-verification .cvr-atp-identity,
	.cvr-atp-verification .cvr-atp-contact,
	.cvr-atp-verification .cvr-atp-authorization,
	.cvr-atp-verification .cvr-atp-coverage,
	.cvr-atp-verification .cvr-atp-scopes,
	.cvr-atp-verification .cvr-atp-contacts,
	.cvr-atp-verification .cvr-atp-profile,
	.cvr-atp-verification .cvr-atp-media figure {
		box-shadow: none;
		page-break-inside: avoid;
	}

	.cvr-atp-verification .cvr-atp-identity::before {
		display: none;
	}

	.cvr-atp-verification h1,
	.cvr-atp-verification h2,
	.cvr-atp-verification h3 {
		page-break-after: avoid;
	}

	.cvr-atp-verification tr {
		page-break-inside: avoid;
	}

	.cvr-atp-verification a {
		color: var(--cvr-primary);
	}

	.cvr-atp-verification .cvr-atp-table thead th {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}

/* ---------- Operator credential overrides (allowed !important) ---------- */
/* Full-width Credential verification layout */
.the_content_wrapper:has(.cvr-verification),
.section_wrapper:has(.cvr-verification) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}


.cvr-verification {
  width: min(1500px, calc(100% - 32px)) !important;
  max-width: 1500px !important;
  margin: 36px auto 60px !important;
}


.cvr-verification .cvr-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 380px !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: none !important;
}


.cvr-verification .cvr-hero-wrap,
.cvr-verification .cvr-details,
.cvr-verification .cvr-media {
  width: 100% !important;
  max-width: none !important;
}


.cvr-verification .cvr-fields {
  width: 100% !important;
  max-width: none !important;
}


@media only screen and (max-width: 900px) {
  .cvr-verification {
    width: calc(100% - 4px) !important;
    max-width: none !important;
    margin: 20px 2px 40px !important;
  }


  .cvr-verification .cvr-layout {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }


  .cvr-verification .cvr-hero-wrap,
  .cvr-verification .cvr-details,
  .cvr-verification .cvr-media {
    width: 100% !important;
    max-width: none !important;
  }
}

/* ATP header institutional override: light card, serif name, faint ATP watermark. */
.cvr-atp-verification .cvr-atp-identity {
  position: relative;
  margin: 0 0 24px;
  padding: 42px 46px 34px;
  overflow: hidden;
  border: 1px solid #dce4e9;
  border-top: 5px solid #b99552;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(18, 40, 60, .07);
}

.cvr-atp-verification .cvr-atp-identity::after {
  content: "ATP";
  position: absolute;
  right: 38px;
  bottom: -24px;
  color: rgba(18, 40, 60, .035);
  font: 800 150px/1 Arial, sans-serif;
  letter-spacing: -.08em;
  pointer-events: none;
}

.cvr-atp-verification .cvr-atp-name {
  position: relative;
  z-index: 1;
  max-width: 850px;
  margin: 0 0 30px;
  color: #12283c;
  font: 400 clamp(2.2rem, 5vw, 4.2rem)/1.05 Georgia, "Times New Roman", serif;
  letter-spacing: -.045em;
}

.cvr-atp-verification .cvr-atp-identity .cvr-atp-fields {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding-top: 22px;
  border-top: 1px solid #e5eaee;
}

.cvr-atp-verification .cvr-atp-identity .cvr-atp-field {
  min-width: 0;
  padding: 0;
  background: transparent;
}

.cvr-atp-verification .cvr-atp-identity .cvr-atp-field dt {
  margin: 0 0 5px;
  color: #7a8792;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.cvr-atp-verification .cvr-atp-identity .cvr-atp-field dd {
  margin: 0;
  color: #203040;
  font-size: .98rem;
  font-weight: 650;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

@media only screen and (max-width: 767px) {
  .cvr-atp-verification .cvr-atp-identity {
    margin-bottom: 18px;
    padding: 30px 18px 24px;
    border-radius: 12px;
  }

  .cvr-atp-verification .cvr-atp-identity::after {
    right: 12px;
    font-size: 105px;
  }

  .cvr-atp-verification .cvr-atp-name {
    font-size: 2.45rem;
  }

  .cvr-atp-verification .cvr-atp-identity .cvr-atp-fields {
    grid-template-columns: 1fr;
    gap: 15px;
    padding-top: 18px;
  }
}

/* Fields added after the original architecture: same gold detail-card language. */
.cvr-verification .cvr-hero-logo { max-width: min(100%, 260px); }
.cvr-verification .cvr-field-content dd { overflow-wrap: anywhere; }
.cvr-verification .cvr-field-competencies dd,
.cvr-verification .cvr-field-certificate_description dd,
.cvr-verification .cvr-field-verification_note dd,
.cvr-verification .cvr-field-certification_scope dd,
.cvr-verification .cvr-field-certified_locations dd,
.cvr-verification .cvr-field-training_hours_cpd dd,
.cvr-verification .cvr-field-profile_content dd { white-space: pre-line; line-height: 1.7; }
.cvr-verification .cvr-field-competencies,
.cvr-verification .cvr-field-certificate_description,
.cvr-verification .cvr-field-verification_note,
.cvr-verification .cvr-field-certification_scope,
.cvr-verification .cvr-field-certified_locations { grid-column: 1 / -1; align-items: flex-start; }
.cvr-verification .cvr-field--wide { grid-column: 1 / -1; }
.cvr-verification .cvr-field-verification_note { border-inline-start: 3px solid #c7a86b; background: #fbf7ef; }
.cvr-verification .cvr-field-training_hours_cpd { border-inline-start: 3px solid #c7a86b; }
.cvr-verification .cvr-layout:not(:has(.cvr-media)) { grid-template-columns: minmax(0, 1fr) !important; }
.cvr-record-preview .cvr-preview-notice { padding: 18px 22px; margin: 18px 0; border: 1px solid #eadfca; border-inline-start: 4px solid #c7a86b; border-radius: 12px; background: #fbf7ef; color: #24394d; }
.cvr-record-preview .cvr-preview-notice p { margin: 8px 0; font-size: 14px; }
.cvr-verification .cvr-preview-credentials { margin: 18px 0 0; padding: 0; list-style: none; }
.cvr-verification .cvr-preview-credentials li { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--cvr-line); overflow-wrap: anywhere; }
.cvr-verification a:focus-visible,
.cvr-membership a:focus-visible { outline: 3px solid #9a7a3c; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
 .cvr-verification .cvr-field, .cvr-verification .cvr-hero-detail { transition: none; transform: none; }
}

/* CIMFA record-specific long-form fields, sharing the original verification design. */
.cvr-cimfa .cvr-field-description,.cvr-cimfa .cvr-field-competencies,.cvr-cimfa .cvr-field-scope,.cvr-cimfa .cvr-field-verification_note,.cvr-cimfa .cvr-field-program_ids,.cvr-cimfa .cvr-field-authorization_basis,.cvr-cimfa .cvr-field-admission_basis { grid-column: 1/-1; align-items: flex-start; }
.cvr-cimfa .cvr-field dd { white-space: pre-line; }

.cvr-cimfa .cvr-cimfa-profile-photo { width: 90px; height: 90px; margin-bottom: 18px; border: 2px solid #c7a86b; border-radius: 12px; object-fit: contain; background: #fff; }

.cvr-cimfa .cvr-cimfa-profile-photo { max-width: 90px; max-height: 90px; }

.cvr-renewal-notice{margin:24px auto;padding:24px;max-width:1100px;box-sizing:border-box;border-left:5px solid #b32d2e;background:#fff4f4;color:#292929;border-radius:8px}.cvr-renewal-notice h2{margin:0 0 12px;font-size:24px}.cvr-renewal-notice .cvr-button{display:inline-block;padding:12px 20px;background:#1f3a5f;color:#fff;border-radius:6px;text-decoration:none}

.cvr-atp-verification .cvr-credential-state--expired{display:inline-block;background:#fff0f0;color:#a12626;border:1px solid #e8b5b5;padding:10px 16px;border-radius:7px;font-weight:700;text-transform:uppercase}

/* ---------- IOSHQ ISO Certificate hero (1.7.59, refined 1.7.60, final design 1.7.61) ----------
   Full-width navy-to-royal-blue band (1.7.61: layered gradients, a faint
   dot world map and gold-and-blue ribbons from two small plugin SVGs in
   assets/images, over the branding hero image), square corners, large
   gold icons, thin vertical rules and the generated certification badge,
   following the owner's approved design. Scoped to the ISO page class
   only. Full width comes from the page wrapper spanning the theme
   content area (already full width through the operator override
   above); no 100vw or negative margins, so nothing slides under the
   theme's right-hand header. Every other child of the page keeps the
   shared width, so the details below are unchanged. Oswald and
   Montserrat (SIL OFL) and Ultra (Apache 2.0) are bundled in
   assets/fonts: no external font request. Montserrat and Ultra
   are used only inside the generated certification badge. */
@font-face {
  font-family: "CVR Oswald";
  src: url("../fonts/oswald-latin-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "CVR Oswald";
  src: url("../fonts/oswald-latin-700-normal.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "CVR Badge Slab";
  src: url("../fonts/ultra-latin-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "CVR Badge Sans";
  src: url("../fonts/montserrat-latin-800-normal.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

.cvr-verification.cvr-ioshq-iso-page {
  --cvr-gold: #e2b955;
  --cvr-iso-rule: rgba(255, 255, 255, 0.28);
  --cvr-iso-display: "CVR Oswald", "Oswald", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 60px !important;
}

.cvr-verification.cvr-ioshq-iso-page > :not(.cvr-iso-hero) {
  width: min(1500px, calc(100% - 32px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

.cvr-verification.cvr-ioshq-iso-page > .cvr-layout { margin-top: 36px !important; }

/* 1.7.86: the banner background spans the full page width (full bleed),
   while its content uses the same column as the cards below, so the banner
   text, seal and cards align. */
.cvr-verification.cvr-ioshq-iso-page .cvr-iso-hero {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
}

.cvr-verification.cvr-ioshq-iso-page .cvr-iso-hero__inner {
  box-sizing: border-box !important;
  width: min(1500px, calc(100vw - 32px)) !important;
  margin-inline: auto !important;
  padding-inline: 16px !important;
}

@media (max-width: 640px) {
  .cvr-verification.cvr-ioshq-iso-page .cvr-iso-hero__inner { padding-inline: 2px !important; }
}

.cvr-verification .cvr-iso-hero {
  position: relative;
  width: 100%;
  margin: 0;
  border-radius: 0;
  color: #ffffff;
  background-color: #0a2366;
  background-image: var(--cvr-hero-image, none);
  background-size: cover;
  background-position: center;
  isolation: isolate;
  container-type: inline-size;
}

/* 1.7.61 background: soft blue highlights and a faint dot world map
   over a deep navy-to-royal-blue gradient (the branding image only
   tints through). Decoration only: no record data, no external files. */
.cvr-verification .cvr-iso-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(ellipse 42% 62% at 84% 34%, rgba(92, 160, 255, 0.34), transparent 70%),
    radial-gradient(ellipse 30% 40% at 12% 18%, rgba(70, 130, 240, 0.16), transparent 70%),
    url("../images/iso-hero-world.svg") no-repeat 64% 28% / auto 92%,
    linear-gradient(100deg, rgba(5, 20, 64, 0.97) 0%, rgba(8, 36, 108, 0.94) 45%, rgba(16, 66, 176, 0.9) 100%);
}

/* Hero Overlay Strength (1.7.67). With a branding hero image, the hero
   paints the image as its own background and this ::before is the one
   overlay layer: a flat dark navy whose alpha is the saved setting
   (--cvr-hero-overlay, 0 to 0.90, printed inline by tokens_css()).
   0 shows the image untouched; 90 is a dark navy wash. The decorative
   band above (blue highlights, world map, navy-to-royal gradient) is for
   heroes without an image only, so it is fully replaced here, not
   stacked. Order inside the isolated hero: image, this overlay
   (z-index -1), the waves (::after, z-index -1, painted later), then
   logo, text, icons and badge, which are never covered or faded. */
.cvr-verification .cvr-iso-hero.cvr-iso-hero--image::before {
  background: rgb(var(--cvr-hero-rgb, 6 22 58) / var(--cvr-hero-overlay, 0.55));
  mix-blend-mode: var(--cvr-hero-blend, normal);
}

/* 1.7.152: the gold-and-blue ribbon layer is removed from the ISO hero.
   The layer is switched off with display: none; the rule is kept so the
   height rules further down stay valid if the ribbon is restored. */
.cvr-verification .cvr-iso-hero::after {
  display: none;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 46%;
  z-index: -1;
  pointer-events: none;
  background: url("../images/iso-hero-ribbons.svg") no-repeat center bottom / 100% 100%;
}

.cvr-verification .cvr-iso-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "brand seal" "body seal";
  align-items: center;
  column-gap: clamp(20px, 2.4vw, 48px);
  column-gap: clamp(20px, 2.4cqi, 48px);
  width: calc(100% - 2 * clamp(20px, 4.4vw, 100px));
  width: calc(100% - 2 * clamp(20px, 4.4cqi, 100px));
  margin-inline: auto;
  padding: clamp(28px, 3.4vw, 64px) 0 clamp(32px, 3.8vw, 72px);
  padding: clamp(28px, 3.4cqi, 64px) 0 clamp(32px, 3.8cqi, 72px);
}

.cvr-verification .cvr-iso-hero__brand {
  grid-area: brand;
  display: flex;
  align-items: center;
  gap: 12px 26px;
  min-width: 0;
}

.cvr-verification .cvr-iso-hero__logo {
  display: block;
  flex: 0 0 auto;
  width: auto;
  max-width: 160px;
  height: auto;
  max-height: clamp(72px, 7vw, 150px);
  max-height: clamp(72px, 7cqi, 150px);
  object-fit: contain;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35));
  transition: transform 0.22s ease;
}

.cvr-verification .cvr-iso-hero__institution {
  margin: 0;
  min-width: 0;
  font-size: clamp(0.8rem, 0.95vw, 1.15rem);
  font-size: clamp(0.8rem, 0.98cqi, 1.15rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-transform: uppercase;
  color: #ffffff;
}

/* "IOSHQ | The Institute ..." as a large serif short name, a thin rule
   and the full name (1.7.61). */
.cvr-verification .cvr-iso-hero__institution--split {
  display: flex;
  align-items: center;
  gap: 8px clamp(16px, 1.6vw, 32px);
  gap: 8px clamp(16px, 1.6cqi, 32px);
  text-transform: none;
}

.cvr-verification .cvr-iso-hero__acronym {
  flex: 0 0 auto;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: clamp(1.9rem, 3vw, 4.4rem);
  font-size: clamp(1.9rem, 3cqi, 4.4rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #ffffff;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.cvr-verification .cvr-iso-hero__fullname {
  min-width: 0;
  max-width: 30em;
  padding-left: clamp(16px, 1.6vw, 32px);
  padding-left: clamp(16px, 1.6cqi, 32px);
  border-left: 1px solid rgba(255, 255, 255, 0.55);
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: clamp(0.78rem, 1.05vw, 1.4rem);
  font-size: clamp(0.78rem, 1.05cqi, 1.4rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.3;
  text-transform: uppercase;
}

.cvr-verification .cvr-iso-hero__body {
  grid-area: body;
  display: flex;
  align-items: stretch;
  min-width: 0;
  margin-top: clamp(20px, 2.6vw, 48px);
  margin-top: clamp(20px, 2.6cqi, 48px);
}

.cvr-verification .cvr-iso-hero__identity {
  /* 1.7.68: 1.15 : 1 : 1 (was 1.7 : 1.2 : 1.05) so the larger fact
     values fit whole words in the 1190px desktop hero. */
  flex: 1.15 1 0;
  min-width: 0;
  padding-right: clamp(14px, 1.5vw, 32px);
  padding-right: clamp(14px, 1.5cqi, 32px);
}

/* 1.7.68 hero type scale (desktop, 1190px hero): holder-type label and
   fact labels 14px, holder name 32px, fact values 22-23px, Validation
   No. 20px. Each size follows the hero width and is capped there. */
.cvr-verification .cvr-iso-hero__holder-type {
  margin: 0 0 6px;
  color: #dfe5f0;
  font-size: clamp(0.8rem, 1.13vw, 0.875rem);
  font-size: clamp(0.8rem, 1.13cqi, 0.875rem);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.cvr-verification .cvr-iso-hero__holder {
  margin: 0 0 14px;
  color: #ffffff;
  font-family: var(--cvr-iso-display);
  font-size: clamp(1.7rem, 2.7vw, 2rem);
  font-size: clamp(1.7rem, 2.7cqi, 2rem);
  font-weight: 700;
  letter-spacing: 0.005em;
  line-height: 1.12;
  overflow-wrap: break-word;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}

.cvr-verification .cvr-iso-hero__mark {
  font-size: 0.45em;
  vertical-align: super;
  line-height: 0;
  margin-left: 0.08em;
}

.cvr-verification .cvr-iso-hero__number {
  display: flex;
  align-items: center;
  gap: 16px;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 18px;
  padding: 4px 12px 4px 0;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: clamp(1rem, 1.65vw, 1.25rem);
  font-size: clamp(1rem, 1.65cqi, 1.25rem);
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #ffffff;
  transition: border-color 0.22s ease, background-color 0.22s ease, padding 0.22s ease;
}

.cvr-verification .cvr-iso-hero__number .cvr-iso-hero__icon { width: clamp(36px, 2.8cqi, 56px); height: clamp(36px, 2.8cqi, 56px); }
.cvr-verification .cvr-iso-hero__number-value { min-width: 0; overflow-wrap: anywhere; }

.cvr-verification .cvr-iso-hero__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: clamp(48px, 4.4vw, 104px);
  height: clamp(48px, 4.4vw, 104px);
  width: clamp(48px, 4.4cqi, 104px);
  height: clamp(48px, 4.4cqi, 104px);
  color: var(--cvr-gold);
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));
  transition: transform 0.22s ease, filter 0.22s ease;
}

.cvr-verification .cvr-iso-hero__icon .cvr-icon {
  width: 100%;
  height: 100%;
  margin: 0;
  color: inherit;
}

.cvr-verification .cvr-iso-hero .cvr-credential-state {
  gap: 12px;
  font-family: var(--cvr-iso-display);
  font-weight: 700;
  text-transform: uppercase;
  margin: 0;
  padding: 0.7em 1.3em 0.7em 0.8em;
  border-width: 1.5px;
  border-radius: 10px;
  font-size: clamp(0.92rem, 1.2vw, 1.55rem);
  font-size: clamp(0.92rem, 1.2cqi, 1.55rem);
  letter-spacing: 0.02em;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
  transition: box-shadow 0.22s ease, filter 0.22s ease;
}

.cvr-verification .cvr-iso-hero .cvr-credential-state .cvr-icon { width: 1.5em; height: 1.5em; }

.cvr-verification .cvr-iso-hero .cvr-credential-state--success {
  border-color: #4ade80;
  background: linear-gradient(180deg, #f2fff6, #dcf7e6);
  color: #15803d;
  box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.18), 0 6px 18px rgba(0, 0, 0, 0.28);
}

.cvr-verification .cvr-iso-hero .cvr-credential-state.cvr-iso-tone--blue { border-color: #60a5fa; background: linear-gradient(180deg, #f0f7ff, #dbeafe); color: #1d4ed8; }
.cvr-verification .cvr-iso-hero .cvr-credential-state.cvr-iso-tone--orange { border-color: #fb923c; background: linear-gradient(180deg, #fff9f0, #ffedd5); color: #c2410c; }
.cvr-verification .cvr-iso-hero .cvr-credential-state.cvr-iso-tone--red { border-color: #f87171; background: linear-gradient(180deg, #fff5f5, #fee2e2); color: #b91c1c; }
.cvr-verification .cvr-iso-hero .cvr-credential-state.cvr-iso-tone--grey { border-color: #9ca3af; background: linear-gradient(180deg, #f9fafb, #e5e7eb); color: #374151; }

.cvr-verification .cvr-iso-hero__facts {
  display: grid;
  align-content: center;
  /* 1.7.68: tighter gaps and padding offset the larger type. */
  gap: clamp(14px, 1.4vw, 28px);
  gap: clamp(14px, 1.4cqi, 28px);
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 4px clamp(14px, 1.3vw, 32px);
  padding: 4px clamp(14px, 1.3cqi, 32px);
  border-left: 1px solid var(--cvr-iso-rule);
}

.cvr-verification .cvr-iso-fact {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.1vw, 24px);
  gap: clamp(12px, 1.1cqi, 24px);
  min-width: 0;
  margin: 0;
  padding: 4px 6px 4px 0;
  border: 1px solid transparent;
  border-radius: 12px;
  transition: border-color 0.22s ease, background-color 0.22s ease;
}

.cvr-verification .cvr-iso-fact__body { min-width: 0; }

.cvr-verification .cvr-iso-fact dt {
  margin: 0 0 4px;
  font-size: clamp(0.8rem, 1.18vw, 0.875rem);
  font-size: clamp(0.8rem, 1.18cqi, 0.875rem);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #dfe5f0;
}

.cvr-verification .cvr-iso-fact dd {
  margin: 0;
  font-family: var(--cvr-iso-display);
  font-size: clamp(1.15rem, 1.95vw, 1.375rem);
  font-size: clamp(1.15rem, 1.95cqi, 1.375rem);
  font-weight: 700;
  line-height: 1.18;
  color: #ffffff;
  overflow-wrap: break-word;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.cvr-verification .cvr-iso-fact--standard dd { font-size: clamp(1.25rem, 2.02vw, 1.4375rem); font-size: clamp(1.25rem, 2.02cqi, 1.4375rem); }

.cvr-verification .cvr-iso-hero__seal {
  grid-area: seal;
  position: relative;
  display: flex;
  justify-content: center;
}

/* Soft gold light under the seal, as in the approved design. */
.cvr-verification .cvr-iso-hero__seal::after {
  content: "";
  position: absolute;
  left: 18%;
  right: 18%;
  bottom: -14px;
  height: 22px;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(255, 214, 120, 0.55), transparent 70%);
}

.cvr-verification .cvr-iso-seal {
  display: block;
  width: clamp(180px, 20vw, 420px);
  width: clamp(180px, 20cqi, 420px);
  height: auto;
  aspect-ratio: 1;
  overflow: visible;
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.5));
  transition: transform 0.24s ease, filter 0.24s ease;
}

.cvr-verification .cvr-iso-seal--muted { filter: grayscale(0.9) brightness(0.82) drop-shadow(0 10px 22px rgba(0, 0, 0, 0.5)); }
.cvr-verification .cvr-iso-hero__seal:has(.cvr-iso-seal--muted)::after { display: none; }

.cvr-verification .cvr-iso-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Hover: pointer devices only, no layout shift (transform/colour only). */
@media (hover: hover) and (pointer: fine) {
  .cvr-verification .cvr-iso-hero__number:hover {
    border-color: rgba(226, 185, 85, 0.4);
    background-color: rgba(226, 185, 85, 0.08);
  }

  .cvr-verification .cvr-iso-hero__number:hover .cvr-iso-hero__icon,
  .cvr-verification .cvr-iso-fact:hover .cvr-iso-hero__icon {
    transform: translateY(-3px);
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45)) drop-shadow(0 0 10px rgba(242, 201, 104, 0.55));
  }

  .cvr-verification .cvr-iso-fact:hover {
    border-color: rgba(226, 185, 85, 0.4);
    background-color: rgba(226, 185, 85, 0.06);
  }

  .cvr-verification .cvr-iso-hero__logo:hover { transform: scale(1.03); }

  .cvr-verification .cvr-iso-hero .cvr-credential-state:hover {
    filter: saturate(1.12) brightness(1.03);
  }

  .cvr-verification .cvr-iso-seal:hover {
    transform: scale(1.03);
    filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.5)) drop-shadow(0 0 18px rgba(255, 214, 120, 0.5));
  }

  .cvr-verification .cvr-iso-seal--muted:hover {
    filter: grayscale(0.9) brightness(0.82) drop-shadow(0 10px 22px rgba(0, 0, 0, 0.5));
  }
}

@media (prefers-reduced-motion: reduce) {
  .cvr-verification .cvr-iso-hero *,
  .cvr-verification .cvr-iso-hero *:hover {
    transition: none !important;
    transform: none !important;
  }
}

/* Laptop / tablet: brand and holder beside the seal, then the two
   fact columns side by side. The body wrapper steps aside
   (display: contents) so its columns join the hero grid. */
@media (max-width: 1199px) {
  .cvr-verification .cvr-iso-hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "brand seal" "identity seal" "facts facts";
    row-gap: 24px;
    width: calc(100% - 48px);
  }
  .cvr-verification .cvr-iso-hero__body { display: contents; }
  .cvr-verification .cvr-iso-hero__identity { grid-area: identity; padding-right: 0; }
  .cvr-verification .cvr-iso-hero__facts { grid-area: facts; align-self: stretch; align-content: start; padding: 24px 24px 0 0; border-left: 0; border-top: 1px solid var(--cvr-iso-rule); }
  .cvr-verification .cvr-iso-seal { width: clamp(170px, 22vw, 230px); }
  /* Ribbons stay in a band below the fact columns. */
  .cvr-verification .cvr-iso-hero::after { height: 130px; }
  .cvr-verification .cvr-iso-hero__inner { padding-bottom: 104px; }
}

@media (max-width: 900px) {
  .cvr-verification.cvr-ioshq-iso-page { margin: 0 0 40px !important; }
  .cvr-verification.cvr-ioshq-iso-page > :not(.cvr-iso-hero) { width: calc(100% - 4px) !important; }
  .cvr-verification.cvr-ioshq-iso-page > .cvr-layout { margin-top: 20px !important; }
  .cvr-verification .cvr-iso-hero__inner { width: calc(100% - 40px); grid-template-areas: "brand seal" "identity identity" "facts facts"; }
}

/* Mobile: one column; the seal follows the record facts, centred. */
@media (max-width: 640px) {
  .cvr-verification .cvr-iso-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "brand" "identity" "facts" "seal";
    row-gap: 22px;
    width: calc(100% - 32px);
    padding: 28px 0 40px;
  }
  .cvr-verification .cvr-iso-hero__brand { flex-direction: column; align-items: flex-start; }
  .cvr-verification .cvr-iso-hero__institution--split { flex-direction: column; align-items: flex-start; }
  .cvr-verification .cvr-iso-hero__fullname { padding-left: 0; border-left: 0; }
  .cvr-verification .cvr-iso-hero::after { height: 110px; }
  .cvr-verification .cvr-iso-hero__logo { max-height: 84px; }
  .cvr-verification .cvr-iso-hero__facts { gap: 18px; padding: 22px 0 0; border-left: 0; border-top: 1px solid var(--cvr-iso-rule); }
  .cvr-verification .cvr-iso-hero__icon { width: 48px; height: 48px; }
  .cvr-verification .cvr-iso-hero__number .cvr-iso-hero__icon { width: 38px; height: 38px; }
  .cvr-verification .cvr-iso-seal { width: 200px; }
}

@media (max-width: 360px) {
  .cvr-verification .cvr-iso-hero__inner { width: calc(100% - 24px); }
  .cvr-verification .cvr-iso-hero__holder { font-size: 1.7rem; }
  .cvr-verification .cvr-iso-hero .cvr-credential-state { padding: 10px 14px 10px 10px; }
  .cvr-verification .cvr-iso-seal { width: 176px; }
}

@media print {
  .cvr-verification .cvr-iso-hero { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* 1.7.156: IOSHQ Quality verification page. Same design as /iso/; the rules
   below apply only to the Quality page (.cvr-ioshq-quality-page), so the ISO
   page is unchanged. */
.cvr-verification.cvr-ioshq-quality-page .cvr-iso-divider {
  width: min(1500px, calc(100% - 32px));
  height: 4px;
  margin: 28px auto 0;
  background: linear-gradient(90deg, #0a2366 0%, #e2b955 50%, #0a2366 100%);
}

/* Desktop: the content columns sit 10px in from the page edge. */
@media (min-width: 901px) {
  .cvr-verification.cvr-ioshq-quality-page .cvr-vp {
    padding-inline: 10px;
  }
}

/* Mobile: the hero spans the full viewport; nothing scrolls sideways. */
@media (max-width: 900px) {
  .cvr-verification.cvr-ioshq-quality-page .cvr-vp {
    max-width: 100%;
  }
  .cvr-verification.cvr-ioshq-quality-page .cvr-iso-hero {
    width: 100vw !important;
    max-width: 100vw;
    margin-left: calc(50% - 50vw) !important;
  }
}

/* 1.7.170: IOSHQ Consultant hero branding. Consultant-only (the modifier
   is set only on the consultant hero, so the Quality page is unchanged).
   The institute name gets its own row when space is short instead of being
   squeezed into a narrow column, and words never break mid-word. */
.cvr-verification .cvr-iso-hero--consultant .cvr-iso-hero__identity {
  min-width: 0;
}

.cvr-verification .cvr-iso-hero--consultant .cvr-iso-hero__brand {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 26px;
  width: 100%;
  min-width: 0;
}

.cvr-verification .cvr-iso-hero--consultant .cvr-iso-hero__logo {
  flex: 0 0 auto;
}

.cvr-verification .cvr-iso-hero--consultant .cvr-iso-hero__institution--split {
  flex: 1 1 20rem;
  flex-wrap: wrap;
  row-gap: 8px;
  min-width: min(100%, 20rem);
  max-width: 100%;
}

.cvr-verification .cvr-iso-hero--consultant .cvr-iso-hero__acronym {
  flex: 0 0 auto;
  white-space: nowrap;
}

.cvr-verification .cvr-iso-hero--consultant .cvr-iso-hero__fullname {
  flex: 1 1 15rem;
  min-width: min(100%, 15rem);
  max-width: none;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
  line-height: 1.35;
}

/* Narrow laptops and tablets: the brand takes the full width of its cell,
   with the name wrapping onto a second row rather than compressing. */
@media (max-width: 1199px) {
  .cvr-verification .cvr-iso-hero--consultant .cvr-iso-hero__brand {
    gap: 12px 22px;
  }
}

/* Mobile: logo, wordmark and the full name stack on separate lines. */
@media (max-width: 640px) {
  .cvr-verification .cvr-iso-hero--consultant .cvr-iso-hero__brand {
    flex-direction: column;
    align-items: flex-start;
  }
  .cvr-verification .cvr-iso-hero--consultant .cvr-iso-hero__institution--split {
    flex: 0 0 auto;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .cvr-verification .cvr-iso-hero--consultant .cvr-iso-hero__fullname {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.55);
    padding-top: 8px;
  }
}

/* 1.7.171: consultant sidebar order is photo, QR code and public link
   (copy control), then the profile. The link wraps inside the sidebar. */
.cvr-verification .cvr-media .cvr-consultant-share {
  margin: 14px 0 0;
  text-align: center;
}

.cvr-verification .cvr-media .cvr-consultant-share__label {
  margin: 0 0 6px;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cvr-verification .cvr-media .cvr-consultant-share .cvr-vp-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.cvr-verification .cvr-media .cvr-consultant-share .cvr-vp-link__url {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-all;
  font-size: 0.85rem;
}

.cvr-verification .cvr-media .cvr-profile {
  margin-top: 18px;
  text-align: left;
}

/* 1.7.172: IOSHQ Consultant professional information cards (Qualifications,
   Areas of Expertise, Certification Scope, Professional Certifications).
   Consultant-only; each card shows its own saved field. */
.cvr-verification .cvr-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.cvr-verification .cvr-info-card {
  min-width: 0;
  margin: 0;
  padding: 20px 22px 22px;
  background: #ffffff;
  border: 1px solid rgba(10, 20, 48, 0.12);
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(10, 20, 48, 0.05);
}

.cvr-verification .cvr-info-card__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(10, 20, 48, 0.1);
}

.cvr-verification .cvr-info-card__icon {
  flex: 0 0 auto;
  display: inline-flex;
  width: 40px;
  height: 40px;
}

.cvr-verification .cvr-info-card__icon svg {
  width: 100%;
  height: 100%;
}

.cvr-verification .cvr-info-card__title {
  margin: 0;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.25;
  color: #0a1430;
}

.cvr-verification .cvr-info-card__body {
  font-size: 0.95rem;
  line-height: 1.65;
  color: #1f2a44;
  overflow-wrap: break-word;
}

.cvr-verification .cvr-info-card__body p { margin: 0 0 0.6em; }
.cvr-verification .cvr-info-card__body p:last-child { margin-bottom: 0; }
.cvr-verification .cvr-info-card__body ul,
.cvr-verification .cvr-info-card__body ol { margin: 0.2em 0 0; padding-left: 1.3em; }
.cvr-verification .cvr-info-card__body li { margin: 0 0 0.35em; }

@media (max-width: 640px) {
  .cvr-verification .cvr-info-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}

/* 1.7.173: IOSHQ Consultant certificate card (public page). Shown only for
   publicly visible, valid records with the certificate switched on. */
.cvr-verification .cvr-cert-card {
  margin-top: 18px;
  padding: 20px 22px 22px;
  background: #ffffff;
  border: 1px solid rgba(10, 20, 48, 0.12);
  border-top: 3px solid #c9a24a;
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(10, 20, 48, 0.05);
}

.cvr-verification .cvr-cert-card__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 10px;
}

.cvr-verification .cvr-cert-card__icon {
  flex: 0 0 auto;
  display: inline-flex;
  width: 40px;
  height: 40px;
}

.cvr-verification .cvr-cert-card__icon svg {
  width: 100%;
  height: 100%;
}

.cvr-verification .cvr-cert-card__title {
  margin: 0;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.25;
  color: #0a1430;
}

.cvr-verification .cvr-cert-card__note {
  margin: 0 0 14px;
  font-size: 0.92rem;
  line-height: 1.6;
  color: #3a4560;
}

.cvr-verification .cvr-cert-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cvr-verification .cvr-cert-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 18px;
  border: 1px solid #0a1430;
  border-radius: 6px;
  background: #ffffff;
  color: #0a1430;
  font-size: 0.92rem;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.02em;
}

.cvr-verification .cvr-cert-btn--primary {
  background: #0a1430;
  color: #ffffff;
}

.cvr-verification .cvr-cert-btn:hover,
.cvr-verification .cvr-cert-btn:focus-visible {
  border-color: #c9a24a;
  box-shadow: 0 0 0 2px rgba(201, 162, 74, 0.35);
}

.cvr-verification .cvr-cert-admin .cvr-cert-admin__actions .button {
  margin: 0 6px 6px 0;
}

/* 1.7.174: uploaded consultant certificate preview. The image keeps its
   own aspect ratio (height auto) and is limited in height on screen. */
.cvr-verification .cvr-cert-card__preview {
  margin: 0 0 16px;
  padding: 10px;
  background: #f4f5f9;
  border: 1px solid rgba(10, 20, 48, 0.1);
  border-radius: 8px;
  text-align: center;
}

.cvr-verification .cvr-cert-card__preview a {
  display: block;
}

.cvr-verification .cvr-cert-card__preview img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 72vh;
  margin: 0 auto;
  object-fit: contain;
  box-shadow: 0 4px 18px rgba(10, 20, 48, 0.14);
}

/* 1.7.175: consultant page follows the Quality layout (hero, divider and the
   three verify columns). Consultant-only: these selectors need the consultant
   card classes, which the Quality page does not use. */
.cvr-verification .cvr-vp-col--middle .cvr-info-grid {
  grid-template-columns: minmax(0, 1fr);
  margin-top: 0;
}

.cvr-verification .cvr-vp-col--middle .cvr-cert-card {
  margin-top: 0;
}

.cvr-verification .cvr-vp-photo {
  padding: 12px;
}

.cvr-verification .cvr-vp-photo .cvr-certificate-image {
  margin: 0;
}

.cvr-verification .cvr-vp-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.cvr-verification .cvr-vp-note__text {
  font-size: 0.95rem;
  line-height: 1.65;
  color: #1f2a44;
  overflow-wrap: break-word;
}

.cvr-verification .cvr-vp-note__text p {
  margin: 0 0 0.6em;
}

.cvr-verification .cvr-vp-note__text p:last-child {
  margin-bottom: 0;
}

/* 1.7.176: the four professional sections sit in a full-width row under the
   three verify columns (not in the narrow sidebar). Mobile: one column.
   Two columns only from 900px, where each card keeps reading width. */
.cvr-verification .cvr-vp-wide {
  grid-column: 1 / -1;
  margin-top: 28px;
}

.cvr-verification .cvr-vp-wide .cvr-info-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  margin-top: 0;
}

.cvr-verification .cvr-vp-wide .cvr-info-card {
  padding: 22px 24px 24px;
}

.cvr-verification .cvr-vp-wide .cvr-info-card__body {
  font-size: 0.98rem;
  line-height: 1.7;
}

@media (min-width: 900px) {
  .cvr-verification .cvr-vp-wide .cvr-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
}

/* 1.7.177: at the three-column width the four professional sections stay in
   the content area (under the left and middle columns); the sidebar keeps
   its full height on the right. Consultant-only. */
@media (min-width: 1100px) {
  .cvr-verification .cvr-vp-grid > .cvr-vp-col--left,
  .cvr-verification .cvr-vp-grid > .cvr-vp-col--middle {
    grid-row: 1;
  }
  .cvr-verification .cvr-vp-grid > .cvr-vp-col--right {
    grid-row: 1 / span 2;
  }
  .cvr-verification .cvr-vp-grid > .cvr-vp-wide {
    grid-column: 1 / 3;
    grid-row: 2;
    margin-top: 0;
  }
}

/* 1.7.179: remove the white band above the consultant hero. The outer frame
   of the consultant page and the hero's top padding were adding space.
   Consultant-only (the class is set only when a consultant record is shown). */
.cvr-verification.cvr-consultant-main {
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  max-width: none !important;
  background: transparent !important;
}

.cvr-verification.cvr-ioshq-iso-page .cvr-iso-hero--consultant .cvr-iso-hero__inner {
  padding-top: 18px !important;
}

/* 1.7.184: Credential Status badge colours from the owner's Enhanced Credential Status List. */
.cvr-verification .cvr-credential-state.cvr-status-tone--green { border: 1px solid #abefc6; background: #ecfdf3; color: #16803d; }
.cvr-verification .cvr-credential-state.cvr-status-tone--green .cvr-icon { color: #16803d; }
.cvr-verification .cvr-credential-state.cvr-status-tone--blue { border: 1px solid #b2ddff; background: #eff8ff; color: #175cd3; }
.cvr-verification .cvr-credential-state.cvr-status-tone--blue .cvr-icon { color: #175cd3; }
.cvr-verification .cvr-credential-state.cvr-status-tone--orange { border: 1px solid #fedf89; background: #fffaeb; color: #b65d08; }
.cvr-verification .cvr-credential-state.cvr-status-tone--orange .cvr-icon { color: #b65d08; }
.cvr-verification .cvr-credential-state.cvr-status-tone--red { border: 1px solid #fecdca; background: #fef3f2; color: #c62828; }
.cvr-verification .cvr-credential-state.cvr-status-tone--red .cvr-icon { color: #c62828; }

/* 1.7.184: ATP pages use the IOSHQ ISO page design (.cvr-ioshq-iso-page.cvr-atp-page). */
.cvr-verification .cvr-credential-state.cvr-status-tone--gray { border: 1px solid #d0d5dd; background: #f2f4f7; color: #475467; }
.cvr-verification .cvr-credential-state.cvr-status-tone--gray .cvr-icon { color: #475467; }
.cvr-verification .cvr-iso-hero .cvr-credential-state.cvr-status-tone--green { border-color: #4ade80; background: linear-gradient(180deg, #f2fff6, #dcf7e6); color: #16803d; }
.cvr-verification .cvr-iso-hero .cvr-credential-state.cvr-status-tone--orange { border-color: #fbbf24; background: linear-gradient(180deg, #fffbeb, #fef0c7); color: #b65d08; }
.cvr-verification .cvr-iso-hero .cvr-credential-state.cvr-status-tone--red { border-color: #f87171; background: linear-gradient(180deg, #fff5f5, #fee2e2); color: #c62828; }
.cvr-verification .cvr-iso-hero .cvr-credential-state.cvr-status-tone--gray { border-color: #9ca3af; background: linear-gradient(180deg, #f9fafb, #e5e7eb); color: #475467; }
.cvr-verification .cvr-iso-hero .cvr-credential-state[class*="cvr-status-tone--"] .cvr-icon { color: currentColor; }
.cvr-verification.cvr-atp-page .cvr-iso-divider { width: min(1500px, calc(100% - 32px)); height: 4px; margin: 28px auto 0; background: linear-gradient(90deg, #0a2366 0%, #e2b955 50%, #0a2366 100%); }
@media (min-width: 901px) { .cvr-verification.cvr-atp-page .cvr-vp { padding-inline: 10px; } }
@media (max-width: 900px) {
  .cvr-verification.cvr-atp-page .cvr-vp { max-width: 100%; }
  .cvr-verification.cvr-atp-page .cvr-iso-hero { width: 100vw !important; max-width: 100vw; margin-left: calc(50% - 50vw) !important; }
}
.cvr-verification.cvr-atp-page .cvr-vp > .cvr-vp-card { margin-top: 16px; }
.cvr-verification.cvr-atp-page .cvr-atp-dimension { padding: 10px 0; border-bottom: 1px solid #e6e9ef; }
.cvr-verification.cvr-atp-page .cvr-atp-dimension:last-child { border-bottom: 0; }
.cvr-verification.cvr-atp-page .cvr-atp-dimension h3 { margin: 0 0 4px; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #55606d; }
.cvr-verification.cvr-atp-page .cvr-atp-dimension p { margin: 0; font-weight: 600; }
.cvr-verification.cvr-atp-page .cvr-atp-dimension ul,
.cvr-verification.cvr-atp-page .cvr-atp-contacts ul,
.cvr-verification.cvr-atp-page .cvr-atp-documents ul { margin: 0; padding-left: 18px; }
.cvr-verification.cvr-atp-page .cvr-atp-contacts li { padding: 6px 0; }
.cvr-verification.cvr-atp-page .cvr-atp-contacts li > *,
.cvr-verification.cvr-atp-page .cvr-atp-documents li > * { display: block; }
.cvr-verification.cvr-atp-page .cvr-atp-scopes { overflow-x: auto; }
.cvr-verification.cvr-atp-page .cvr-atp-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.cvr-verification.cvr-atp-page .cvr-atp-table th,
.cvr-verification.cvr-atp-page .cvr-atp-table td { padding: 10px 12px; border-bottom: 1px solid #e6e9ef; text-align: left; vertical-align: top; }
.cvr-verification.cvr-atp-page .cvr-atp-table th { font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; color: #55606d; }
.cvr-verification.cvr-atp-page .cvr-atp-documents { margin-top: 14px; }
.cvr-verification.cvr-atp-page .cvr-atp-documents h3 { margin: 0 0 6px; font-size: 0.9rem; }
.cvr-verification.cvr-atp-page .cvr-vp-figure .cvr-verification-badge,
.cvr-verification.cvr-atp-page .cvr-vp-figure .cvr-certificate-image { margin: 0; }

/* Supporting Documents on the verification page (owner's front-end design):
   a card matching the details card, a warm header band with a gold edge,
   and one link row per document with a file icon and an external-link icon. */
.cvr-verification .cvr-documents {
  width: 100%;
  margin: 24px 0 0;
  padding: 28px;
  background: var(--cvr-card);
  border: 1px solid var(--cvr-line);
  border-radius: var(--cvr-radius);
  box-shadow: 0 6px 18px rgba(15, 23, 42, .05);
}
.cvr-verification .cvr-documents__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 20px;
  padding: 12px 18px 12px 14px;
  background: #f8f4ec;
  border-left: 4px solid #c7a86b;
  border-radius: 0 10px 10px 0;
}
.cvr-verification .cvr-documents__icon {
  display: grid;
  flex: 0 0 46px;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid #eadfca;
  border-radius: 12px;
  background: var(--cvr-card);
  color: #9a7a3c;
}
.cvr-verification .cvr-documents__icon .cvr-icon {
  width: 24px;
  height: 24px;
  margin: 0;
  color: #9a7a3c;
}
.cvr-verification .cvr-documents__title {
  margin: 0;
  color: var(--cvr-primary);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.25;
}
.cvr-verification .cvr-documents__list {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cvr-verification .cvr-documents__item {
  display: flex;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.cvr-verification .cvr-documents__link {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 14px;
  min-height: 56px;
  padding: 14px 18px;
  border: 1px solid #d5dce7;
  border-radius: 12px;
  background: var(--cvr-card);
  box-shadow: 0 2px 8px rgba(15, 23, 42, .05);
  color: var(--cvr-ink);
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.cvr-verification .cvr-documents__link:hover,
.cvr-verification .cvr-documents__link:focus-visible {
  border-color: #c7a86b;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .08);
  transform: translateY(-1px);
}
.cvr-verification .cvr-documents__link:focus-visible {
  outline: 3px solid var(--cvr-accent);
  outline-offset: 2px;
}
.cvr-verification .cvr-documents__file,
.cvr-verification .cvr-documents__external {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
}
.cvr-verification .cvr-documents__file { color: var(--cvr-primary); }
.cvr-verification .cvr-documents__external { margin-left: auto; color: var(--cvr-muted); }
.cvr-verification .cvr-documents__link .cvr-icon {
  width: 22px;
  height: 22px;
  margin: 0;
  color: inherit;
}
.cvr-verification .cvr-documents__label {
  min-width: 0;
  overflow-wrap: anywhere;
}
.cvr-verification .cvr-documents__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media only screen and (max-width: 900px) {
  .cvr-verification .cvr-documents { margin-top: 18px; padding: 20px; }
}
@media only screen and (max-width: 640px) {
  .cvr-verification .cvr-documents { padding: 16px; }
  .cvr-verification .cvr-documents__head { margin-bottom: 16px; }
  .cvr-verification .cvr-documents__item,
  .cvr-verification .cvr-documents__link { width: 100%; }
}

/* 1.7.196: the CIMFA verification page fits its own column. Sizing follows
   the page's container width, not the browser window, so a narrow theme
   column uses the single-column layout and wrapping text instead of the wide
   desktop grid, which clipped the cards. Wide columns keep the current layout.
   Scoped to the CIMFA verification page only. */
.cvr-verification.cvr-cimfa {
  container: cvr-cimfa-page / inline-size;
}

@container cvr-cimfa-page (max-width: 900px) {
  .cvr-verification.cvr-cimfa .cvr-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .cvr-verification.cvr-cimfa .cvr-details,
  .cvr-verification.cvr-cimfa .cvr-media,
  .cvr-verification.cvr-cimfa .cvr-cta {
    min-width: 0;
  }

  .cvr-verification.cvr-cimfa .cvr-field {
    overflow-wrap: anywhere;
  }
}

@container cvr-cimfa-page (max-width: 640px) {
  .cvr-verification.cvr-cimfa .cvr-hero {
    padding: 28px 22px;
  }

  .cvr-verification.cvr-cimfa .cvr-holder {
    font-size: 1.5rem;
  }

  .cvr-verification.cvr-cimfa .cvr-details,
  .cvr-verification.cvr-cimfa .cvr-cta {
    padding: 20px 16px;
  }

  .cvr-verification.cvr-cimfa .cvr-media {
    padding: 12px 5px;
  }

  .cvr-verification.cvr-cimfa .cvr-fields {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
