:root {
    --temoignage-accent-color: #bf9955; /* Couleur par défaut */
}

.temoignages-container { display: flex; flex-wrap: wrap; margin: 0 -20px; }
.temoignage { box-sizing: border-box; flex-grow: 1; flex-basis: calc(100% / var(--column-count, 3)); }
.temoignage_inner { padding: 20px; height: 100%; box-sizing: border-box; }

.temoignage_content {
    border: 1px solid #afafaf;
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: height 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.temoignage-main-content {
    padding: 20px;
    flex-grow: 1;
}

.temoignage h4 {
    font-size: 1.5em; font-weight: 700; margin: 0 0 5px 0; position: relative; padding-left: 40px;
}

.temoignage h4::before {
    content: '“'; font-size: 120px !important; font-weight: 400; font-family: 'Great Vibes', cursive;
    color: var(--temoignage-accent-color); position: absolute; left: -20px; top: -20px; line-height: 1; z-index: 1;
}

.temoignage .date { font-size: 0.9em; opacity: 0.8; margin: 0 0 15px 0; padding: 0; font-style: italic; }
.temoignage .rating { display: flex; align-items: center; margin-bottom: 15px; }
.rating .social-icon-link img { width: 20px; height: 20px; margin-right: 10px; }
.star-icon {
    display: inline-block; width: 25px; height: 25px; background-color: var(--temoignage-accent-color);
    -webkit-mask: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath d='M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279-7.416-3.967-7.417 3.967 1.481-8.279-6.064-5.828 8.332-1.151z'/%3e%3c/svg%3e") no-repeat center / contain;
    mask: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath d='M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279-7.416-3.967-7.417 3.967 1.481-8.279-6.064-5.828 8.332-1.151z'/%3e%3c/svg%3e") no-repeat center / contain;
    opacity: 0.3; margin-right: 2px;
}
.star-icon.filled { opacity: 1; }

.read-more-link { cursor: pointer; text-decoration: underline; color: var(--temoignage-accent-color); display: inline-block; white-space: nowrap; }

/* NOUVELLE LOGIQUE POUR LE GUILLEMET DE FERMETURE */
.short-text p::after,
.full-text p:last-child::after {
    content: '”';
    font-size: 120px;
    font-weight: 400;
    font-family: 'Great Vibes', cursive;
    color: var(--temoignage-accent-color);
    float: right;
    line-height: 0.5;
    margin-top: 35px;
    position: relative;
    z-index: -1;
}

/* Styles pour l'animation */
.text-wrapper {
    position: relative;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.full-text {
    position: absolute;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0s 0.3s;
}

.text-wrapper.is-open .full-text {
    position: relative;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s 0.2s, visibility 0s;
}

.text-wrapper.is-open .short-text {
    position: absolute;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0s 0.3s;
}

@media (max-width: 1150px) { .temoignage { flex-basis: 50%; } }
@media (max-width: 650px) { .temoignage { flex-basis: 100%; } .temoignage_inner { padding: 20px 0; } }