/*
 * Contact form styling.
 *
 * The form this replaces was styled entirely by Astra's
 * contact-form-7-main.min.css, which targets .wpcf7 selectors. Since this
 * plugin does not emit .wpcf7 wrappers, those rules are reproduced here or the
 * form visibly changes: full-width controls with .75em padding and 1.2em
 * between rows. Anything beyond that is inherited from the theme on purpose.
 */

.syncore-contact input:not([type="submit"]):not([type="checkbox"]),
.syncore-contact select,
.syncore-contact textarea {
    width: 100%;
    padding: 0.75em;
}

.syncore-contact form > div > p,
.syncore-contact form > div > div {
    margin-bottom: 1.2em;
}

/* A real label for every control, positioned out of view rather than hidden:
   display:none and visibility:hidden both remove it from the accessibility
   tree, which would defeat the point of adding it. */
.syncore-contact-sr {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Honeypot. Moved off-canvas rather than display:none alone: a headless
   browser reads computed styles and skips anything obviously hidden. */
.syncore-contact-hp {
    position: absolute !important;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.syncore-contact-response {
    margin-bottom: 1.2em;
}

.syncore-contact-response:empty {
    display: none;
}

.syncore-contact-response.is-error,
.syncore-contact-response.is-ok {
    padding: 0.75em 1em;
    border-left: 4px solid;
}

.syncore-contact-response.is-error {
    border-color: #b32d2e;
    background: rgba(179, 45, 46, 0.06);
}

.syncore-contact-response.is-ok {
    border-color: #1a7f37;
    background: rgba(26, 127, 55, 0.06);
}

.syncore-contact .field-error {
    display: block;
    margin-top: 0.25em;
    font-size: 12px;
    color: #b32d2e;
}

.syncore-contact [aria-invalid="true"] {
    outline: 2px solid #b32d2e;
    outline-offset: 1px;
}

.syncore-contact-noscript {
    padding: 0.75em 1em;
    border-left: 4px solid #b32d2e;
    font-size: 14px;
}

.syncore-contact-altcha {
    margin-bottom: 1.2em;
}

.syncore-contact-submit[disabled] {
    opacity: 0.6;
    cursor: progress;
}
