.bloc-newsletter {
    padding: 90px 0;
    background: transparent;
}

.bloc-newsletter__inner {
    background: #E10F1A;
    border-radius: 22px;
    padding: 64px;
    overflow: hidden;
}

.bloc-newsletter__content {
    color: #fff;
}

.bloc-newsletter__title h1,
.bloc-newsletter__title h2,
.bloc-newsletter__title h3,
.bloc-newsletter__title p {
    margin: 0;
    color: #fff;
}

.bloc-newsletter__title h2 {
    line-height: 1.2;
    margin-bottom: 32px;
}

.bloc-newsletter__text {
    max-width: 430px;
    color: #fff;
    font-size: 1rem;
    line-height: 1.6;
}

.bloc-newsletter__text p {
    color: #fff;
    margin: 0;
}

.bloc-newsletter__form-col {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}

.bloc-newsletter__form-wrap {
    width: 100%;
}

/* Fallback si pas de shortcode */
.bloc-newsletter__fake-form {
    width: 100%;
}

.bloc-newsletter__fake-form-inner {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 430px;
    margin-left: auto;
}

.bloc-newsletter__fake-form input {
    width: 100%;
    height: 64px;
    border: 0;
    outline: none;
    border-radius: 999px;
    padding: 0 74px 0 22px;
    background: #fff;
    color: #111;
    font-size: 0.95rem;
}

.bloc-newsletter__fake-form input::placeholder {
    color: #7a7a7a;
    opacity: 1;
}

.bloc-newsletter__fake-form button {
    position: absolute;
    top: 50%;
    right: 3px;
    transform: translateY(-50%);
    width: 58px;
    height: 58px;
    border: 0;
    border-radius: 50%;
    background: #000;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: 0.3s all ease-in-out;
}

.bloc-newsletter__fake-form button:hover {
    transform: translateY(-50%) scale(1.05);
}

/* Stylage générique des formulaires shortcode */
.bloc-newsletter__shortcode-form {
    width: 100%;
}

.bloc-newsletter__shortcode-form form {
    width: 100%;
}

.bloc-newsletter__shortcode-form p {
    margin: 0;
}

.bloc-newsletter__shortcode-form label {
    margin: 0;
    width: 100%;
    display: block;
}

.bloc-newsletter__shortcode-form .wpcf7-form-control-wrap,
.bloc-newsletter__shortcode-form .mc4wp-form-fields,
.bloc-newsletter__shortcode-form .ginput_container {
    width: 100%;
    display: block;
}

.bloc-newsletter__shortcode-form input[type="email"],
.bloc-newsletter__shortcode-form input[type="text"] {
    width: 100%;
    height: 64px;
    border: 0;
    outline: none;
    border-radius: 999px;
    padding: 16px 24px;
    background: #fff;
    color: var(--Base-grey-2, #707070);
    font-size: 1.6rem;
}

.bloc-newsletter__shortcode-form input[type="email"]::placeholder,
.bloc-newsletter__shortcode-form input[type="text"]::placeholder {
    color: #7a7a7a;
    opacity: 1;
}

.bloc-newsletter__shortcode-form input[type="submit"],
.bloc-newsletter__shortcode-form button[type="submit"] {
    width: 64px;
    height: 64px;
    min-width: 64px;
    border: 0;
    border-radius: 50%;
    background: #000;
    color: transparent;
    font-size: 0;
    cursor: pointer;
    position: absolute;
    top: 50%;
    right: 3px;
    transform: translateY(-50%);
    transition: 0.3s all ease-in-out;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12H19' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M13 6L19 12L13 18' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 18px 18px;
}

.bloc-newsletter__shortcode-form input[type="submit"]:hover,
.bloc-newsletter__shortcode-form button[type="submit"]:hover {
    transform: translateY(-50%) scale(1.05);
}

/* Cas fréquent Contact Form 7 */
.bloc-newsletter__shortcode-form .wpcf7-form p {
    position: relative;
    margin-left: auto;
}

/* Cas formulaire simple avec wrapper perso */
.bloc-newsletter__shortcode-form .newsletter-inline-form,
.bloc-newsletter__shortcode-form .form-inline-newsletter {
    position: relative;
    margin-left: auto;
}

.bloc-newsletter__shortcode-form .newsletter-inline-form p {
    display: flex;
    align-items: center;
}

.bloc-newsletter__shortcode-form .wpcf7-not-valid-tip {
    display: none;
}

/* Messages */
.bloc-newsletter__shortcode-form .wpcf7-response-output,
.bloc-newsletter__shortcode-form .mc4wp-response,
.bloc-newsletter__shortcode-form .gform_confirmation_message {
    margin-top: 14px;
    color: #fff;
    font-size: 1.2rem;
}

/* Responsive */
@media (max-width: 991px) {
    .bloc-newsletter {
        padding: 70px 0;
    }

    .bloc-newsletter__inner {
        padding: 40px 28px;
    }

    .bloc-newsletter__content {
        margin-bottom: 28px;
    }

    .bloc-newsletter__form-col {
        justify-content: flex-start;
    }

    .bloc-newsletter__fake-form-inner,
    .bloc-newsletter__shortcode-form .wpcf7-form p,
    .bloc-newsletter__shortcode-form .newsletter-inline-form,
    .bloc-newsletter__shortcode-form .form-inline-newsletter {
        max-width: 100%;
        margin-left: 0;
    }

    .bloc-newsletter__shortcode-form input[type="email"],
    .bloc-newsletter__shortcode-form input[type="text"] {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .bloc-newsletter {
        padding: 55px 0;
    }

    .bloc-newsletter__inner {
        border-radius: 18px;
        padding: 30px 20px;
    }

    .bloc-newsletter__title h2 {
        margin-bottom: 18px;
    }

    .bloc-newsletter__fake-form input,
    .bloc-newsletter__shortcode-form input[type="email"],
    .bloc-newsletter__shortcode-form input[type="text"] {
        height: 58px;
        padding: 0 68px 0 18px;
    }

    .bloc-newsletter__fake-form button,
    .bloc-newsletter__shortcode-form input[type="submit"],
    .bloc-newsletter__shortcode-form button[type="submit"] {
        width: 52px;
        height: 52px;
        min-width: 52px;
    }
}