/* Fernando Iñigo — leadform.css · estilos del ÚNICO formulario del sitio (pop-up inyectado por js/leadform.js)
   Complementa css/styles.css. Cargar en toda página que use .js-open. */

.btn-block { width: 100%; }
.badge { display: inline-block; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--gold-deep); background: rgba(242,184,75,.16); border-radius: 999px; padding: 6px 12px; }

.form-card-head { margin-bottom: 20px; }
.form-card-head h2 { font-size: clamp(1.7rem, 2.6vw, 2.2rem); margin: 12px 0 8px; }
.form-card-head p { margin: 0; color: var(--ink-soft); font-size: .95rem; line-height: 1.5; }
.fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 18px; }
.field select {
  appearance: none; -webkit-appearance: none; width: 100%; font: inherit; color: var(--ink);
  padding: 13px 40px 13px 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--paper);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%23141414' stroke-width='1.6'/></svg>");
  background-repeat: no-repeat; background-position: right 14px center; transition: border-color .2s, box-shadow .2s;
}
.field select:focus { outline: 0; border-color: var(--ink); box-shadow: 0 0 0 4px rgba(242,184,75,.3); background-color: var(--white); }
.field select.is-invalid, .field input.is-invalid { border-color: #c0392b; }
.field select:invalid { color: var(--muted); }
.form-note { margin: 12px 0 0; font-size: .8rem; color: var(--muted); text-align: center; line-height: 1.45; }
.modal .form-msg { min-height: 1.2em; margin: 10px 0 0; font-size: .88rem; color: #c0392b; text-align: center; }

/* ---------- Pop-up ---------- */
body.modal-open { overflow: hidden; }
.modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 16px; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(20,20,20,.62); backdrop-filter: blur(3px); opacity: 0; transition: opacity .25s var(--ease); }
.modal-dialog { position: relative; width: min(640px, 100%); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: auto; background: var(--white); color: var(--ink); border-radius: var(--radius); padding: clamp(22px, 3vw, 36px); box-shadow: 0 30px 80px -20px rgba(0,0,0,.5); transform: translateY(16px) scale(.98); opacity: 0; transition: transform .28s var(--ease), opacity .28s var(--ease); -webkit-overflow-scrolling: touch; }
.modal.is-open .modal-backdrop { opacity: 1; }
.modal.is-open .modal-dialog { transform: none; opacity: 1; }
.modal-close { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: var(--paper); color: var(--ink); font-size: 1.5rem; line-height: 1; cursor: pointer; display: grid; place-items: center; }
.modal-close:hover { background: var(--paper-2); }
.modal .form-card-head { padding-right: 44px; }
@media (max-width: 640px) {
  .fields { grid-template-columns: minmax(0, 1fr); }
  .modal { padding: 0; align-items: end; }
  .modal-dialog { width: 100%; max-height: 94vh; max-height: 94dvh; border-radius: var(--radius) var(--radius) 0 0; padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
}
