/* Drapery Life — Solicitudes gratuitas zip-gated (videollamada / muestra de tela).
   Los botones que abren el modal viven en el hero (4 tarjetas plux-card, José 2026-09-19) —
   aquí solo queda el modal compartido. */

/* Modal compartido */
.fr-modal-overlay {
  position: fixed; inset: 0; background: rgba(20, 18, 15, .55); backdrop-filter: blur(2px);
  display: flex; align-items: center; justify-content: center; padding: 20px; z-index: 1000;
}
.fr-modal-overlay[hidden] { display: none; }
.fr-modal {
  background: var(--color-bg); border-radius: var(--radius-lg); max-width: 420px; width: 100%;
  padding: 28px; box-shadow: var(--shadow-soft); position: relative; max-height: 90vh; overflow-y: auto;
}
.fr-modal-close {
  position: absolute; top: 14px; right: 14px; background: none; border: none; font-size: 22px;
  line-height: 1; cursor: pointer; color: var(--color-muted);
}
.fr-modal h3 { margin: 0 0 6px; }
.fr-modal-sub { color: var(--color-muted); font-size: var(--text-sm); margin: 0 0 18px; }
.fr-field { display: flex; flex-direction: column; gap: 4px; text-align: left; margin-bottom: 12px; font-size: var(--text-sm); }
.fr-field input, .fr-field textarea {
  border: 1px solid var(--color-border); border-radius: var(--radius-sm); padding: 10px 12px;
  font: inherit; color: var(--color-text);
}
.fr-field input:focus, .fr-field textarea:focus { outline: 2px solid var(--color-focus-ring); outline-offset: 1px; }
.fr-submit {
  width: 100%; margin-top: 6px; padding: 12px; border: none; border-radius: var(--radius-pill);
  background: var(--color-primary); color: var(--color-on-primary); font-weight: var(--weight-semibold);
  cursor: pointer;
}
.fr-submit:hover { background: var(--color-primary-hover); }
.fr-submit[disabled] { opacity: .6; cursor: default; }
.fr-msg { margin-top: 12px; font-size: var(--text-sm); text-align: center; }
.fr-msg.is-error { color: var(--color-error); }
.fr-msg.is-success { color: var(--color-success); }
.fr-zip-note { font-size: var(--text-xs); color: var(--color-muted); margin: 10px 0 0; text-align: center; }
