.wpcf7-form input:not([type="checkbox"]),
.wpcf7-form select,
.wpcf7-form textarea {
	display: block;
	width: 100%;
	height: fit-content;
    font-family: "Ysabeau Infant";
    font-size: var(--fs-20);
    font-weight: 300;
    line-height: 1.325;
    letter-spacing: .08em;
    margin: 0;
	padding: max(12px, 0.78125vw) 0;
	border: 0 none;
    border-bottom: 1px solid currentColor;
    background: var(--white);
}

.wpcf7-form input::placeholder,
.wpcf7-form select::placeholder,
.wpcf7-form textarea::placeholder {
    color: var(--black);
    opacity: 1;
}

.wpcf7-form input:not([type="checkbox"]):focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
    outline: 0 none;
}

.wpcf7-form .infotext {
	margin-bottom: 1em;
}

.wpcf7-form-control-wrap {
	display: grid;
	width: 100%;
}

.wpcf7-form-control-wrap > input {
	grid-area: 1/1/1/1;
}

.wpcf7-form-control-wrap > label {
	display: block;
	grid-area: 1/1/1/1;
	width: 100%;
	height: fit-content;
    font-family: "Ysabeau Infant";
    font-size: var(--fs-20);
    font-weight: 300;
    line-height: 1.325;
    letter-spacing: .08em;
	padding: max(12px, 0.78125vw) 0;
	border: 0 none;
	border-radius: max(10px, 0.78125vw);
	background: var(--white);
	pointer-events: none;
	z-index: 1;
}

.wpcf7-form textarea {
	min-height: 12em;
	resize: none;
}

.wpcf7-form  .wpcf7-list-item {
    margin: 0;
}

.wpcf7-form  .wpcf7-list-item > label {
    display: flex;
    align-items: center;
    margin: 0;
    gap: var(--m-xs);
}

.wpcf7 input[type="checkbox"] {
    display: block;
    width: 1.25em;
    height: 1.25em;
    aspect-ratio: 1/1;
    margin-right: 1em;
    border: 1px solid currentColor;
    border-radius: 0;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    -o-appearance: none;
	background: transparent;
    transition: var(--def-trans);
}

.wpcf7-form input[type="checkbox"]:checked {
    background: currentColor;
}

.wpcf7 .wpcf7-form-control-wrap[data-name="privacy"] .wpcf7-list-item {
    margin: 0;
}

.wpcf7 .wpcf7-form-control-wrap[data-name="privacy"] label {
	display: flex;
    font-size: var(--fs-20);
    font-weight: 500;
}

.wpcf7 .wpcf7-form-control-wrap[data-name="privacy"] label .wpcf7-list-item-label {
	margin-top: .1vw;
	height: fit-content;
    line-height: 1.25;
}

.wpcf7 .wpcf7-not-valid-tip {
    font-size: var(--fs-20);
    margin-top: .5em;
}

.wpcf7-form .wpcf7-not-valid-tip {
	color: red;
	margin-top: 1em;
}

.wpcf7 form .wpcf7-response-output {
	text-align: center;
	padding: 1em;
    margin: var(--m-sm) 0 0;
}