/* enquiry-form.css — modal de contacto compartido por las páginas de servicio */

.modal-bg{ position:fixed; inset:0; background:rgba(0,0,0,0.6); display:flex; align-items:center; justify-content:center; z-index:50; padding:20px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s ease, visibility 0s linear .2s; }
.modal-bg.open{ opacity:1; visibility:visible; pointer-events:auto; transition:opacity .2s ease, visibility 0s linear 0s; }
.modal{ background:var(--bg-2); border:1px solid var(--line); border-radius:14px; padding:32px; max-width:400px; width:100%; transform:scale(0.96); transition:transform .2s ease; }
.modal-bg.open .modal{ transform:scale(1); }
@media (prefers-reduced-motion: reduce){
  .modal-bg, .modal{ transition-duration:0.01ms !important; }
}
.btn-spinner{ display:inline-block; width:13px; height:13px; border:2px solid rgba(255,255,255,0.4); border-top-color:#fff; border-radius:50%; margin-right:8px; vertical-align:-2px; animation:enqspin .7s linear infinite; }
@keyframes enqspin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){
  .btn-spinner{ animation-duration:1.4s; }
}
.modal h3{ font-family:'Space Grotesk'; font-size:18px; font-weight:600; margin-bottom:8px; }
.modal p{ color:var(--text-dim); font-size:13px; line-height:1.6; margin-bottom:18px; }
.modal input, .modal textarea{ width:100%; background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:12px 14px; color:var(--text); font-family:'Inter'; font-size:14px; margin-bottom:12px; resize:vertical; }
.modal textarea{ min-height:90px; font-family:'Inter'; }
.modal input::placeholder, .modal textarea::placeholder{ color:var(--text-faint); }
.modal .close{ background:none; border:none; color:var(--text-faint); font-size:13px; cursor:pointer; margin-top:8px; width:100%; }
.modal .err{ color:var(--red); font-size:12px; margin-bottom:10px; display:none; }
.modal .err.on{ display:block; }
