/* ============================================================
   Modal de cotización — contiene solo el formulario real, ya
   estilizado por contacto-modelo-brasil.css (todo bajo .cotizar-form).
   Prefijado bajo .quote-modal-* — sin reset global.
   ============================================================ */
.quote-modal-overlay{
  position:fixed; inset:0; z-index:99990; display:flex; align-items:center; justify-content:center;
  padding:1.5rem; background: rgba(1,33,105,.55); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  opacity:0; pointer-events:none; transition: opacity .3s ease;
}
.quote-modal-overlay.is-open{ opacity:1; pointer-events:auto; }

.quote-modal-box{
  position:relative; width:100%; max-width:640px; max-height:90vh; overflow-y:auto;
  background:#fff; border-radius:16px; box-shadow: var(--shadow-lift);
  transform: translateY(16px) scale(.98); transition: transform .3s cubic-bezier(.22,1,.36,1);
}
.quote-modal-overlay.is-open .quote-modal-box{ transform:none; }

.quote-modal-box.cotizar-form{ padding:2.25rem 1.75rem; }
.quote-modal-box.cotizar-form::before{ display:none; }
.quote-modal-box .contact-form-wrapper{ border:none; padding:0; background:transparent; }
.quote-modal-box .contact-form-wrapper:hover{ transform:none; box-shadow:none; }

.quote-modal-close{
  position:absolute; right:1rem; top:1rem; z-index:1; width:2.25rem; height:2.25rem; border-radius:50%;
  display:grid; place-items:center; background: rgba(1,33,105,.06); border:none; color: var(--brand-ink);
  font-size:.95rem; cursor:pointer; transition: background .2s, color .2s;
}
.quote-modal-close:hover{ background: var(--danger); color:#fff; }

@media (max-width:640px){
  .quote-modal-box.cotizar-form{ padding:1.75rem 1.25rem; }
}
