/* Modal de consultas: diseño móvil primero. */
.interest-overlay[hidden] { display: none !important; }
.interest-overlay { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: flex-end; justify-content: center; background: rgba(10, 13, 18, .72); }
.interest-panel { position: relative; width: 100%; max-height: min(94dvh, 900px); overflow-y: auto; overscroll-behavior: contain; border-radius: 22px 22px 0 0; background: #fff; padding: 30px 22px max(24px, env(safe-area-inset-bottom)); box-shadow: 0 18px 70px #0004; }
.interest-close { position: absolute; right: 18px; top: 13px; width: 38px; height: 38px; border: 0; background: #f2f2f2; border-radius: 50%; font-size: 28px; cursor: pointer; }
.interest-eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .12em; color: #df2025; }
.interest-panel h2 { margin: 12px 35px 8px 0; font-size: clamp(23px, 5vw, 29px); line-height: 1.2; }
.interest-panel p { margin: 0 0 15px; color: #626262; line-height: 1.5; }
.interest-unit { padding: 11px 13px; background: #f4f5f6; border-radius: 9px; font-weight: 750; margin-bottom: 16px; }
#formInteres label { display: block; font-size: 13px; font-weight: 750; margin: 12px 0 6px; }
#formInteres input:not([type=hidden]) { box-sizing: border-box; width: 100%; min-height: 47px; padding: 11px 12px; border: 1px solid #d7d7d7; border-radius: 8px; font: inherit; font-size: 16px; }
#formInteres input:focus { outline: 2px solid #e32027; outline-offset: 1px; }
.interest-submit { width: 100%; min-height: 52px; border: 0; border-radius: 8px; margin: 18px 0 9px; background: #e42126; color: #fff; font-size: 14px; font-weight: 800; cursor: pointer; }
.interest-submit:disabled { opacity: .65; cursor: wait; }
#formInteres small { display: block; color: #6b6b6b; line-height: 1.4; }
.interest-error { margin-top: 12px; padding: 10px; border-radius: 8px; background: #fff0f0; color: #a00000; }
body.interest-open { overflow: hidden; }
@media (min-width: 700px) { .interest-overlay { align-items: center; padding: 20px; } .interest-panel { max-width: 465px; border-radius: 16px; padding: 30px; } }
