.wpcf7 {
    max-width: 600px;
    margin: 0 auto;
    padding: 20px;
}

.wpcf7 label {
    display: block;
    margin-bottom: 10px;
    font-weight: bold;
}

.wpcf7 br {
    display: none;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="date"],
.wpcf7 textarea {
    width: 100%;
    background-color: var(--wp--preset--color--contact-input-bg);
    padding: 10px;
    border: 1px solid var(--wp--preset--color--contact-input-border);
    color: var(--wp--preset--color--contact-input-text);
    border-radius: 3px;
    font-size: 16px;
    margin-bottom: 20px;
    box-sizing: border-box;
    transition: background-color 0.2s linear, border 0.2s linear;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 input[type="date"]:focus,
.wpcf7 textarea:focus {
    background-color: var(--wp--preset--color--contact-input-focus-bg);
    border: 1px solid var(--wp--preset--color--contact-input-focus-border);
    color: var(--wp--preset--color--contact-input-focus-text);
    outline: none;
}

.wpcf7 input[type="submit"] {
    padding: 10px 20px;
    background-color: var(--wp--preset--color--contact-button-bg);
    color: var(--wp--preset--color--contact-button-text);
    border: 1px solid var(--wp--preset--color--contact-button-border);
    font-weight: bold;
    border-radius: 3px;
    cursor: pointer;
    float: right;
    font-size: 16px;
    transition: background-color 0.2s linear, border 0.2s linear;
}

.wpcf7 input[type="submit"]:hover {
    background-color: var(--wp--preset--color--contact-button-hover-bg);
    border: 1px solid var(--wp--preset--color--contact-button-hover-border);
    color: var(--wp--preset--color--contact-button-hover-text);
}

.wpcf7-response-output {
    margin-top: 20px;
    padding: 10px;
    border-radius: 3px;
    font-weight: bold;
}

.wpcf7-not-valid-tip {
    color: red;
}

.wpcf7-mail-sent-ok {
    color: green;
    background-color: #e5ffe5;
}

.wpcf7-mail-sent-ng,
.wpcf7-aborted,
.wpcf7-spam-blocked {
    color: red;
    background-color: #ffe5e5;
}

::placeholder {
    color: #aaa;
    opacity: 1;
}

:-ms-input-placeholder {
    color: #aaa;
}

::-ms-input-placeholder {
    color: #aaa;
}

.wpcf7 input[type="checkbox"] {
    display: none;
}

.wpcf7 .wpcf7-acceptance label {
    position: relative;
    padding-left: 35px;
    cursor: pointer;
    font-size: 16px;
    line-height: 24px;
}

.wpcf7 input[type="checkbox"] + .wpcf7-list-item-label:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border: 2px solid #555;
    border-radius: 3px;
    background-color: #fff;
}

.wpcf7 input[type="checkbox"]:checked + .wpcf7-list-item-label:after {
    content: "✔";
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    color: #000;
}

.wpcf7 label:hover .wpcf7-list-item-label:before {
    border-color: #888;
}
