/**
 * Buzón · el formulario en la web.
 *
 * Hereda la tipografía del tema a propósito: así el bloque no desentona con el resto de la página. Solo
 * pone lo imprescindible (caja, campos, botón) y el color de la marca.
 */

.bzn-block {
  --bzn-brand: #28bf4f;
  max-width: 540px;
  margin: 28px 0;
  padding: 26px 26px 22px;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  background: #fff;
  position: relative;
  overflow: hidden;
}
/* La firma de Ádraba: los cuatro colores en una franja arriba. */
.bzn-block::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px;
  background: linear-gradient(90deg, #28bf4f 0 25%, #f9bc00 25% 50%, #ef0f9b 50% 75%, #25abff 75% 100%);
}
.bzn-block-title { margin: 0 0 6px; font-size: 1.3em; line-height: 1.25; }
.bzn-block-text { margin: 0 0 18px; opacity: .8; line-height: 1.55; }

.bzn-form { display: block; }
.bzn-field { display: block; margin: 0 0 12px; }
.bzn-label { display: block; margin: 0 0 4px; font-size: .82em; font-weight: 600; opacity: .75; }
.bzn-input {
  width: 100%; box-sizing: border-box; padding: 11px 13px; border: 1px solid #c7d5cf; border-radius: 6px;
  background: #fff; color: inherit; font: inherit; font-size: 1em;
}
.bzn-input:focus { outline: 0; border-color: var(--bzn-brand); box-shadow: 0 0 0 3px rgba(11, 125, 99, .15); }
.bzn-consent { display: flex; align-items: flex-start; gap: 9px; margin: 0 0 16px; font-size: .86em; line-height: 1.5; opacity: .85; }
.bzn-consent input { margin-top: 3px; flex: none; }
.bzn-submit {
  appearance: none; display: inline-block; padding: 12px 22px; border: 0; border-radius: 6px; cursor: pointer;
  background: var(--bzn-brand); color: #fff; font: inherit; font-weight: 600; line-height: 1.2;
}
.bzn-submit:hover { filter: brightness(.93); }
.bzn-submit:disabled { opacity: .6; cursor: progress; }
.bzn-msg { margin: 12px 0 0; font-size: .88em; line-height: 1.5; min-height: 1.2em; }
.bzn-msg.is-ok { color: #11883a; }
.bzn-msg.is-bad { color: #c90c82; }
.bzn-fix {
  appearance: none; border: 0; background: none; padding: 0; cursor: pointer; font: inherit;
  color: inherit; text-decoration: underline; font-weight: 600;
}

/* ---------- Popup ---------- */
.bzn-popup {
  position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center;
  padding: 20px; background: rgba(14, 42, 38, .5);
}
.bzn-popup[hidden] { display: none; }
.bzn-popup-box {
  position: relative; width: min(460px, 100%); max-height: 90vh; overflow: auto; padding: 32px 30px 26px;
  border-radius: 10px; background: #fff; box-shadow: 0 20px 60px rgba(14, 42, 38, .3);
  animation: bzn-pop .22s ease-out;
}
@keyframes bzn-pop { from { transform: translateY(14px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .bzn-popup-box { animation: none; } }
.bzn-popup-close {
  position: absolute; top: 10px; right: 12px; width: 34px; height: 34px; border: 0; border-radius: 50%;
  background: none; color: inherit; font-size: 24px; line-height: 1; cursor: pointer; opacity: .55;
}
.bzn-popup-close:hover { opacity: 1; background: #f1f4f2; }
.bzn-popup-title { margin: 0 0 8px; font-size: 1.35em; line-height: 1.25; }
.bzn-popup-text { margin: 0 0 20px; opacity: .8; line-height: 1.55; }
.bzn-popup .bzn-submit { width: 100%; }
