.reviews-summary{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);flex-shrink:0;transition:transform .2s ease}
.reviews-summary:hover{transform:translateY(-2px)}
.reviews-summary .score{font-size:2.2rem;font-weight:950;color:var(--blue);line-height:1}
.reviews-summary .meta{display:flex;flex-direction:column;font-size:.9rem;color:var(--muted);line-height:1.35}
.reviews-summary .meta strong{color:var(--text)}
.stars{color:var(--yellow);letter-spacing:2px;font-size:1.05rem;line-height:1}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;align-items:stretch}
.review-card{display:flex;flex-direction:column;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 10px 30px rgba(8,63,145,.07)}
.review-head{display:flex;align-items:center;gap:12px}
.review-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;flex-shrink:0;background:var(--blue)}
.review-head .who{display:flex;flex-direction:column;gap:4px;line-height:1.3}
.review-head .who strong{color:var(--text)}
.review-head .stars{font-size:.95rem}
.review-tag{align-self:flex-start;margin-top:12px;padding:4px 10px;border-radius:999px;background:#eef5ff;color:var(--blue);font-weight:800;font-size:.78rem}
.review-text{margin:0 0 16px;color:#37506d}
.review-text p{margin:12px 0 0}
.review-more{align-self:flex-start;margin:-6px 0 16px;padding:0;border:0;background:none;color:var(--blue);font:inherit;font-weight:800;cursor:pointer}
.review-more:hover{text-decoration:underline}
.review-foot{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}
.reviews-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.google-g{font-weight:900;background:linear-gradient(90deg,#4285f4 0 25%,#ea4335 25% 50%,#fbbc05 50% 75%,#34a853 75%);-webkit-background-clip:text;background-clip:text;color:transparent}
/* Solo con JavaScript: recorte de reseñas largas y tarjetas extra ocultas. Sin JS se ve todo. */
.review-more{display:none}
.reviews-js .review-more{display:inline-block}
.reviews-js .review-card.is-long:not(.is-open) .review-text{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.reviews-js .review-card.is-long:not(.is-open) .review-text p+p{display:none}
.reviews-js:not(.show-all) .review-card.is-extra{display:none}
.reviews-grid:has(.is-open) .review-card{align-self:start}
.reviews-toggle{display:none}
.reviews-js .reviews-toggle{display:inline-flex}
@media(max-width:640px){.reviews-summary{width:100%}.review-card{padding:18px}.reviews-grid{grid-template-columns:1fr}}
