/* BuscadorCivil · popup de alta a las alertas (frontend/civil/popup.js). Founder 12-nov sobre la primera versión: «muy
   oscuro, mala legibilidad, itera». Superficie clara como los popups de BL y BT: panel blanco, título en tinta, cuerpo y pie
   con contraste AA (texto #263540 y suave #4a5c68 sobre blanco: 12,4:1 y 6,9:1); el celeste solo en el botón y los
   enlaces, en el tono oscuro del kit (#0369a1 con blanco: 5,9:1). Centrado en todo ancho (nunca pegado a un borde).
   Capa fija: no mueve nada (sin CLS). Solo tokens. */
.bcv-pop { position: fixed; inset: 0; z-index: 60; display: flex; align-items: center; justify-content: center;
  padding: 16px; overflow-y: auto; background: rgb(15 26 33 / .55); }
html.bcv-pop-abierto { overflow: hidden; }
.bcv-pop-panel { position: relative; box-sizing: border-box; width: 100%; max-width: 480px; max-height: calc(100dvh - 32px);
  margin: auto; overflow-y: auto; padding: 32px 32px 24px; border: 1px solid var(--bcv-linea); border-radius: 16px;
  background: var(--bcv-superficie); color: var(--bcv-texto); box-shadow: 0 24px 60px -24px rgb(8 47 73 / .45); }
.bcv-pop .bcv-pop-x { position: absolute; top: 10px; right: 10px; display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; padding: 0; border-radius: 50%; background: transparent; color: var(--bcv-suave); }
.bcv-pop .bcv-pop-x:hover { background: var(--bcv-banda); color: var(--bcv-tinta); }
.bcv-pop-x svg { width: 16px; height: 16px; }
.bcv-pop-t { margin: 0 32px 10px 0; font: 600 clamp(1.375rem, 4.2vw, 1.625rem)/1.22 var(--bcv-serif); letter-spacing: -.02em;
  color: var(--bcv-tinta); text-wrap: balance; }
.bcv-pop-sub { margin: 0 0 20px; font-size: 1rem; line-height: 1.6; color: var(--bcv-texto); text-wrap: pretty; }
.bcv-pop-fila { display: flex; gap: 8px; }
.bcv-pop-input { flex: 1 1 auto; min-width: 0; height: 52px; padding: 0 16px; border: 1px solid var(--bcv-linea-fuerte);
  border-radius: var(--bcv-radio-boton); background: var(--bcv-superficie); color: var(--bcv-tinta); font: 500 1rem var(--bcv-sans); }
.bcv-pop-input::placeholder { color: var(--bcv-suave); }
.bcv-pop .bcv-pop-btn { flex: none; height: 52px; padding: 0 22px; border-radius: var(--bcv-radio-boton); background: var(--bcv-marca);
  color: var(--bcv-en-marca); font: 700 1rem var(--bcv-sans); white-space: nowrap; transition: background var(--bcv-rapida), transform var(--bcv-rapida); }
.bcv-pop .bcv-pop-btn:hover { background: var(--bcv-marca-fuerte); }
.bcv-pop .bcv-pop-btn:active { transform: translateY(1px); }
.bcv-pop .bcv-pop-btn:disabled { opacity: .75; cursor: default; }
.bcv-pop :focus-visible { outline: 3px solid var(--bcv-foco); outline-offset: 2px; }
.bcv-pop-input:focus-visible { outline-offset: 0; border-color: var(--bcv-foco); }
.bcv-pop-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.bcv-pop-areas { margin: 14px 0 0; }
.bcv-pop-areas summary { cursor: pointer; font-size: .9375rem; font-weight: 600; color: var(--bcv-tinta); }
.bcv-pop-areas summary span { font-weight: 400; color: var(--bcv-suave); }
.bcv-pop-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; margin-top: 10px; }
.bcv-pop-grid label { display: flex; align-items: flex-start; gap: 8px; font-size: .9375rem; line-height: 1.4; color: var(--bcv-texto); cursor: pointer; }
.bcv-pop-grid input { margin: 3px 0 0; accent-color: var(--bcv-marca); }
.bcv-pop-msg { margin: 14px 0 0; font-size: 1rem; line-height: 1.55; }
.bcv-pop-msg:empty { display: none; }
.bcv-pop-msg--ok { padding: 14px 16px; border: 1px solid var(--bcv-marca-tenue); border-radius: var(--bcv-radio-boton);
  background: var(--bcv-marca-suave); color: var(--bcv-tinta); }
.bcv-pop-msg--ok strong { color: var(--bcv-marca-fuerte); }
.bcv-pop-msg--error { font-weight: 600; color: var(--bcv-error); }
.bcv-pop-fino { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--bcv-linea); font-size: .875rem; line-height: 1.55; color: var(--bcv-suave); }
.bcv-pop-fino a { color: var(--bcv-marca); font-weight: 600; }
@media (max-width: 520px) {
  .bcv-pop-panel { padding: 28px 20px 20px; border-radius: 14px; }
  .bcv-pop-fila { flex-direction: column; }
  .bcv-pop .bcv-pop-btn { width: 100%; }
  .bcv-pop-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .bcv-pop .bcv-pop-btn { transition: none; } }
