.lead-modal[hidden] { display: none; }
.lead-modal { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: 1rem; }
.lead-modal__backdrop { position: absolute; inset: 0; background: rgba(8, 25, 38, .72); }
.lead-modal__card { position: relative; width: min(100%, 540px); max-height: 92vh; overflow: auto; background: #fff; border-radius: 20px; padding: 2.25rem; box-shadow: 0 20px 70px rgba(0, 0, 0, .3); color: #152333; }
.lead-modal__close { position: absolute; right: .8rem; top: .45rem; border: 0; background: transparent; font-size: 2rem; color: #617184; }
.lead-modal__eyebrow { color: #138b79; font-size: .75rem; letter-spacing: .12em; font-weight: 700; margin: 0 0 .55rem; }
.lead-modal__card h2 { font-size: 1.55rem; margin: 0 2rem .7rem 0; }
.lead-modal__card form { display: grid; gap: 1.2rem; margin-top: 1.5rem; }
.lead-modal__card label { display: grid; gap: .55rem; font-weight: 700; font-size: .9rem; }
.lead-modal__card input[type=text], .lead-modal__card input[type=tel] { width: 100%; min-height: 50px; border: 1px solid #b9c8d6; border-radius: 9px; padding: .8rem .9rem; font: inherit; font-size: 1rem; background: #fff; }
.lead-modal__card input[type=text]:focus, .lead-modal__card input[type=tel]:focus { outline: 3px solid rgba(19, 139, 121, .18); border-color: #138b79; }
.lead-modal__consent { grid-template-columns: 18px 1fr; align-items: start; gap: .6rem !important; font-size: .8rem !important; font-weight: 500 !important; line-height: 1.35; }
.lead-modal__consent input { margin-top: .15rem; }
.lead-modal__privacy { font-size: .78rem; color: #617184; line-height: 1.45; margin: -.25rem 0 0; }
.lead-modal__error { color: #b42318; min-height: 1.1rem; font-size: .88rem; margin: -.45rem 0 0; }
.lead-modal__submit { min-height: 54px; border: 0; cursor: pointer; text-align: center; }
.lead-modal__qr { width: min(100%, 260px); display: block; margin: 1rem auto; border-radius: 12px; }
.lead-modal__copy { display: block; width: 100%; border: 1px solid #138b79; background: #effbf8; color: #0b6e5f; font-weight: 700; border-radius: 8px; padding: .8rem; }
.lead-modal__reference { font-size: .8rem; text-align: center; color: #617184; }
.lead-modal__whatsapp { display: block; text-align: center; margin-top: .7rem; text-decoration: none; }
@media (max-width: 480px) { .lead-modal__card { padding: 1.5rem 1.25rem; } .lead-modal__card form { gap: 1rem; } }
