.sp-contact-trigger { background: none; border: 0; font: inherit; }
.sp-contact-trigger:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 3px; }
.sp-contact-popup.swal2-popup { width: 560px; max-width: calc(100vw - 24px); padding: 1.75rem; background: var(--bs-body-bg); color: var(--bs-body-color); border-radius: 1rem; }
.sp-contact-popup .swal2-title { padding: 0 2rem 0 0; text-align: left; color: var(--bs-gray-900); font-size: 1.65rem; }
.sp-contact-popup .swal2-html-container { margin: 1.25rem 0 0; padding: 0; max-height: none; overflow: visible; text-align: left; font-size: 1rem; color: var(--bs-body-color); }
.sp-contact-popup .swal2-actions { width: 100%; justify-content: flex-end; gap: .75rem; margin-top: 1.5rem; }
.sp-contact-popup .swal2-actions .btn { margin: 0; min-height: 44px; }
.sp-contact-popup .swal2-close { width: 44px; height: 44px; color: var(--bs-gray-600); }
.sp-contact-popup .swal2-close:focus-visible { outline: 2px solid var(--bs-primary); }
.sp-contact-popup textarea { min-height: 140px; resize: vertical; }
.sp-contact-popup .form-check-input { flex-shrink: 0; margin-top: .1rem; }
.sp-contact-popup .form-check { min-height: 44px; align-items: center !important; }
.sp-contact-popup .sp-contact-form [hidden] { display: none !important; }
.sp-contact-popup .sp-contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.sp-contact-popup .sp-contact-verification { min-width: 0; }
.sp-contact-popup .form-control:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 2px; }
@media (max-width: 575.98px) {
    .sp-contact-popup.swal2-popup { padding: 1.25rem; }
    .sp-contact-popup .swal2-title { font-size: 1.4rem; }
    .sp-contact-popup .swal2-actions .swal2-confirm { flex: 1; }
}
