#abuelos-lead-modal,
#abuelos-lead-modal * { box-sizing: border-box; }
#abuelos-lead-modal { position: fixed; inset: 0; z-index: 2147483000; display: none; align-items: center; justify-content: center; padding: 20px; font-family: Lato, Roboto, Arial, sans-serif; }
#abuelos-lead-modal.is-open { display: flex; }
#abuelos-lead-modal .abuelos-lead-backdrop { position: absolute; inset: 0; background: rgba(18, 40, 35, .68); backdrop-filter: blur(3px); }
#abuelos-lead-modal .abuelos-lead-dialog { position: relative; width: min(100%, 500px); max-height: min(760px, calc(100vh - 40px)); overflow: auto; border-radius: 20px; background: #fffdf8; color: #203b34; box-shadow: 0 24px 80px rgba(12, 37, 31, .28); }
#abuelos-lead-modal .abuelos-lead-top { padding: 28px 30px 18px; background: linear-gradient(135deg, #edf7ef, #fffdf8 70%); border-bottom: 1px solid #e4ece3; }
#abuelos-lead-modal .abuelos-lead-kicker { margin: 0 0 7px; color: #5d9175; font: 700 11px/1.2 Lato, Arial, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
#abuelos-lead-modal h2 { margin: 0; color: #173d34; font: 700 28px/1.15 Baloo 2, Lato, Arial, sans-serif; }
#abuelos-lead-modal .abuelos-lead-subtitle { margin: 9px 0 0; color: #60716a; font-size: 14px; line-height: 1.55; }
#abuelos-lead-modal .abuelos-lead-close { position: absolute; top: 14px; right: 15px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(23, 61, 52, .08); color: #173d34; cursor: pointer; font-size: 25px; line-height: 1; }
#abuelos-lead-modal .abuelos-lead-close:hover { background: rgba(23, 61, 52, .15); }
#abuelos-lead-modal .abuelos-lead-form { padding: 22px 30px 28px; }
#abuelos-lead-modal .abuelos-lead-field { margin: 0 0 16px; }
#abuelos-lead-modal label { display: block; margin: 0 0 7px; color: #31574b; font-size: 13px; font-weight: 700; }
#abuelos-lead-modal label span { color: #c34b3d; }
#abuelos-lead-modal input { display: block; width: 100%; height: 48px; border: 1px solid #cfded2; border-radius: 9px; outline: 0; background: #fff; color: #203b34; padding: 0 14px; font: 400 15px Lato, Arial, sans-serif; transition: border-color .15s, box-shadow .15s; }
#abuelos-lead-modal input:focus { border-color: #5e9a7a; box-shadow: 0 0 0 3px rgba(94, 154, 122, .18); }
#abuelos-lead-modal input[aria-invalid="true"] { border-color: #c34b3d; }
#abuelos-lead-modal .abuelos-lead-error { display: block; min-height: 17px; margin-top: 5px; color: #b33a30; font-size: 12px; }
#abuelos-lead-modal .abuelos-lead-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
#abuelos-lead-modal .abuelos-lead-submit { width: 100%; min-height: 50px; margin-top: 4px; border: 0; border-radius: 9px; background: #175f4d; color: #fff; cursor: pointer; font: 700 15px Lato, Arial, sans-serif; transition: transform .15s, background .15s; }
#abuelos-lead-modal .abuelos-lead-submit:hover { background: #104a3b; }
#abuelos-lead-modal .abuelos-lead-submit:active { transform: scale(.98); }
#abuelos-lead-modal .abuelos-lead-submit:disabled { cursor: wait; opacity: .7; }
#abuelos-lead-modal .abuelos-lead-privacy { margin: 13px 0 0; color: #7b8983; font-size: 11px; line-height: 1.45; text-align: center; }
#abuelos-lead-modal .abuelos-lead-status { margin: 0 0 14px; border-radius: 8px; padding: 10px 12px; color: #8a2c25; background: #fff0ee; font-size: 13px; line-height: 1.4; }
body.abuelos-lead-modal-open { overflow: hidden; }
@media (max-width: 480px) { #abuelos-lead-modal { padding: 10px; } #abuelos-lead-modal .abuelos-lead-dialog { max-height: calc(100vh - 20px); border-radius: 16px; } #abuelos-lead-modal .abuelos-lead-top { padding: 24px 20px 16px; } #abuelos-lead-modal .abuelos-lead-form { padding: 18px 20px 22px; } #abuelos-lead-modal h2 { font-size: 25px; } }
@media (prefers-reduced-motion: reduce) { #abuelos-lead-modal *, #abuelos-lead-modal *::before, #abuelos-lead-modal *::after { transition: none !important; } }
