/* =========================================================
   AVIS CLIENTS WEB
   ========================================================= */

.apollo-reviews-web {
    min-height: 100vh;
    display: flex;
    align-items: center;
}

.apollo-reviews-inner {
    width: 100%;
}

.apollo-reviews-heading {
    margin-bottom: 48px;
}

.apollo-reviews-web h2 {
    max-width: 920px;
    margin: 0;

    color: #fff;

    font-size: clamp(48px, 4vw, 76px);
    font-weight: 600;
    line-height: .98;
    letter-spacing: -.035em;
}

/* =========================================================
   VIEWPORT
   ========================================================= */

.apollo-reviews-viewport {
    position: relative;
    width: 100%;
    overflow: visible;
}

.apollo-reviews-track {
    display: flex;
    align-items: stretch;

    gap: 24px;

    width: max-content;

    transform: translate3d(12vw, 0, 0);

    will-change: transform;
}

/* =========================================================
   CARTE
   ========================================================= */

.apollo-review-card {
    position: relative;

    flex: 0 0 360px;

    height: 270px;

    display: flex;
    flex-direction: column;

    padding: 30px;

    box-sizing: border-box;

    overflow: hidden;

    border: 1px solid rgba(255,255,255,.10);
    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(76,61,214,.09),
            rgba(255,255,255,.018)
        );

    box-shadow:
        0 22px 65px rgba(0,0,0,.25);

    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease;

    will-change:
        transform,
        opacity;
}

.apollo-review-card:hover {
    transform: translateY(-7px) !important;

    border-color: rgba(190,85,237,.34);

    box-shadow:
        0 30px 80px rgba(0,0,0,.36),
        0 0 40px rgba(112,69,221,.10);

    z-index: 20;
}

.apollo-review-stars {
    margin-bottom: 22px;

    color: var(--apollo-3);

    font-size: 14px;
    letter-spacing: 5px;
}

/* Texte tronqué */
.apollo-review-text {
    display: -webkit-box;

    margin: 0;

    overflow: hidden;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;

    color: #f0f0f3;

    font-size: 17px;
    line-height: 1.6;
}

/* Texte complet au hover */
.apollo-review-card:hover .apollo-review-text {
    display: block;

    overflow: visible;

    -webkit-line-clamp: unset;
}

.apollo-review-author {
    display: block;

    margin-top: auto;
    padding-top: 26px;

    color: #8f8f99;

    font-size: 13px;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991px) {

    .apollo-review-card {
        flex-basis: 300px;
    }

    .apollo-reviews-track {
        gap: 16px;
    }
}

/* =========================================================
   AVIS - HEADER + GOOGLE TRUSTINDEX
   ========================================================= */

.apollo-reviews-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 60px;

    margin-bottom: 48px;
}

.apollo-reviews-heading-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.apollo-reviews-heading-copy h2 {
    margin-bottom: 0;
}

/* Widget Google */
.apollo-google-reviews-summary {
    flex: 0 0 auto;

    width: 260px;
    max-width: 260px;

    position: relative;
    z-index: 5;
}

/*
 * On laisse Trustindex gérer son contenu,
 * mais on évite qu'il déborde de la composition.
 */
.apollo-google-reviews-summary .ti-widget,
.apollo-google-reviews-summary > div {
    max-width: 100% !important;
}

/* Mobile */
@media (max-width: 991px) {

    .apollo-reviews-heading {
        flex-direction: column;
        align-items: flex-start;

        gap: 28px;
    }

    .apollo-google-reviews-summary {
        width: 100%;
        max-width: 280px;
    }
}

/* =========================================================
   APOLLO HOME V4 - REVIEWS MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .apollo-reviews-web {
        min-height: auto !important;
        height: auto !important;
        padding: 65px 24px 75px !important;
        align-items: flex-start !important;
        overflow: hidden;
    }

    .apollo-reviews-heading {
        gap: 18px !important;
        margin-bottom: 38px !important;
    }

    .apollo-reviews-web h2 {
        max-width: 100% !important;
        font-size: clamp(42px, 11vw, 54px) !important;
        line-height: .98 !important;
        letter-spacing: -.04em !important;
    }

    .apollo-google-reviews-summary {
        width: 100% !important;
        max-width: 220px !important;
    }

    .apollo-reviews-viewport {
        width: 100%;
        overflow: visible;
    }

    .apollo-reviews-track {
        gap: 14px !important;
        transform: translate3d(0, 0, 0);
    }

    .apollo-review-card {
        flex: 0 0 calc(100vw - 72px) !important;
        height: 245px !important;
        padding: 24px !important;
        border-radius: 16px;
    }

    .apollo-review-text {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    .apollo-review-stars {
        margin-bottom: 18px;
    }

    .apollo-review-author {
        padding-top: 18px;
        font-size: 12px;
    }

}

/* =========================================================
   APOLLO HOME V4 - REVIEWS MOBILE SWIPE
   ========================================================= */

@media (max-width: 767px) {

    .apollo-reviews-viewport {
        overflow-x: auto !important;
        overflow-y: hidden !important;

        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;

        -webkit-overflow-scrolling: touch;

        scrollbar-width: none;
    }

    .apollo-reviews-viewport::-webkit-scrollbar {
        display: none;
    }

    .apollo-reviews-track {
        display: flex;
        width: max-content;
        gap: 14px !important;
        transform: none !important;
        padding-right: 24px;
    }

    .apollo-review-card {
        flex: 0 0 calc(100vw - 72px) !important;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

}

/* =========================================================
   APOLLO HOME V4 - GOOGLE REVIEWS MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .apollo-google-reviews-summary {
        width: 100% !important;
        max-width: none !important;
    }

    .apollo-google-reviews-summary .ti-widget,
    .apollo-google-reviews-summary .ti-widget-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .apollo-google-reviews-summary .ti-header {
        width: 100% !important;
        min-height: 58px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;

        padding: 11px 14px !important;

        border: 1px solid rgba(255,255,255,.10) !important;
        border-radius: 14px !important;

        background: rgba(255,255,255,.025) !important;

        box-sizing: border-box !important;
    }

    .apollo-google-reviews-summary .ti-large-logo {
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        flex: 0 0 auto !important;
    }

    .apollo-google-reviews-summary .ti-large-logo img {
        width: 72px !important;
        height: auto !important;
        max-width: 72px !important;
    }

    .apollo-google-reviews-summary .ti-stars {
        display: flex !important;
        align-items: center !important;
        gap: 3px !important;
        flex-wrap: nowrap !important;
        margin: 0 !important;
    }

    .apollo-google-reviews-summary .ti-stars img {
        width: 14px !important;
        height: 14px !important;
    }

    .apollo-google-reviews-summary .ti-rating {
        margin-right: 3px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
    }

    .apollo-google-reviews-summary .ti-rating-text {
        margin-left: 6px !important;
        white-space: nowrap !important;
        font-size: 11px !important;
    }

}
