@import url('https://fonts.googleapis.com/css2?family=UnifrakturMaguntia&family=Tangerine:wght@700&display=swap');

.acv-container { max-width: 780px; margin: 40px auto; padding: 0 16px; }

/* Lookup form */
.acv-verify-form-wrap { max-width: 480px; margin: 0 auto 30px; text-align: center; }
.acv-verify-form label { display: block; font-weight: 600; margin-bottom: 8px; }
.acv-form-row { display: flex; gap: 8px; }
.acv-form-row input[type="text"] { flex: 1; padding: 10px 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 15px; }
.acv-btn { padding: 10px 18px; border-radius: 6px; border: none; cursor: pointer; font-size: 15px; font-weight: 600; }
.acv-btn-primary { background: #2557a7; color: #fff; }
.acv-btn-primary:hover { background: #1c4483; }
.acv-btn-secondary { background: #f1f1f1; color: #222; margin-top: 16px; }
.acv-btn-secondary:hover { background: #e2e2e2; }
.acv-scan-hint { font-size: 13px; color: #666; margin-top: 10px; }

/* Result states */
.acv-result { margin-top: 24px; text-align: center; }
.acv-not-found p { color: #a3272c; font-weight: 600; }
.acv-status-banner { display: inline-block; padding: 8px 18px; border-radius: 20px; font-weight: 700; margin-bottom: 20px; }
.acv-status-valid { background: #d7f5df; color: #1a7a3a; }
.acv-status-invalid { background: #fbe1e1; color: #a3272c; }

/* Certificate card - shared */
.acv-certificate { background: #fff; padding: 40px; border-radius: 10px; text-align: center; box-shadow: 0 2px 20px rgba(0,0,0,0.08); }
.acv-cert-logo { max-height: 70px; margin-bottom: 16px; }
.acv-cert-institution { font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; font-size: 13px; color: #555; }
.acv-cert-title { margin: 8px 0 4px; font-size: 24px; }
.acv-cert-line { color: #555; margin: 14px 0 4px; }
.acv-cert-name { font-size: 28px; font-weight: 700; margin: 6px 0; color: #1a1a1a; }
.acv-cert-course { font-size: 20px; font-weight: 600; color: #2557a7; margin: 4px 0 18px; }
.acv-cert-meta { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; font-size: 13px; color: #444; margin-top: 12px; }
.acv-cert-footer { margin-top: 28px; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.acv-qr-code { display: inline-block; }
.acv-verify-url { font-size: 11px; color: #888; word-break: break-all; }

/* Classic template */
.acv-template-classic { border: 3px double #2557a7; }

/* Modern template */
.acv-template-modern { border-radius: 16px; }
.acv-modern-header { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 24px; }
.acv-modern-header .acv-cert-logo { margin-bottom: 0; max-height: 40px; }
.acv-cert-eyebrow { text-transform: uppercase; font-size: 12px; letter-spacing: 1.5px; color: #999; font-weight: 700; }
.acv-meta-grid { background: #f7f8fa; border-radius: 10px; padding: 16px; }
.acv-meta-grid > div { display: flex; flex-direction: column; gap: 2px; }
.acv-meta-grid span { font-size: 11px; text-transform: uppercase; color: #999; }
.acv-meta-grid strong { font-size: 14px; }

/* Elegant template */
.acv-template-elegant { background: #fffdf8; }
.acv-elegant-border { border: 1px solid #cbb27a; padding: 30px; }
.acv-elegant-divider { color: #cbb27a; font-size: 20px; margin: 10px 0; }
.acv-script { font-family: 'Brush Script MT', cursive; font-size: 34px; color: #7a5c1e; }

/* Formal template */
.acv-template-formal { background: #fffdf6; padding: 8px; }
.acv-formal-frame {
	position: relative;
	border: 2px solid #c9a44c;
	padding: 40px 44px 30px;
	background: #fffdf6;
}
.acv-formal-frame::before {
	content: '';
	position: absolute;
	inset: 8px;
	border: 1px solid #d9c584;
	pointer-events: none;
}
.acv-corner { position: absolute; width: 34px; height: 34px; color: #c9a44c; }
.acv-corner-svg { width: 100%; height: 100%; }
.acv-corner-tl { top: 6px; left: 6px; }
.acv-corner-tr { top: 6px; right: 6px; transform: scaleX(-1); }
.acv-corner-bl { bottom: 6px; left: 6px; transform: scaleY(-1); }
.acv-corner-br { bottom: 6px; right: 6px; transform: scale(-1, -1); }
.acv-blackletter { font-family: 'UnifrakturMaguntia', 'Old English Text MT', serif; font-size: 34px; font-weight: 400; color: #2a2a2a; margin: 4px 0 18px; }
.acv-template-formal .acv-cert-eyebrow { font-size: 15px; text-transform: none; letter-spacing: 0; color: #444; font-weight: 400; }
.acv-template-formal .acv-script { font-family: 'Tangerine', 'Brush Script MT', cursive; font-size: 44px; font-weight: 700; color: #1a1a1a; margin: 0 0 10px; }
.acv-formal-body { max-width: 520px; margin: 0 auto; color: #444; font-size: 14px; line-height: 1.5; }
.acv-template-formal .acv-cert-course { font-size: 19px; margin: 6px 0 26px; }
.acv-formal-footer { display: flex; justify-content: space-between; align-items: flex-start; text-align: left; gap: 20px; border-top: 1px solid #e3d6ad; padding-top: 18px; }
.acv-formal-issuer { display: flex; align-items: center; gap: 10px; font-size: 12px; color: #333; }
.acv-formal-issuer .acv-cert-logo { max-height: 50px; margin: 0; }
.acv-formal-details { font-size: 12px; color: #333; text-align: right; }
.acv-formal-details p { margin: 2px 0; }
.acv-formal-small-print { font-size: 10px; color: #999; text-align: right; margin-top: 10px; }

@media (max-width: 600px) {
	.acv-form-row { flex-direction: column; }
	.acv-certificate { padding: 24px 18px; }
	.acv-formal-footer { flex-direction: column; text-align: left; }
	.acv-formal-details { text-align: left; }
}

/* Print / "Download as PDF" — isolate just the certificate card */
@media print {
	body * { visibility: hidden; }
	.acv-certificate, .acv-certificate * { visibility: visible; }
	.acv-certificate {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		box-shadow: none;
		border-radius: 0;
	}
	@page { margin: 0.5in; }
}
