.wpcf7{
    
    --field--padding: 16px;
    --field--radius: 8px;

    p{
        margin: 0 0 var(--wp--preset--spacing--medium) 0;

        &:last-of-type{
            margin: 0;
        }
    }

    .wpcf7-list-item{
		margin-left: 0;
	}

    input:not([type="submit"], [type="radio"], [type="checkbox"]),
    .wpcf7-textarea{
        width: 100%;
        box-sizing: border-box;
        padding: var(--field--padding);

        background: none;
        border: none;
        border-bottom: 1px solid var(--wp--preset--color--black);        
        border-radius: none;

        &:focus{
            outline: none;
            background-color: var(--wp--preset--color--white);
            
        }
    }

    .wpcf7-textarea{
        resize: none;
        border: none;
        background-color: var(--wp--preset--color--white);
        border-radius: var(--field--radius);
        font-family: var(--wp--preset--typography--font-family--base);
	}

    .wpcf7-submit{
        background-color: var(--wp--preset--color--primary);
        color: var(--wp--preset--color--black);
        font-size: var(--wp--preset--font-size--cta);
        transition: var(--wp--custom--transition--button);
        width: 100%;
        border: none;
        padding: 20px;
        border-radius: 48px;
        cursor: pointer;
        font-weight: bold;
        line-height: 1;

        &:hover{
            transform: translateY(-2px);
            box-shadow: var(--wp--preset--shadow--shadow-1);
        }
    }

	input[type=radio],
	input[type=checkbox] {
	    display: none;
	}

	.wpcf7-list-item-label{
		position: relative;
        display: block;
	    padding-left: 32px;
        font-size: var(--wp--preset--font-size--small);

	}

	.wpcf7-list-item-label:before,
	input[type=checkbox] + .wpcf7-list-item-label:before{
		content: " ";
	    width: 24px;
	    min-width: 24px;
	    height: 24px;
	    display: inline-block;
	    border: 1px solid var(--wp--preset--color--black);
        border-radius: 4px;
	    margin-right: 10px;
	    background-color: white;
	    position: absolute;
	    top: -3px;
        left: 0;
	}

	.wpcf7-list-item-label:after,
	.wpcf7-list-item-label:after{
		position: absolute;
		content: "\2714";
		font-weight: normal;
        font-size: 20px;
	    display: block;
		opacity: 0;
		top: -4px;
		left: 4px;
		transition: opacity 0.25s ease-in-out;
	}

	input[type=radio]:checked + .wpcf7-list-item-label:after,
	input[type=checkbox]:checked + .wpcf7-list-item-label:after{
		opacity: 1;
	}

	input.wpcf7-not-valid{
		border-color: red;
	}

	span.wpcf7-not-valid-tip{
		width: 100%;
	    white-space: nowrap;
	    bottom: -18px;
	    font-size: 12px;
	    position: absolute;
	    background-color: none !important;
	}

	.wpcf7-form-control-wrap{
		display: block;
	}

	.wpcf7-response-output{
		border-radius: 24px;
        margin: var(--wp--preset--spacing--medium) 0 0;
	}

    .wpcf7-spinner{
        display: none;
    }

}