/* Customer review clamp + Read more toggle. Kept in its own file:
   security-hardening.php strips ?ver= from asset URLs and static files are
   served with a one-year max-age, so a changed URL is the only way an edit
   reaches visitors who already have the old file cached. */
/* --- Customer reviews: clamp long reviews behind a Read more toggle ------- */
/* Review text is pulled from the Google feed and runs anywhere from ~180 to
   ~1700 characters, which stretched every card to the height of the longest
   one. Clamp to 6 lines and let the reader expand the ones they care about.
   The clamp class is added by JS, so with JS off the full text still shows. */
.testimonial-card__description__text > *:first-child { margin-top: 0; }
.testimonial-card__description__text > *:last-child { margin-bottom: 0; }

.testimonial-card__description.is-clamped .testimonial-card__description__text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    line-clamp: 6;
    overflow: hidden;
}

.testimonial-card__readmore {
    -webkit-appearance: none;
    appearance: none;
    background: none;
    border: 0;
    padding: 0;
    margin-top: 12px;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.3;
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
    transition: opacity .3s ease;
}

.testimonial-card__readmore:hover { opacity: .65; }

.testimonial-card__readmore:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
    text-decoration: none;
}

@media (max-width: 767px) {
    .testimonial-card__readmore { font-size: 15px; }
}

