/*
 * demo.css — Visual polish for demo/test verification pages.
 * ALL rules scoped under .vh-demo-page so nothing bleeds into
 * admin, dashboard, VerifyFlow, auth, or marketing surfaces.
 *
 * Phase 8.4 — Demo Surface Visual Refresh
 */

/* ─────────────────────────────────────────────
   Page header
───────────────────────────────────────────── */
.vh-demo-page .vh-demo-header {
  text-align: center;
  margin-bottom: 2.5rem;
}

.vh-demo-page .vh-demo-header h1 {
  font-size: 1.85rem;
  font-weight: 750;
  letter-spacing: -0.03em;
  color: #0d1b2e;
  margin-bottom: 6px;
}

.vh-demo-page .vh-demo-header h1 i {
  font-size: 1.5rem;
  vertical-align: middle;
  margin-right: 10px;
}

.vh-demo-page .vh-demo-header .lead {
  font-size: 1rem;
  color: #64748b;
  margin-bottom: 14px;
}

/* Credits / status badge — refine Bootstrap alert-info */
.vh-demo-page .vh-demo-header .alert {
  display: inline-block;
  background: rgba(26, 86, 219, 0.06) !important;
  border: 1px solid rgba(26, 86, 219, 0.16) !important;
  border-radius: 10px !important;
  color: #1e3a8a !important;
  font-size: 0.875rem !important;
  padding: 10px 18px !important;
  box-shadow: none !important;
}

.vh-demo-page .vh-demo-header .alert.alert-warning {
  background: rgba(180, 83, 9, 0.06) !important;
  border-color: rgba(180, 83, 9, 0.18) !important;
  color: #78350f !important;
}

/* ─────────────────────────────────────────────
   Cards
───────────────────────────────────────────── */
.vh-demo-page .card {
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05), 0 4px 16px rgba(0,0,0,0.05) !important;
  overflow: hidden;
}

/* Override ALL colored Bootstrap card headers */
.vh-demo-page .card-header,
.vh-demo-page .card-header.bg-primary,
.vh-demo-page .card-header.bg-success,
.vh-demo-page .card-header.bg-warning,
.vh-demo-page .card-header.bg-secondary,
.vh-demo-page .card-header.bg-dark,
.vh-demo-page .card-header.bg-info {
  background: #f8fafc !important;
  background-color: #f8fafc !important;
  color: #0d1b2e !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  padding: 14px 20px !important;
}

.vh-demo-page .card-header h5,
.vh-demo-page .card-header h6 {
  color: #0d1b2e !important;
  font-size: 0.9rem !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em;
}

.vh-demo-page .card-header i {
  color: #1a56db !important;
  margin-right: 7px;
}

/* Card body padding */
.vh-demo-page .card-body {
  padding: 1.5rem !important;
}

.vh-demo-page .card-body.p-4 {
  padding: 1.5rem !important;
}

/* ─────────────────────────────────────────────
   Step badges / pills inside cards
───────────────────────────────────────────── */
.vh-demo-page .badge.bg-primary {
  background: rgba(26, 86, 219, 0.12) !important;
  color: #1a56db !important;
  border-radius: 20px !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  letter-spacing: 0.04em;
}

/* ─────────────────────────────────────────────
   How It Works — step icons
───────────────────────────────────────────── */
.vh-demo-page .card-body .fa-2x {
  font-size: 1.75rem !important;
  opacity: 0.85;
}

.vh-demo-page .card-body .fa-2x.text-primary { color: #1a56db !important; }
.vh-demo-page .card-body .fa-2x.text-success { color: #15803d !important; }
.vh-demo-page .card-body .fa-2x.text-warning { color: #b45309 !important; }
.vh-demo-page .card-body .fa-2x.text-info    { color: #0e7490 !important; }

/* ─────────────────────────────────────────────
   Privacy guarantee alert — soft green
───────────────────────────────────────────── */
.vh-demo-page .alert.alert-success {
  background: rgba(21, 128, 61, 0.06) !important;
  border: 1px solid rgba(21, 128, 61, 0.18) !important;
  border-radius: 10px !important;
  color: #14532d !important;
  box-shadow: none !important;
}

.vh-demo-page .alert.alert-info {
  background: rgba(26, 86, 219, 0.05) !important;
  border: 1px solid rgba(26, 86, 219, 0.14) !important;
  border-radius: 10px !important;
  color: #1e3a8a !important;
  box-shadow: none !important;
}

.vh-demo-page .alert.alert-warning {
  background: rgba(180, 83, 9, 0.06) !important;
  border: 1px solid rgba(180, 83, 9, 0.18) !important;
  border-radius: 10px !important;
  color: #78350f !important;
  box-shadow: none !important;
}

/* ─────────────────────────────────────────────
   Integration ready — action buttons row
───────────────────────────────────────────── */
.vh-demo-page .btn.btn-primary {
  background: #1a56db !important;
  border-color: #1a56db !important;
  color: #fff !important;
  border-radius: 9px !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  padding: 8px 16px !important;
  box-shadow: 0 1px 3px rgba(26,86,219,0.25) !important;
  transition: background 0.14s, box-shadow 0.14s, transform 0.1s !important;
}

.vh-demo-page .btn.btn-primary:hover {
  background: #1447b8 !important;
  box-shadow: 0 3px 10px rgba(26,86,219,0.35) !important;
  transform: translateY(-1px) !important;
}

.vh-demo-page .btn.btn-success {
  background: #15803d !important;
  border-color: #15803d !important;
  color: #fff !important;
  border-radius: 9px !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  padding: 8px 16px !important;
  transition: background 0.14s, box-shadow 0.14s, transform 0.1s !important;
}

.vh-demo-page .btn.btn-success:hover {
  background: #166534 !important;
  transform: translateY(-1px) !important;
}

.vh-demo-page .btn.btn-warning {
  background: #d97706 !important;
  border-color: #d97706 !important;
  color: #fff !important;
  border-radius: 9px !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  padding: 8px 16px !important;
  transition: background 0.14s, box-shadow 0.14s, transform 0.1s !important;
}

.vh-demo-page .btn.btn-warning:hover {
  background: #b45309 !important;
  transform: translateY(-1px) !important;
}

.vh-demo-page .btn.btn-outline-secondary {
  border-color: #cbd5e1 !important;
  color: #475569 !important;
  border-radius: 9px !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  padding: 8px 16px !important;
}

.vh-demo-page .btn.btn-outline-secondary:hover {
  background: #f1f5f9 !important;
  color: #0d1b2e !important;
}

.vh-demo-page .btn.btn-outline-primary {
  border-color: #1a56db !important;
  color: #1a56db !important;
  border-radius: 9px !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  padding: 8px 16px !important;
}

.vh-demo-page .btn.btn-outline-info {
  border-color: #0e7490 !important;
  color: #0e7490 !important;
  border-radius: 9px !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  padding: 8px 16px !important;
}

.vh-demo-page .btn.btn-outline-success {
  border-color: #15803d !important;
  color: #15803d !important;
  border-radius: 9px !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  padding: 8px 16px !important;
}

.vh-demo-page .btn.btn-outline-warning {
  border-color: #d97706 !important;
  color: #d97706 !important;
  border-radius: 9px !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  padding: 8px 16px !important;
}

/* Larger (btn-lg) override */
.vh-demo-page .btn.btn-lg {
  padding: 11px 22px !important;
  font-size: 0.9375rem !important;
  border-radius: 10px !important;
}

/* ─────────────────────────────────────────────
   Camera / capture UI refinement
───────────────────────────────────────────── */
.vh-demo-page video.border,
.vh-demo-page canvas.border {
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 12px !important;
}

/* ─────────────────────────────────────────────
   Use-cases list
───────────────────────────────────────────── */
.vh-demo-page .list-unstyled li {
  padding: 4px 0;
  font-size: 0.9rem;
  color: #475569;
}

/* ─────────────────────────────────────────────
   Form controls (identity / kyc multi-step)
───────────────────────────────────────────── */
.vh-demo-page .form-control,
.vh-demo-page .form-select {
  border-color: #cbd5e1 !important;
  border-radius: 9px !important;
  font-size: 0.9375rem !important;
  padding: 9px 13px !important;
  box-shadow: none !important;
  transition: border-color 0.14s, box-shadow 0.14s !important;
}

.vh-demo-page .form-control:focus,
.vh-demo-page .form-select:focus {
  border-color: #1a56db !important;
  box-shadow: 0 0 0 3px rgba(26, 86, 219, 0.11) !important;
}

/* ─────────────────────────────────────────────
   Dark JSON result card
───────────────────────────────────────────── */
.vh-demo-page .card.bg-dark {
  background: #0f172a !important;
  border-color: #1e293b !important;
  border-radius: 12px !important;
}

/* ─────────────────────────────────────────────
   Responsive
───────────────────────────────────────────── */
@media (max-width: 576px) {
  .vh-demo-page .vh-demo-header h1 {
    font-size: 1.45rem;
  }

  .vh-demo-page .card-body {
    padding: 1.125rem !important;
  }

  .vh-demo-page .d-flex.gap-2 {
    flex-direction: column;
  }

  .vh-demo-page .d-flex.gap-2 .btn {
    width: 100%;
    justify-content: center;
  }
}
