.reviews-section{padding:60px 0 70px;border-top:1px solid var(--line)}
.review-rail{display:flex;gap:20px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x proximity}
.review-card{flex:0 0 300px;scroll-snap-align:start;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.review-card img{display:block;width:100%;height:180px;object-fit:cover}
.review-body{padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.review-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.review-name{font-size:14px;font-weight:700}
.review-stars{color:#f0b400;font-size:14px;letter-spacing:1px}
.review-text{font-size:14px;line-height:1.8;color:var(--muted);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.review-reply{margin-top:4px;padding:12px 14px;background:var(--pale);border-radius:8px}
.review-reply-badge{display:inline-block;font-size:11px;font-weight:700;color:var(--blue);margin-bottom:6px}
.review-reply p{font-size:13px;line-height:1.7;color:var(--ink);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:700px){
  .reviews-section{padding:40px 0 45px}
  .review-card{flex-basis:78%}
}
.reviews-more{margin-top:14px}
.reviews-more summary{cursor:pointer;list-style:none;display:inline-block}
.reviews-more summary::-webkit-details-marker{display:none}
.review-rail-more{margin-top:16px}
.reviews-all-trigger{margin-top:16px}
body.reviews-modal-open{overflow:hidden}
.reviews-modal-overlay,.reviews-sheet-overlay{position:fixed;inset:0;background:#0d1b22cc;z-index:200;display:flex}
.reviews-modal-overlay{align-items:center;justify-content:center;padding:24px}
.reviews-sheet-overlay{align-items:flex-end}
.reviews-modal{background:#fff;border-radius:16px;max-width:920px;width:100%;max-height:86vh;display:flex;flex-direction:column;outline:none}
.reviews-sheet{background:#fff;border-radius:18px 18px 0 0;width:100%;max-height:88vh;display:flex;flex-direction:column;outline:none;animation:reviews-sheet-up .22s ease-out}
@keyframes reviews-sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
.reviews-panel-head{position:relative;padding:18px 52px 14px 20px;border-bottom:1px solid var(--line);flex:none}
.reviews-panel-head h2{font-size:18px;margin:0}
.reviews-sheet-handle{display:block;width:40px;height:4px;border-radius:2px;background:#d8dee1;margin:0 auto 12px}
.reviews-panel-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:0;background:#f1f4f5;font-size:16px;cursor:pointer}
.reviews-panel-grid{overflow-y:auto;padding:18px 20px 24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-rows:min-content;gap:16px}
.review-card-full{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-height:min-content}
.review-card-full img{display:block;width:100%;height:180px;object-fit:cover;cursor:zoom-in}
@media(max-width:700px){.reviews-panel-grid{grid-template-columns:1fr;padding:14px 16px 20px}.reviews-modal-overlay{padding:0}}
.review-lightbox{position:fixed;inset:0;background:#000e;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}
.review-lightbox img{max-width:100%;max-height:100%;border-radius:8px;object-fit:contain}
.review-lightbox-close{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:50%;border:0;background:#ffffffe6;font-size:17px;cursor:pointer}
