/* Reviews module: shared cards, sections and pagination. */
.reviews-section,.reviews-page__content{background:var(--surface)}
.reviews-section--home{margin-top:0}.reviews-section__actions{display:flex;align-items:center;gap:8px}.reviews-carousel__button{width:36px;height:36px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text);cursor:pointer}.reviews-carousel__button:hover{border-color:var(--accent);color:var(--accent)}
.reviews-grid,.reviews-carousel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.reviews-carousel{overflow-x:auto;scroll-snap-type:x mandatory;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);grid-template-columns:none;padding:2px 2px 8px;scrollbar-width:thin}
.review-card{display:flex;min-width:0;height:100%;flex-direction:column;padding:18px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(25,35,50,.045);scroll-snap-align:start}
.review-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.review-card__head>div{min-width:0}.review-card__meta{display:flex;align-items:center;gap:8px;margin-top:5px;color:var(--muted);font-size:.75rem}.review-card__rating{color:#e7a52a;letter-spacing:1px;white-space:nowrap}.review-card__photo{flex:0 0 auto;width:58px;height:58px;border-radius:10px;object-fit:contain;background:var(--surface)}.review-card__text{display:-webkit-box;overflow:hidden;margin:14px 0 0;color:#354054;font-size:.9rem;line-height:1.6;line-clamp:5;-webkit-line-clamp:5;-webkit-box-orient:vertical}.review-card__company{display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding-top:16px;color:var(--accent);font-size:.78rem;font-weight:750}.reviews-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px}.reviews-pagination span{color:var(--muted);font-size:.85rem}.reviews-empty{padding:48px 20px;border:1px dashed var(--border);border-radius:14px;background:#fff;color:var(--muted);text-align:center}.reviews-empty h2{margin:0 0 8px;color:var(--text)}
body.page-company .company-reviews{margin-top:0}body.page-company .company-reviews .reviews-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}body.page-company .company-reviews .review-card{min-height:100%}
body.page-city .city-reviews-section{background:var(--surface)}body.page-city .city-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:900px){.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-carousel{grid-auto-columns:calc((100% - 16px)/2)}body.page-city .city-reviews-grid,body.page-company .company-reviews .reviews-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.reviews-section__actions{flex-wrap:wrap;justify-content:flex-end}.reviews-section__actions .section-link{width:100%;text-align:right}.reviews-grid{grid-template-columns:1fr;gap:12px}.reviews-carousel{grid-auto-columns:88%;gap:12px}.review-card{padding:15px}.reviews-pagination{gap:8px;flex-wrap:wrap}.reviews-pagination .btn{min-height:44px}body.page-city .city-reviews-grid,body.page-company .company-reviews .reviews-list{grid-template-columns:1fr}}
