/* Docversity Certificate Verification — Public Widget
   Luxury dark navy + gold theme, scoped under .dvcv-wrap to avoid theme conflicts. */

.dvcv-wrap {
	--dvcv-navy-950: #050b1a;
	--dvcv-navy-900: #0a1630;
	--dvcv-navy-800: #0f1e42;
	--dvcv-navy-700: #16295a;
	--dvcv-gold: #d4af7a;
	--dvcv-gold-bright: #f0d9a8;
	--dvcv-text: #eef1fa;
	--dvcv-text-muted: #a9b3d0;
	--dvcv-success: #3ddc97;
	--dvcv-danger: #ff6b6b;
	--dvcv-warning: #ffc857;

	max-width: 640px;
	margin: 32px auto;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	box-sizing: border-box;
}
.dvcv-wrap *, .dvcv-wrap *::before, .dvcv-wrap *::after { box-sizing: border-box; }

.dvcv-card {
	background: linear-gradient(165deg, var(--dvcv-navy-900) 0%, var(--dvcv-navy-950) 100%);
	border: 1px solid rgba(212, 175, 122, 0.25);
	border-radius: 18px;
	padding: 40px 36px 32px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	position: relative;
	overflow: hidden;
}
.dvcv-card::before {
	content: "";
	position: absolute;
	top: -60%;
	left: -20%;
	width: 140%;
	height: 140%;
	background: radial-gradient(circle at 30% 0%, rgba(212, 175, 122, 0.10), transparent 55%);
	pointer-events: none;
}

.dvcv-header {
	text-align: center;
	margin-bottom: 28px;
	position: relative;
}
.dvcv-crest {
	font-size: 34px;
	line-height: 1;
	margin-bottom: 10px;
	filter: drop-shadow(0 2px 6px rgba(212, 175, 122, 0.4));
}
.dvcv-title {
	color: var(--dvcv-gold-bright);
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.5px;
	margin: 0 0 6px;
}
.dvcv-subtitle {
	color: var(--dvcv-text-muted);
	font-size: 13px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin: 0;
}

.dvcv-form { position: relative; }
.dvcv-input-row {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.dvcv-input {
	flex: 1 1 240px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(212, 175, 122, 0.3);
	border-radius: 10px;
	padding: 14px 16px;
	color: var(--dvcv-text);
	font-size: 15px;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.dvcv-input::placeholder { color: var(--dvcv-text-muted); }
.dvcv-input:focus {
	border-color: var(--dvcv-gold);
	box-shadow: 0 0 0 3px rgba(212, 175, 122, 0.15);
}

.dvcv-btn {
	background: linear-gradient(135deg, var(--dvcv-gold-bright), var(--dvcv-gold));
	color: var(--dvcv-navy-950);
	border: none;
	border-radius: 10px;
	padding: 14px 26px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.3px;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
	box-shadow: 0 8px 20px rgba(212, 175, 122, 0.25);
}
.dvcv-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(212, 175, 122, 0.35); }
.dvcv-btn:active { transform: translateY(0); }
.dvcv-btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }

.dvcv-error {
	color: var(--dvcv-danger);
	font-size: 13px;
	margin: 10px 2px 0;
}

.dvcv-result { margin-top: 26px; }

.dvcv-result-box {
	border-radius: 14px;
	padding: 26px 24px;
	text-align: center;
	animation: dvcvFadeIn 0.35s ease;
	position: relative;
}
@keyframes dvcvFadeIn {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: translateY(0); }
}

.dvcv-result-icon {
	width: 56px;
	height: 56px;
	line-height: 56px;
	border-radius: 50%;
	font-size: 26px;
	margin: 0 auto 14px;
	font-weight: 700;
}

.dvcv-success {
	background: rgba(61, 220, 151, 0.07);
	border: 1px solid rgba(61, 220, 151, 0.35);
}
.dvcv-success .dvcv-result-icon { background: rgba(61, 220, 151, 0.15); color: var(--dvcv-success); }
.dvcv-success .dvcv-result-msg { color: var(--dvcv-success); }

.dvcv-fail {
	background: rgba(255, 107, 107, 0.07);
	border: 1px solid rgba(255, 107, 107, 0.35);
}
.dvcv-fail .dvcv-result-icon { background: rgba(255, 107, 107, 0.15); color: var(--dvcv-danger); }
.dvcv-fail .dvcv-result-msg { color: var(--dvcv-danger); }

.dvcv-revoked {
	background: rgba(255, 200, 87, 0.07);
	border: 1px solid rgba(255, 200, 87, 0.35);
}
.dvcv-revoked .dvcv-result-icon { background: rgba(255, 200, 87, 0.15); color: var(--dvcv-warning); }
.dvcv-revoked .dvcv-result-msg { color: var(--dvcv-warning); }

.dvcv-result-msg {
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 18px;
	line-height: 1.5;
}

.dvcv-photo-wrap { margin: 0 0 18px; }
.dvcv-photo {
	width: 96px;
	height: 96px;
	object-fit: cover;
	border-radius: 50%;
	border: 3px solid var(--dvcv-gold);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.4);
}

.dvcv-details {
	text-align: left;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 10px;
	overflow: hidden;
}
.dvcv-detail-row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 11px 16px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	font-size: 14px;
}
.dvcv-detail-row:last-child { border-bottom: none; }
.dvcv-detail-label { color: var(--dvcv-text-muted); flex: 0 0 auto; }
.dvcv-detail-value { color: var(--dvcv-text); font-weight: 600; text-align: right; }

.dvcv-verified-badge {
	display: inline-block;
	margin-top: 18px;
	padding: 6px 16px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--dvcv-gold-bright), var(--dvcv-gold));
	color: var(--dvcv-navy-950);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.5px;
}

.dvcv-footer {
	margin-top: 28px;
	text-align: center;
	color: var(--dvcv-text-muted);
	font-size: 11px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}
.dvcv-dot { margin: 0 6px; opacity: 0.5; }

@media (max-width: 480px) {
	.dvcv-card { padding: 28px 20px 24px; border-radius: 14px; }
	.dvcv-title { font-size: 20px; }
	.dvcv-detail-row { flex-direction: column; gap: 2px; }
	.dvcv-detail-value { text-align: left; }
}
