/* Contact Form Styles */

.wpcf7 {
    width: 100%;
}

.wpcf7 .hidden-fields-container,
.wpcf7 .screen-reader-response {
    display: none !important;
}

.wpcf7 label:not(:has([name="yaccept"])) {
    font: var(--font-search);
    color: var(--text-70);
    display: flex;
    flex-direction: column;
    margin-bottom: var(--spacing-lg);
    gap: var(--spacing-md);
    transition: all .3s ease;
}

.wpcf7 label:not(:has([name="yaccept"])) input,
.wpcf7 label:not(:has([name="yaccept"])) textarea {
    background: transparent;
    border: none;
    border-bottom: calc(var(--rpx) * 1) solid var(--color-text);
    color: var(--text);
    font: var(--font-p1);
    padding: var(--spacing-xs) 0;
    width: 100%;
    outline: none;
}

.wpcf7 label:not(:has([name="yaccept"])) input::placeholder,
.wpcf7 label:not(:has([name="yaccept"])) textarea::placeholder {
    color: var(--text-70);
}

.wpcf7 label:not(:has([name="yaccept"])) input:-webkit-autofill,
.wpcf7 label:not(:has([name="yaccept"])) input:-webkit-autofill:hover,
.wpcf7 label:not(:has([name="yaccept"])) input:-webkit-autofill:focus,
.wpcf7 label:not(:has([name="yaccept"])) input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 calc(var(--rpx) * 30) transparent inset !important;
    -webkit-text-fill-color: var(--text) !important;
    background: transparent !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* Checkbox styles */
.wpcf7 label:has(input[type="checkbox"]) {
    position: relative;
    display: flex;
    gap: var(--spacing-sm-2);
}

.wpcf7 label:has(input[type="checkbox"])::before {
    content: '✓';
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--rpx) * 14);
    height: calc(var(--rpx) * 14);
    min-width: calc(var(--rpx) * 14);
    min-height: calc(var(--rpx) * 14);
    border: calc(var(--rpx) * 1) solid var(--color-text);
    border-radius: calc(var(--rpx) * 1);
    transition: all .3s ease;
    color: transparent;
    font-size: calc(var(--rpx) * 11);
}

.wpcf7 label:has(input[type="checkbox"]:checked)::before {
    color: var(--text);
}

.wpcf7 label:has(input[type="checkbox"]) input[type="checkbox"] {
    display: none;
}

/* Error states */
.wpcf7 label:has(.wpcf7-not-valid-tip) {
    opacity: 0.5;
}

.wpcf7 label:has(.wpcf7-not-valid-tip) input,
.wpcf7 label:has(.wpcf7-not-valid-tip) textarea {
    border-color: var(--red-100);
}

.wpcf7 .wpcf7-not-valid-tip {
    display: none;
}

/* Submit button */
.wpcf7 input[type="submit"] {
    margin-top: var(--spacing-xl);
    background: var(--white-20);
    padding: var(--spacing-med);
    width: 100%;
    background: transparent;
}

.wpcf7 form:has(.wpcf7-not-valid-tip) input[type="submit"],
.wpcf7 input[type="submit"]:disabled {
    opacity: 0.25;
    cursor: not-allowed;
    pointer-events: none;
}

/* 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(--red-100);
    opacity: 1;
}

.wpcf7 form.sent .wpcf7-response-output {
    color: var(--blue-100);
    opacity: 1;
}

/* Desktop styles */
@media (min-width: 1024px) {
    .wpcf7 label:has(input[type="checkbox"]) {
        align-items: center;
    }
}