/* Contact Form Styles */

.wpcf7 {width: 100%;}

.wpcf7 .hidden-fields-container,
.wpcf7 .screen-reader-response,
.wpcf7-spinner,
.wpcf7-response-output:empty {
    display: none !important;
}

/* Checkbox styles */
.wpcf7 label:has(input[type="checkbox"]) {
    position: relative;
    display: flex;
    gap: var(--spacing-20);
    cursor: pointer;
}

.wpcf7 label:has(input[type="checkbox"])::before {
    content: '✓';
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--rpx) * 20);
    height: calc(var(--rpx) * 20);
    min-width: calc(var(--rpx) * 20);
    min-height: calc(var(--rpx) * 20);
    border: calc(var(--rpx) * 1) solid var(--custom-one);
    border-radius: var(--radius-4);
    transition: var(--transition-fast);
    color: transparent;
    font: var(--font-p4);
}

.wpcf7 label:has(input[type="checkbox"]:checked)::before {
    color: var(--primary);
}

.wpcf7 label:has(input[type="checkbox"]) input[type="checkbox"] {
    display: none;
}

/* Error states */
.wpcf7 .wpcf7-not-valid-tip {
    color: var(--error-color);
}

/* Response messages */
.wpcf7 .wpcf7-response-output {
    width: var(--form-width);
    padding-top: var(--spacing-md);
    font: var(--font-p4);
    transition: var(--transition-fast);
    opacity: 0;
    transition-delay: 0.3s;
}

.wpcf7 form.invalid .wpcf7-response-output {
    color: var(--error-color);
    opacity: 1;
}

.wpcf7 form.sent .wpcf7-response-output {
    color: var(--success-color);
    opacity: 1;
}


/* button */
.wpcf7 button.wpcf7-form-control {
    width: 100%;
}
.wpcf7 button.wpcf7-form-control:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

