.wwk-contact-form { max-width: 620px; margin: 30px auto; text-align: left; position: relative; }
.wwk-contact-form > label { display: block; margin: 18px 0 8px; font-weight: 600; }
.wwk-contact-form input:not([type="checkbox"]):not([type="hidden"]), .wwk-contact-form textarea { display: block; box-sizing: border-box; width: 100%; padding: 14px 16px; border: 1px solid #abb8ca; border-radius: 12px; background: #fff; color: #253653; font: inherit; }
.wwk-contact-form textarea { resize: vertical; }
.wwk-contact-form .wwk-privacy-check { display: flex; align-items: flex-start; gap: 12px; font-size: .95rem; font-weight: 400; line-height: 1.6; }
.wwk-privacy-check input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 3px; accent-color: #b76565; }
.wwk-contact-form a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.wwk-contact-form .wwk-form-hint { font-size: .85rem; line-height: 1.6; margin: 16px 0; opacity: .9; }
.wwk-contact-form .wwk-form-status { background: #fff0e9; color: #253653; padding: 16px; border-radius: 12px; }
.wwk-contact-form .wwk-form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.wwk-contact-form .btn { border: 0; font: inherit; cursor: pointer; margin-top: 12px; }
.wwk-contact-form input:focus-visible, .wwk-contact-form textarea:focus-visible, .wwk-contact-form button:focus-visible { outline: 3px solid #e7a9a9; outline-offset: 3px; }
.wwk-contact-form .wwk-field-error { display: block; font-size: .95rem; font-weight: 600; margin-top: 6px; }
.wwk-contact-form [aria-invalid="true"] { border: 3px solid #a12a30 !important; }
.wwk-contact-form .wwk-field-error:not(:empty) { background: #fff0e9; color: #861d25; padding: 8px 12px; border-radius: 6px; }
.wwk-contact-form .wwk-send-status { display: block; margin-top: 12px; }
.wwk-contact-form [hidden] { display: none; }
.wwk-contact-form button:disabled { cursor: wait; transform: none; opacity: .8; }
.wwk-contact-form input, .wwk-contact-form textarea { font-size: max(16px, 1em) !important; scroll-margin-top: 110px; }
