form {
    gap: 50px;
    display: flex;
    flex-wrap: wrap;
    max-width: 1000px;
}

form .wpcf7-form-control-wrap {
    position: relative;
    width: 100%;
    display: block;
}

form label {
    display: inline-flex;
    font-size: var(--fs-20-24);
    line-height: 1;
    flex-direction: column;
    gap: 10px;
    flex: 1 1 100%;
}

form label:has(textarea[aria-invalid='true'], 
input:not([type='submit'])[aria-invalid='true']) {
    padding: 15px;
    outline-offset: 5px;
    outline: 1px dashed red;
    background: var(--cWhite);
}

form label:has(textarea[aria-invalid='true']:focus, 
input:not([type='submit'])[aria-invalid='true']:focus) {
    outline: none;
}

form textarea,
form input:not([type='submit']) {
    width: 100%;
    min-height: 40px;
    padding: 5px 0;
    background: none;
    outline-offset: 3px;
    border: none;
    border-bottom: 1px solid var(--cBlack);
    line-height: 1;
    letter-spacing: 1px;
    font-size: var(--fs-20-24);
    transition: borderColor 0.3s ease, backgroundColor 0.3s ease;
}

form textarea::placeholder,
form input:not([type='submit'])::placeholder {
    letter-spacing: 1px;
    color: var(--cBlack);
    transition: color 0.3s ease;
    font-size: var(--fs-20-24);
}

form textarea:placeholder-shown,
form input:not([type='submit']):placeholder-shown {
    border-color: var(--cYellow);
}

form textarea[aria-invalid='true'],
form input:not([type='submit'])[aria-invalid='true'] {
    border-color: red;
}

form textarea:invalid:focus,
form input:not([type='submit']):invalid:focus {
    outline: 2px dashed red;
}

form textarea:hover::placeholder,
form input:not([type='submit']):hover::placeholder {
    color: #5a5a5a;
}

form textarea:focus-visible,
form input:not([type='submit']):focus-visible {
    outline: 2px solid var(--cYellow);
}

form textarea:focus::placeholder,
form input:not([type='submit']):focus::placeholder {
    color: #353535;
}

form .wpcf7-not-valid-tip,
form .validation-message {
    margin-top: 10px;
    font-weight: 500;
    font-size: var(--fs-16);
}


@media (prefers-color-scheme: dark) {
    form label:has(textarea[aria-invalid='true'], 
    input:not([type='submit'])[aria-invalid='true']) {
        background: var(--cGray_d);
    }

    form textarea,
    form input:not([type='submit']) {
        border-bottom: 1px solid var(--cWhite);
    }
}