.m-toggle-texte {
    position: relative;

    .m-toggle-texte__titre {
        display: block;
        text-align: center;
        margin-bottom: 60px;
        font-size: 2.25rem;
    }

    .m-toggle-texte__texte {
        max-height: 260px;
        overflow: hidden;
        position: relative;
        transition: max-height 0.55s ease;

        p,
        li {
            font-size: var(--wp--preset--font-size--text-lg);
        }

        h2,
        h3,
        h4,
        h5,
        h6 {
            margin-block-start: 1em;
            margin-block-end: 1em;
        }

        /* Gradient de fondu — la couleur de fond est injectée en JS via --block-bg */
        &::after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 120px;
            background: linear-gradient(to bottom, transparent, var(--block-bg, #fff));
            pointer-events: none;
            transition: opacity 0.35s ease;
        }
    }

    /* Bouton : ligne horizontale avec cercle centré */
    .m-toggle-texte__button--open {
        display: flex;
        align-items: center;
        width: 100%;
        border: none;
        background: transparent;
        padding: 20px 0;
        cursor: pointer;
        color: inherit;

        &:before {
            margin-right: 10px;
        }

        &::after {
            margin-left: 10px;
        }

        &::before,
        &::after {
            content: "";
            flex: 1;
            height: 1px;
            background-color: currentColor;
            opacity: 0.2;
        }
    }

    .m-toggle-texte__icon {
        flex-shrink: 0;
        width: 46px;
        height: 46px;
        border-radius: 50%;
        border: 1px solid currentColor;
        opacity: 0.5;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: opacity 0.2s;
        background-color: #fff;

        svg {
            display: block;
            transition: transform 0.35s ease;
        }
    }

    .m-toggle-texte__button--open:hover .m-toggle-texte__icon {
        opacity: 1;
    }

    /* État ouvert */
    &.is-open {
        .m-toggle-texte__texte::after {
            opacity: 0;
        }

        .m-toggle-texte__icon svg {
            transform: rotate(180deg);
        }
    }
}