/* =========================================================
   reviews.css — เฉพาะหน้า /reviews/
   ========================================================= */
.reviews { padding-top: 2.5rem; }
.reviews__layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: clamp(2rem, 1rem + 3vw, 4rem); align-items: start; }

.rating-summary { position: sticky; top: 100px; display: grid; gap: .75rem; justify-items: start; padding: 1.75rem; border-radius: var(--radius-lg); background: var(--c-blue-50); }
.rating-summary__score { font-size: 4rem; font-weight: var(--fw-light); line-height: 1; color: var(--c-navy); }
.rating-summary .stars .icon { width: 1.25rem; height: 1.25rem; }
.rating-bars { display: grid; gap: .4rem; width: 100%; margin-block: .5rem 1rem; }
.rating-bars li { display: grid; grid-template-columns: 3.25rem 1fr 1.5rem; align-items: center; gap: .6rem; font-size: var(--fs-sm); color: var(--c-muted); }
.rating-bars meter { width: 100%; height: 8px; }
.rating-bars meter::-webkit-meter-bar { background: var(--c-line); border: 0; border-radius: 99px; height: 8px; }
.rating-bars meter::-webkit-meter-optimum-value { background: var(--c-blue); border-radius: 99px; }
.rating-bars meter::-moz-meter-bar { background: var(--c-blue); border-radius: 99px; }

.review-list { columns: 2 320px; column-gap: 1.25rem; }
.review-card { display: grid; gap: 1rem; margin-bottom: 1.25rem; padding: 1.5rem; break-inside: avoid; border: 1px solid var(--c-line); border-radius: var(--radius); }
.review-card__head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .875rem; }
.review-card__avatar { display: grid; place-items: center; width: 44px; height: 44px; font-weight: var(--fw-medium); color: var(--c-blue); background: var(--c-blue-100); border-radius: 50%; }
.review-card__name { font-size: var(--fs-h6); font-weight: var(--fw-medium); color: var(--c-navy); text-transform: none; letter-spacing: 0; }
.review-card time { font-size: var(--fs-xs); color: var(--c-muted); }
.review-card__villa { display: inline-flex; align-items: center; gap: .35rem; width: fit-content; min-height: 44px; padding: .3rem .85rem; font-size: var(--fs-sm); background: var(--c-blue-50); border-radius: var(--radius-ui); transition: background-color .2s; }
.review-card__villa:hover { background: var(--c-blue-100); }

.reviews-cta { display: grid; justify-items: center; gap: 1rem; text-align: center; }
.reviews-cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: .5rem; }

@media (max-width: 991px) {
  .reviews__layout { grid-template-columns: 1fr; }
  .rating-summary { position: static; }
}

.review-card.is-collapsed { display: none; }
.review-more { display: flex; justify-content: center; column-span: all; padding-top: .5rem; }
