#contact-form button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 190px; min-height: 48px; }
#contact-form[aria-busy="true"] button[type="submit"] { cursor: wait; opacity: .85; }
#contact-form[aria-busy="true"] input, #contact-form[aria-busy="true"] textarea, #contact-form[aria-busy="true"] select { opacity: .75; }
.bnc-contact-spinner { width: 18px; height: 18px; display: inline-block; flex-shrink: 0; border: 2px solid rgba(255,255,255,.35); border-top-color: currentColor; border-radius: 50%; animation: bnc-contact-spin .7s linear infinite; }
.bnc-contact-status { margin: 18px 0; padding: 12px 15px; border-radius: 9px; background: #edf8f4; border: 1px solid #cce7dd; color: #176044; font-size: 14px; line-height: 1.7; }
.bnc-contact-status[hidden] { display: none; }
.bnc-contact-error { background: #fff5f3; border-color: #f0d2cb; color: #963f2e; }
.bnc-contact-alert.swal2-popup { font-family: inherit; border-radius: 18px; padding-bottom: 28px; }
.bnc-contact-alert .swal2-title { font-size: clamp(23px, 4vw, 29px); line-height: 1.4; letter-spacing: -.025em; }
.bnc-contact-alert .swal2-html-container { font-size: 16px; line-height: 1.8; color: #53647b; }
.bnc-contact-alert .swal2-confirm { border-radius: 999px; padding: 12px 28px; font-family: inherit; font-weight: 600; }
@keyframes bnc-contact-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .bnc-contact-spinner { animation: none; } }
