.contact-form-container{max-width:800px;margin:2rem auto;background:#fff;padding:2rem 1.5rem;border:6px solid #ededed}.contact-form-container .contact-form-title{font-size:1.8rem;font-weight:600;margin-bottom:1rem;color:#1e2a3a;border-right:5px solid #3b82f6;padding-right:1rem}.contact-form-container .contact-form-description{color:#4b5563;margin-bottom:2rem;line-height:1.6;font-size:.95rem}.contact-form-container .contact-info-text{background:#f3f4f6;padding:1rem;border-radius:20px;margin-bottom:1.5rem;font-size:.9rem;color:#334155;text-align:center}.contact-form-container .contact-info-text strong{color:#0f172a}@keyframes spin{to{transform:rotate(360deg)}}.contact-form-container form.loading{position:relative}.contact-form-container form.loading::before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,0.7);z-index:20;backdrop-filter:blur(2px);border-radius:inherit}.contact-form-container form.loading::after{content:'';position:absolute;top:50%;right:50%;width:48px;height:48px;margin-top:-24px;margin-right:-24px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;z-index:21}.contact-form-container form .form-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.contact-form-container form .form-row .form-group{flex:1;min-width:200px}.contact-form-container form .form-row .form-group-full{flex:1 1 100%}.contact-form-container form .form-row label{display:block;margin-bottom:.5rem;font-weight:500;color:#1f2937;font-size:.9rem}.contact-form-container form .form-row label .required-star{color:#ef4444;margin-right:4px}.contact-form-container form .form-row input,.contact-form-container form .form-row select,.contact-form-container form .form-row textarea{width:100%;box-sizing:border-box}.contact-form-container form .form-row textarea{resize:vertical;min-height:120px}.contact-form-container form .custom-subject-wrapper{margin-bottom:1.25rem;transition:.2s ease}@media (max-width:640px){.contact-form-container{padding:1.5rem}.contact-form-container form .form-row{flex-direction:column;gap:1rem}.contact-form-container form .form-row .form-group{min-width:auto}}