.wpcf7 {
    --input-padding: 1.5rem 2.5rem;
    --border-radius: 1.3rem;
}

.wpcf7 .screen-reader-response {
    display: none;
}

.wpcf7 .wpcf7-response-output:not(:empty) {
    padding: var(--input-padding);
    border: 1px solid #999999;
    border-radius: var(--border-radius);
    margin: 1.5rem 0 0 0;
}

.contact-form {
    margin: 6rem 0 0 0;
}

.contact-form .columns {
    margin: 0 calc(var(--container-padding) * -2)
}

.contact-form .column {
    padding: 0 calc(var(--container-padding) * 2);
    margin: 0 0 2.5rem 0;
}

.contact-form :where(input, textarea, select) {
    display: block;
    padding: var(--input-padding);
    width: 100%;
    border: 1px solid #999999;
    border-radius: var(--border-radius);
}

.contact-form label {
    position: relative;
}

.contact-form label > .placeholder {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    padding: var(--input-padding);
    border: 1px solid transparent;
    pointer-events: none;
    opacity: 1;
    transition: opacity .1s;
}

.contact-form label.required > .placeholder::after {
    content: ' *';
    color: #f00;
}

.contact-form label.hide-placeholder > .placeholder {
    opacity: 0;
}

.contact-form input[type="submit"] {
    display: block;
    width: 18rem;
    margin: 1.5rem auto 0 auto;
    background: var(--color-accent-dark);
    color: #fff;
    font: 400 max(16px, 1.8rem)/1.5 var(--font-headers);
}

.contact-form .wpcf7-not-valid-tip {
    display: block;
    padding: 0 2.5rem;
    margin: 1rem 0 0 0;
    color: #f00;
    font-weight: 600;
}
