
/* Accessibility skip-link — off-screen until keyboard focus. */
.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 1000;
    padding: 12px 20px;
    background: var(--c-ink);
    color: var(--c-white);
    border-radius: 0 0 var(--radius) 0;
    font-weight: var(--fw-semibold);
}
.skip-link:focus {
    left: 0;
    outline: 2px solid var(--c-brand);
}

.wpcf7 .wpcf7-spinner { display: none; }
.wpcf7 form .wpcf7-response-output {
    position: absolute;
    width: 1px; height: 1px;
    margin: -1px; padding: 0; border: 0;
    clip: rect(0 0 0 0); overflow: hidden;
}

.quote__form > .wpcf7,
.svc-hero__form > .wpcf7,
.contact-hero__form > .wpcf7 { display: contents; }
.quote__form .wpcf7-form,
.svc-hero__form .wpcf7-form,
.contact-hero__form .wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: stretch;
}
/* CF7's hidden-fields fieldset is a flex child with no content — it adds a phantom gap at
   the top of the panel. Hide it (hidden inputs still post from a display:none container). */
.wpcf7-form > .hidden-fields-container { display: none; }

.field-row { align-items: flex-start; }
.field-row .wpcf7-form-control-wrap { flex: 1 1 0; min-width: 0; }
.field-row .field-line, .quote__form .field-line, .svc-hero__form .field-line { width: 100%; }
.quote__form .wpcf7-form > .wpcf7-form-control-wrap { display: block; width: 100%; }
.field-line--area { min-height: 120px; }
.quote__form .wpcf7-submit,
.svc-hero__form .wpcf7-submit,
.contact-hero__form .wpcf7-submit { align-self: flex-start; width: auto; padding: 6px 14px; background: var(--c-brand); color: var(--c-neutral-darker); border: 1px solid var(--c-brand); border-radius: 0; font-weight: var(--fw-medium); font-size: var(--fs-text-sm); line-height: 1.5; }
.quote__form .wpcf7-submit:hover,
.svc-hero__form .wpcf7-submit:hover,
.contact-hero__form .wpcf7-submit:hover { background: var(--c-brand-deep); }
.field-check .wpcf7-form-control-wrap,
.field-check .wpcf7-acceptance,
.field-check .wpcf7-list-item { display: contents; }
.field-check label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    line-height: 1.2;
    cursor: pointer;
}
.field-check input[type="checkbox"] {
    flex: none;
    width: 18px;
    height: 18px;
    margin: 0;
}
.field-check .wpcf7-list-item-label { display: inline; }
