.carousel-avis-container {
    width: 100%;
}

/* <editor-fold desc="Carousel"> */
.carousel-avis-wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
    width: 100%;

    .carousel-avis-overflow {
        overflow: hidden;
        flex: 1;

        .carousel-avis-track {
            display: flex;
            gap: 16px;
            transition: transform 0.4s ease;

            .carousel-avis-item {
                flex: 0 0 100%;
                box-sizing: border-box;
                overflow: hidden;
                transition: flex-basis 0.3s ease;

                @media (min-width: 576px) { flex: 0 0 calc(50% - 8px); }
                @media (min-width: 992px) { flex: 0 0 calc(25% - 12px); }
            }

            .carousel-avis-item--expanded {
                flex: 0 0 100% !important;
                overflow: visible;

                .avis-body { display: block; overflow: visible; }

                @media (min-width: 992px) { flex: 0 0 calc(50% - 8px) !important; }
            }
        }
    }

    .carousel-avis-btn {
        background: none;
        border: none;
        font-size: 2rem;
        cursor: pointer;
        line-height: 1;
        padding: 0 2px;
        flex-shrink: 0;

        &:disabled { opacity: 0.3; cursor: default; }

        @media (min-width: 992px) { font-size: 2.5rem; padding: 0 4px; }
    }
}
/* </editor-fold> */

/* <editor-fold desc="Pagination et note"> */
.carousel-avis-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 14px !important;

    .carousel-avis-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #ccc;
        border: none;
        padding: 0;
        cursor: pointer;
        transition: background 0.2s, transform 0.2s;
        flex-shrink: 0;

        &:hover { background: #e9e9e9; }

        &.carousel-avis-dot--active {
            background: #D8B587;
            transform: scale(1.4);
        }
    }
}

.carousel-avis-note {
    font-style: italic;
    font-size: .8rem;
    text-align: center;
    margin-top: 5px !important;
}
/* </editor-fold> */

/* <editor-fold desc="Carte avis"> */
.avis-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    padding: 15px;
    box-shadow: 0 2px 5px rgba(0,0,0,.07);
    transition: box-shadow .2s;

    &:hover { box-shadow: 0 2px 12px rgba(0,0,0,.07); }

    .avis-author { font-size: .9rem; color: var(--avis-text); }

    .avis-stars {
        gap: 2px;
        svg { width: 16px; height: 16px; fill: #D8B587; flex-shrink: 0; }
    }

    .avis-body {
        color: #444;
        line-height: 1.5;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .avis-voir-plus {
        font-weight: 700;
        color: #555;
        text-decoration: none;
        display: none;

        &:hover { color: #111; text-decoration: underline; }
    }

    .avis-voir-plus--visible { display: block; }

    .avis-date { color: #aaa; }
}
/* </editor-fold> */
