/*
 * Kavach — live document capture component styles.
 * Self-contained; used by partner-apply.php (gov ID) and partner-payout.php
 * (cancelled cheque / passbook). Scoped under .veq-lc so it does not collide with
 * either page's inline styles. Mobile-first.
 */
.veq-lc { margin-top: 6px; }

/* The hidden file input is the ONLY input — visually removed so no gallery/file
 * dialog can be opened. It still receives the captured Blob via DataTransfer. */
.veq-lc-file {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px; border: 0;
  clip: rect(0 0 0 0); clip-path: inset(50%);
  overflow: hidden; white-space: nowrap;
}

.veq-lc-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: #0c1426;
  border: 1px solid #c3cce0;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Older browsers without aspect-ratio: keep a sensible min height. */
@supports not (aspect-ratio: 4 / 3) {
  .veq-lc-stage { min-height: 220px; }
}

.veq-lc-preview,
.veq-lc-shot,
.veq-lc-clip {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #0c1426;
  display: block;
}

.veq-lc-badge {
  position: absolute;
  top: 10px; left: 10px;
  background: rgba(225, 29, 42, .92);
  color: #fff;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 5px 10px;
  border-radius: 999px;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
}

.veq-lc-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}
.veq-lc-btn {
  flex: 1 1 auto;
  min-width: 130px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  padding: 11px 14px;
  border-radius: 10px;
  border: 0;
  cursor: pointer;
  color: #fff;
  background: #0f1e3d;
  transition: background .15s ease, opacity .15s ease;
}
.veq-lc-btn:hover { background: #16294f; }
.veq-lc-btn:disabled { opacity: .5; cursor: not-allowed; }
.veq-lc-photo { background: #e11d2a; }
.veq-lc-photo:hover { background: #c8151f; }
.veq-lc-video { background: #0f1e3d; }
.veq-lc-retake { background: #475067; }
.veq-lc-retake:hover { background: #5a647e; }

.veq-lc-msg {
  margin-top: 9px;
  font-size: 12.5px;
  line-height: 1.5;
  color: #5b6680;
}
.veq-lc-msg.veq-lc-ok  { color: #147a47; }
.veq-lc-msg.veq-lc-err {
  color: #b3121d;
  font-weight: 600;
  background: #fbe9ec;
  border: 1px solid #f0c2ca;
  padding: 9px 12px;
  border-radius: 9px;
}
