/* ==========================================================================
   Contact Form 7
   ========================================================================== */

.cf7-row {
    display: flex;
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
}

.cf7-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxs);
}

.cf7-col--70 {
    flex: 0 0 calc(70% + var(--spacing-lg));
}

.cf7-col--35 {
    flex: 0 0 35%;
}

.cf7-col label {
    font-family: var(--ff-text);
    font-weight: var(--fw-bold);
    font-size: var(--fs-text);
    color: var(--color-text);
}

.cf7-col input[type="text"],
.cf7-col input[type="email"],
.cf7-col input[type="tel"],
.cf7-col textarea {
    width: 100%;
    border: none;
    border-bottom: 1px solid var(--color-text);
    background: transparent;
    padding: var(--spacing-xs) var(--spacing-xs);
    font-family: var(--ff-text);
    font-size: var(--fs-text);
    color: var(--color-text);
    outline: none;
    border-radius: 0;
}

.cf7-col input[type="text"]:focus-visible,
.cf7-col input[type="email"]:focus-visible,
.cf7-col input[type="tel"]:focus-visible,
.cf7-col textarea:focus-visible {
    border-bottom: 2px solid var(--color-primary);
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.cf7-col input::placeholder,
.cf7-col textarea::placeholder {
    color: #767676;
}

.cf7-col textarea {
    resize: none;
    min-height: 60px;
}

.wpcf7-form p:has(.wpcf7-submit) {
    text-align: center;
    span{
        display: none
    };
}

.wpcf7-submit{
    border: 2px solid var(--color-primary);
    padding: var(--spacing-md) 80px;
    background-color: transparent;
    color: var(--color-text);
    font-weight: var(--fw-bold);
    font-size: var(--fs-text);
    margin-top: var(--spacing-lg);
    transition: all 0.3s ease;
    cursor: pointer;
    text-transform: uppercase;

    &:hover{
        background-color: var(--color-primary);
        color: var(--color-white);
    }

    &:focus-visible {
        outline: 2px solid var(--color-primary);
        outline-offset: 2px;
    }
}

/* Messages de validation
   ========================================================================== */

.wpcf7-not-valid-tip {
    font-family: var(--ff-text);
    font-size: 0.85rem;
    color: var(--color-secondary);
    margin-top: var(--spacing-xxs);
}

.wpcf7-not-valid {
    border-bottom-color: var(--color-secondary) !important;
}

.wpcf7-response-output {
    font-family: var(--ff-text);
    font-size: var(--fs-text);
    text-align: center;
    padding: var(--spacing-md) var(--spacing-xl);
    margin-top: var(--spacing-xl);
    border-radius: var(--radius-md);
}

.wpcf7-mail-sent-ok,
.wpcf7 form.sent .wpcf7-response-output {
    border: 1px solid #2e7d32;
    background-color: #e8f5e9;
    color: #2e7d32;
}

.wpcf7-validation-errors,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
    border: 1px solid var(--color-secondary);
    background-color: #fce4ec;
    color: var(--color-secondary);
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7-spam-blocked,
.wpcf7 form.spam .wpcf7-response-output {
    border: 1px solid #e65100;
    background-color: #fff3e0;
    color: #e65100;
}

@media (max-width: 768px) {
    .cf7-row {
        flex-direction: column;
        gap: var(--spacing-md);
    }
}
