/* ── Variables (overridden by inline brand CSS) ───────── */
:root {
    --cv-primary: #1a3c6e;
    --cv-accent:  #059669;
    --cv-radius:  12px;
    --cv-shadow:  0 4px 24px rgba(0,0,0,0.08);
}

.cv-wrapper { max-width:580px; margin:0 auto; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }

/* ── Header ───────────────────────────────────────────── */
.cv-header { text-align:center; padding:10px 0 28px; }
.cv-shield-icon svg { width:56px; height:56px; }
.cv-logo { max-height:70px; max-width:200px; margin-bottom:12px; }
.cv-title { font-size:24px; font-weight:800; color:#0f172a; margin:10px 0 6px; }
.cv-subtitle { font-size:14px; color:#64748b; margin:0; }

/* ── Form ─────────────────────────────────────────────── */
.cv-form-box { background:#fff; border:1px solid #e2e8f0; border-radius:var(--cv-radius); padding:28px 32px; box-shadow:var(--cv-shadow); }
.cv-input-group { margin-bottom:18px; }
.cv-input-group label { display:flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:#374151; margin-bottom:6px; }
.cv-input-group label span { color:#dc2626; }
.cv-input-group input { width:100%; padding:11px 14px; border:1.5px solid #e2e8f0; border-radius:8px; font-size:15px; color:#0f172a; background:#f8fafc; box-sizing:border-box; transition:border-color .2s,box-shadow .2s; }
.cv-input-group input:focus { border-color:var(--cv-primary); background:#fff; outline:none; box-shadow:0 0 0 3px rgba(99,102,241,0.1); }
.cv-input-group input::placeholder { color:#cbd5e1; }

/* ── Verify Button ────────────────────────────────────── */
.cv-verify-btn { width:100%; padding:13px; color:#fff; border:none; border-radius:9px; font-size:15px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; margin-top:4px; transition:opacity .15s, transform .15s; letter-spacing:.2px; }
.cv-verify-btn:hover:not(:disabled) { opacity:.88; transform:translateY(-1px); }
.cv-verify-btn:disabled { opacity:.6; cursor:not-allowed; }
.cv-spinner { width:18px; height:18px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:cv-spin .7s linear infinite; flex-shrink:0; }
@keyframes cv-spin { to { transform:rotate(360deg); } }

/* ── Error ────────────────────────────────────────────── */
.cv-error-box { margin-top:14px; padding:12px 16px; background:#fef2f2; border:1px solid #fca5a5; border-radius:8px; color:#991b1b; font-size:14px; font-weight:500; display:flex; align-items:flex-start; gap:8px; }

/* ── reCAPTCHA note ───────────────────────────────────── */
.cv-recaptcha-note { display:flex; align-items:center; gap:5px; font-size:11px; color:#94a3b8; margin-bottom:10px; }

/* ══════════════════════════════════════════════════════
   RESULT CARD
══════════════════════════════════════════════════════ */
.cv-result-card { background:#fff; border:1px solid #e2e8f0; border-radius:var(--cv-radius); overflow:hidden; box-shadow:var(--cv-shadow); animation:cv-slide-up .4s ease; }
@keyframes cv-slide-up { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }

/* Result Header */
.cv-result-header { padding:22px 28px; display:flex; align-items:center; gap:14px; position:relative; overflow:hidden; }
.cv-result-icon-wrap { width:44px; height:44px; background:rgba(255,255,255,0.2); border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cv-result-icon-wrap svg { width:26px; height:26px; }
.cv-result-header-text h3 { color:#fff; font-size:18px; font-weight:700; margin:0 0 4px; }
.cv-status-badge { display:inline-block; padding:3px 12px; border-radius:20px; font-size:12px; font-weight:600; }
.cv-verified-stamp { position:absolute; right:-10px; top:50%; transform:translateY(-50%); opacity:.25; }
.cv-verified-stamp svg { width:80px; height:80px; }

/* Details Grid */
.cv-details-grid { display:grid; grid-template-columns:1fr 1fr; }
@media(max-width:480px) { .cv-details-grid { grid-template-columns:1fr; } }
.cv-detail-item { padding:12px 20px; border-bottom:1px solid #f1f5f9; }
.cv-detail-item:nth-child(odd) { border-right:1px solid #f1f5f9; }
.cv-dl { display:block; font-size:11px; font-weight:600; color:#94a3b8; text-transform:uppercase; letter-spacing:.7px; margin-bottom:3px; }
.cv-dv { display:block; font-size:14px; font-weight:600; color:#0f172a; }
.cv-dv-red   { color:#dc2626 !important; }
.cv-dv-green { color:#059669 !important; }

/* Certificate Image */
.cv-cert-image-wrap { padding:20px 24px; border-bottom:1px solid #f1f5f9; text-align:center; }
.cv-cert-image-label { font-size:11px; font-weight:600; color:#94a3b8; text-transform:uppercase; letter-spacing:.7px; margin-bottom:10px; }
.cv-cert-img { max-width:100%; border-radius:8px; border:1px solid #e2e8f0; box-shadow:0 2px 12px rgba(0,0,0,.08); }
.cv-pdf-link { display:inline-flex; align-items:center; gap:8px; color:var(--cv-primary); font-weight:600; text-decoration:none; padding:12px 20px; border:1.5px solid var(--cv-primary); border-radius:8px; font-size:14px; transition:background .15s; }
.cv-pdf-link:hover { background:#eff6ff; }

/* Actions */
.cv-result-actions { display:flex; gap:10px; padding:16px 24px; flex-wrap:wrap; border-bottom:1px solid #f1f5f9; }
.cv-btn { display:inline-flex; align-items:center; gap:6px; padding:9px 18px; border-radius:8px; font-size:13px; font-weight:600; cursor:pointer; border:none; text-decoration:none; transition:opacity .15s, transform .1s; }
.cv-btn:hover { opacity:.88; transform:translateY(-1px); }
.cv-btn-download { color:#fff; }
.cv-btn-print { background:#f1f5f9; color:#374151; }
.cv-btn-reset  { background:transparent; color:#64748b; border:1px solid #e2e8f0; margin-left:auto; }

/* Footer */
.cv-result-footer { padding:10px 24px; font-size:12px; color:#94a3b8; display:flex; align-items:center; gap:5px; }

@media print {
    .cv-verify-btn, .cv-result-actions, .cv-result-footer, .cv-header { display:none !important; }
    .cv-result-card { box-shadow:none; border:1px solid #ccc; }
}
