.contact-form-success,.contact-form-error{border-radius:8px;align-items:center;gap:1rem;margin-bottom:2rem;padding:1.5rem;font-size:1rem;font-weight:500;line-height:1.4;animation:.3s ease-out slideInFromTop;display:flex}@media (max-width:768px){.contact-form-success,.contact-form-error{gap:.75rem;padding:1.25rem;font-size:.9rem}}.contact-form-success{color:#155724;background:linear-gradient(135deg,#d4edda 0%,#c3e6cb 100%);border:1px solid #c3e6cb;box-shadow:0 4px 12px #28a74526}.contact-form-success .success-icon{flex-shrink:0;font-size:1.5rem;animation:.6s ease-out .2s both bounceIn}.contact-form-success .success-text{flex:1}.contact-form-error{color:#721c24;background:linear-gradient(135deg,#f8d7da 0%,#f5c6cb 100%);border:1px solid #f5c6cb;box-shadow:0 4px 12px #dc354526}.contact-form-error .error-icon{flex-shrink:0;font-size:1.5rem;animation:.5s ease-out .2s both shake}.contact-form-error .error-text{flex:1}.ptf-submit-button{min-height:50px;transition:all .3s;position:relative;overflow:hidden}.ptf-submit-button.submitting{pointer-events:none;color:#fff;background:linear-gradient(135deg,#6c757d 0%,#5a6268 100%)}.ptf-submit-button.submitting:before{content:"";background:linear-gradient(90deg,#0000 0%,#fff3 50%,#0000 100%);width:100%;height:100%;animation:1.5s infinite shimmer;position:absolute;top:0;left:-100%}.ptf-submit-button .loading-spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:1rem;height:1rem;margin-right:.5rem;animation:1s linear infinite spin;display:inline-block}.ptf-submit-button:disabled{opacity:.7;cursor:not-allowed}.ptf-submit-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.contact_form .smalt-honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact_form .ptf-form-group{margin-bottom:2rem;position:relative}.contact_form .ptf-form-group label{margin-bottom:.75rem;font-weight:500;transition:color .3s;display:block}.contact_form .ptf-form-group input,.contact_form .ptf-form-group textarea,.contact_form .ptf-form-group select{border:2px solid #e9ecef;border-radius:6px;width:100%;padding:.875rem 1rem;font-size:1rem;transition:all .3s}.contact_form .ptf-form-group input:focus,.contact_form .ptf-form-group textarea:focus,.contact_form .ptf-form-group select:focus{border-color:var(--ptf-accent-1);background-color:#fff;outline:none;box-shadow:0 0 0 3px #435b941f}.contact_form .ptf-form-group input:hover:not(:focus):not(.is-invalid),.contact_form .ptf-form-group textarea:hover:not(:focus):not(.is-invalid),.contact_form .ptf-form-group select:hover:not(:focus):not(.is-invalid){border-color:#ced4da}.contact_form .ptf-form-group input.is-invalid,.contact_form .ptf-form-group textarea.is-invalid,.contact_form .ptf-form-group select.is-invalid{background-color:#fff5f5;border-color:#dc3545}.contact_form .ptf-form-group input.is-invalid:focus,.contact_form .ptf-form-group textarea.is-invalid:focus,.contact_form .ptf-form-group select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.contact_form .ptf-form-group textarea{resize:vertical;min-height:120px;line-height:1.5}.contact_form .ptf-form-group .invalid-feedback{color:#dc3545;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.875rem;animation:.2s ease-out slideInFromTop;display:flex}.contact_form .ptf-form-group .invalid-feedback:before{content:"⚠";font-size:.75rem}.contact_form .agreement-checkbox .ptf-checkbox{cursor:pointer;align-items:flex-start;gap:.75rem;line-height:1.5;transition:color .3s;display:flex}.contact_form .agreement-checkbox .ptf-checkbox:hover{color:var(--ptf-accent-1)}.contact_form .agreement-checkbox .ptf-checkbox .ptf-checkbox__checkmark{border:2px solid #e9ecef;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;transition:all .3s;display:flex}.contact_form .agreement-checkbox .ptf-checkbox .ptf-checkbox__checkmark:after{content:"✓";color:#fff;opacity:0;font-size:14px;transition:all .2s;transform:scale(0)}.contact_form .agreement-checkbox input[type=checkbox]:checked+.ptf-checkbox .ptf-checkbox__checkmark{background-color:var(--ptf-accent-1);border-color:var(--ptf-accent-1)}.contact_form .agreement-checkbox input[type=checkbox]:checked+.ptf-checkbox .ptf-checkbox__checkmark:after{opacity:1;transform:scale(1)}.contact_form .agreement-checkbox input[type=checkbox]:focus+.ptf-checkbox .ptf-checkbox__checkmark{box-shadow:0 0 0 3px #435b941f}.contact_form .agreement-checkbox.is-invalid .ptf-checkbox .ptf-checkbox__checkmark{border-color:#dc3545}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{left:-100%}to{left:100%}}@media (max-width:768px){.contact_form .ptf-form-group{margin-bottom:1.5rem}.contact_form .ptf-form-group input,.contact_form .ptf-form-group textarea,.contact_form .ptf-form-group select{padding:.75rem;font-size:.9rem}.contact_form .ptf-form-group textarea{min-height:100px}.ptf-submit-button{width:100%;min-height:48px;font-size:1rem}}@media (prefers-color-scheme:dark){.contact-form-success{color:#d1f5d3;background:linear-gradient(135deg,#2d5a3d 0%,#245a32 100%);border-color:#245a32}.contact-form-error{color:#f5d1d1;background:linear-gradient(135deg,#5a2d2d 0%,#5a2424 100%);border-color:#5a2424}}@media (prefers-contrast:high){.contact_form .ptf-form-group input,.contact_form .ptf-form-group textarea,.contact_form .ptf-form-group select{border-width:3px}.contact_form .ptf-form-group input:focus,.contact_form .ptf-form-group textarea:focus,.contact_form .ptf-form-group select:focus{box-shadow:0 0 0 4px #435b9440}.contact-form-success,.contact-form-error{border-width:3px}}@media (prefers-reduced-motion:reduce){.contact-form-success,.contact-form-error,.invalid-feedback,.success-icon,.error-icon{animation:none}.loading-spinner{border:2px solid;border-radius:0;animation:none;transform:rotate(45deg)}.ptf-submit-button{transition:none}.ptf-submit-button.submitting:before{animation:none}}
