.php-email-form input.is-invalid,.php-email-form select.is-invalid,.php-email-form textarea.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.php-email-form input.is-valid,.php-email-form select.is-valid,.php-email-form textarea.is-valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-feedback.d-block{display:block}.php-email-form .error-message,.php-email-form .loading,.php-email-form .sent-message{display:none;margin-bottom:1rem;padding:.75rem 1rem;border-radius:.375rem;font-size:.9375rem;font-weight:500}.php-email-form .error-message.d-block,.php-email-form .loading.d-block,.php-email-form .sent-message.d-block{display:block}.php-email-form .loading{background-color:#e7f1ff;border:1px solid #b6d4fe;color:#084298;display:flex;align-items:center;gap:.5rem}.php-email-form .loading::before{content:"";width:1.25rem;height:1.25rem;border:2px solid #084298;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite;flex-shrink:0}@keyframes spinner-border{to{transform:rotate(360deg)}}.php-email-form .error-message{background-color:#f8d7da;border:1px solid #f5c2c7;color:#842029;position:relative;padding-left:2.5rem}.php-email-form .error-message::before{content:"⚠";position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:1.25rem;font-weight:700}.php-email-form .sent-message{background-color:#d1e7dd;border:1px solid #badbcc;color:#0f5132;position:relative;padding-left:2.5rem}.php-email-form .sent-message::before{content:"✓";position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:1.25rem;font-weight:700;color:#0f5132}.php-email-form button[type=submit]{position:relative;transition:all .3s ease}.php-email-form button[type=submit]:disabled{opacity:.65;cursor:not-allowed;pointer-events:none}.php-email-form button[type=submit].submitting{padding-left:2.5rem}.php-email-form button[type=submit].submitting::before{content:"";position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.php-email-form input:focus,.php-email-form select:focus,.php-email-form textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.php-email-form input.is-invalid:focus,.php-email-form select.is-invalid:focus,.php-email-form textarea.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.php-email-form input.is-valid:focus,.php-email-form select.is-valid:focus,.php-email-form textarea.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}input[name=form_timestamp],input[name=website_url]{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0,0,0,0)!important;border:0!important;padding:0!important;margin:0!important;overflow:hidden!important}.form-hint{display:block;margin-top:.25rem;font-size:.875rem;color:#6c757d}.form-hint.text-danger{color:#dc3545!important}.form-hint.text-success{color:#198754!important}.char-counter{display:block;text-align:right;margin-top:.25rem;font-size:.75rem;color:#6c757d}.char-counter.text-warning{color:#ffc107!important}.char-counter.text-danger{color:#dc3545!important}.form-validation-progress{height:4px;background-color:#e9ecef;border-radius:2px;margin-bottom:1rem;overflow:hidden}.form-validation-progress-bar{height:100%;background-color:#0d6efd;transition:width .3s ease,background-color .3s ease}.form-validation-progress-bar.progress-warning{background-color:#ffc107}.form-validation-progress-bar.progress-success{background-color:#198754}@media (max-width:576px){.php-email-form .error-message,.php-email-form .loading,.php-email-form .sent-message{font-size:.875rem;padding:.5rem .75rem}.php-email-form .error-message,.php-email-form .sent-message{padding-left:2rem}.php-email-form .error-message::before,.php-email-form .sent-message::before{font-size:1rem;left:.5rem}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.php-email-form .error-message{animation:shake .5s ease-in-out}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.invalid-feedback.d-block{animation:slideDown .3s ease-out}@media (prefers-color-scheme:dark){.php-email-form .loading{background-color:#031633;border-color:#084298;color:#6ea8fe}.php-email-form .error-message{background-color:#2c0b0e;border-color:#842029;color:#ea868f}.php-email-form .sent-message{background-color:#051b11;border-color:#0f5132;color:#75b798}.invalid-feedback{color:#ea868f}.form-hint{color:#adb5bd}}@media (prefers-contrast:high){.php-email-form input.is-invalid,.php-email-form select.is-invalid,.php-email-form textarea.is-invalid{border-width:2px}.php-email-form input.is-valid,.php-email-form select.is-valid,.php-email-form textarea.is-valid{border-width:2px}.php-email-form .error-message,.php-email-form .sent-message{border-width:2px}}@media (prefers-reduced-motion:reduce){.php-email-form .loading::before,.php-email-form button[type=submit].submitting::before{animation:none}.php-email-form .error-message{animation:none}.invalid-feedback.d-block{animation:none}*{transition:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}