.reviews-modal .modal-dialog{max-width:540px}.reviews-modal .modal-dialog.modal-lg{max-width:720px}.reviews-modal .modal-content{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);color:var(--text-primary);overflow:hidden}.reviews-modal .modal-header{align-items:center;background:var(--bg-primary);border-bottom:1px solid var(--bg-tertiary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.reviews-modal .modal-header .modal-title{align-items:center;color:var(--text-primary);display:flex;font-size:1.15rem;font-weight:700;gap:.6rem;line-height:1.3;margin:0}.reviews-modal .modal-header .modal-title i{color:var(--accent-warning)}.reviews-modal .modal-header .btn-close{align-items:center;background:var(--bg-tertiary);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:.9rem;height:32px;justify-content:center;line-height:1;opacity:1;padding:0;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast);width:32px}.reviews-modal .modal-header .btn-close i{font-size:.85rem;line-height:1}.reviews-modal .modal-header .btn-close:hover{background:var(--bg-primary);border-color:var(--bg-tertiary);color:var(--text-primary)}.reviews-modal .modal-body{background:var(--bg-secondary);color:var(--text-primary);padding:1.5rem}.reviews-modal .modal-footer{align-items:center;background:var(--bg-primary);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:1px solid var(--bg-tertiary);display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;padding:1rem 1.5rem}.reviews-modal .modal-footer .btn{margin:0;min-width:110px}.reviews-modal .reviews-summary{align-items:center;background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.25rem;padding:1.25rem 1.5rem}.reviews-modal .reviews-summary-main{align-items:center;display:flex;flex-direction:column;gap:.25rem;min-width:110px}.reviews-modal .reviews-summary-main .reviews-summary-score{color:var(--text-primary);font-size:2.6rem;font-weight:800;line-height:1}.reviews-modal .reviews-summary-main .reviews-summary-stars{color:var(--accent-warning);font-size:1.05rem;letter-spacing:2px}.reviews-modal .reviews-summary-main .reviews-summary-total{color:var(--text-secondary);font-size:.85rem}.reviews-modal .reviews-breakdown{display:flex;flex:1 1 240px;flex-direction:column;gap:.4rem}.reviews-modal .reviews-breakdown .reviews-breakdown-row{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:.65rem;padding:.25rem .4rem;transition:background var(--transition-fast);width:100%}.reviews-modal .reviews-breakdown .reviews-breakdown-row:hover{background:var(--bg-tertiary)}.reviews-modal .reviews-breakdown .reviews-breakdown-row.is-active{background:color-mix(in srgb,var(--brand-primary) 20%,transparent)}.reviews-modal .reviews-breakdown .reviews-breakdown-row .reviews-breakdown-label{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.85rem;gap:.2rem;min-width:30px}.reviews-modal .reviews-breakdown .reviews-breakdown-row .reviews-breakdown-label i{color:var(--accent-warning);font-size:.75rem}.reviews-modal .reviews-breakdown .reviews-breakdown-row .reviews-breakdown-bar{background:var(--bg-tertiary);border-radius:999px;flex:1 1 auto;height:8px;overflow:hidden}.reviews-modal .reviews-breakdown .reviews-breakdown-row .reviews-breakdown-bar .reviews-breakdown-fill{background:var(--accent-warning);border-radius:999px;display:block;height:100%;transition:width var(--transition-normal)}.reviews-modal .reviews-breakdown .reviews-breakdown-row .reviews-breakdown-count{color:var(--text-secondary);font-size:.82rem;font-variant-numeric:tabular-nums;min-width:24px;text-align:right}.reviews-modal .reviews-list{display:flex;flex-direction:column;gap:.85rem;max-height:420px;overflow-y:auto;padding-right:.25rem}.reviews-modal .review-item{background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:var(--radius-md);display:flex;gap:.85rem;padding:1rem 1.1rem;transition:border-color var(--transition-fast)}.reviews-modal .review-item:hover{border-color:color-mix(in srgb,var(--brand-primary) 35%,var(--bg-tertiary))}.reviews-modal .review-avatar{background:var(--bg-secondary);border:2px solid var(--bg-tertiary);border-radius:50%;flex:0 0 auto;height:44px;-o-object-fit:cover;object-fit:cover;width:44px}.reviews-modal .review-avatar--placeholder{align-items:center;background:var(--brand-gradient,linear-gradient(135deg,#8b5cf6 0,#ec4899 100%));border:none;color:#fff;display:inline-flex;font-size:1.1rem;font-weight:700;justify-content:center;text-transform:uppercase}.reviews-modal .review-item-body{flex:1 1 auto;min-width:0}.reviews-modal .review-item-head{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:.4rem}.reviews-modal .review-item-head .review-author{color:var(--text-primary);font-size:.95rem;font-weight:600}.reviews-modal .review-item-head .review-stars{color:var(--accent-warning);font-size:.9rem;letter-spacing:1.5px}.reviews-modal .review-item-head .review-date{color:var(--text-secondary);font-size:.8rem;margin-left:auto;opacity:.85;white-space:nowrap}.reviews-modal .review-comment{color:var(--text-secondary);font-size:.92rem;line-height:1.55;margin:0;white-space:pre-wrap;word-break:break-word}.reviews-modal .review-auto-badge{align-items:center;background:var(--surface-muted,rgba(148,163,184,.12));border-radius:var(--radius-sm,.5rem);color:var(--text-secondary);display:inline-flex;font-size:.78rem;font-weight:500;gap:.35rem;margin-top:.5rem;padding:.2rem .6rem}.reviews-modal .review-auto-badge i{font-size:.75rem;opacity:.8}.reviews-modal .reviews-loadmore{display:flex;justify-content:center;margin-top:.85rem}.reviews-modal .reviews-loadmore .reviews-loadmore-btn{align-items:center;background:var(--brand-gradient,linear-gradient(135deg,#8b5cf6 0,#ec4899 100%));background-size:150% 150%;border:none;border-radius:var(--radius-md);color:#fff;display:inline-flex;font-weight:600;justify-content:center;min-width:200px;padding:.6rem 1.5rem;transition:filter var(--transition-fast),transform var(--transition-fast)}.reviews-modal .reviews-loadmore .reviews-loadmore-btn:hover{color:#fff;filter:brightness(1.07);transform:translateY(-1px)}.reviews-modal .reviews-loadmore .reviews-loadmore-btn:disabled{cursor:default;filter:none;opacity:.7;transform:none}.reviews-modal .reviews-empty{color:var(--text-muted);font-size:.95rem;padding:2rem 1rem;text-align:center}.service-detail-item.service-rating-badge{color:var(--accent-warning)!important;cursor:pointer;transition:opacity var(--transition-fast)}.service-detail-item.service-rating-badge:hover{opacity:.85;text-decoration:underline}.service-detail-item.service-rating-empty{opacity:.6}.service-reviews-cta{margin-top:1rem;text-align:center}.service-reviews-cta .service-rating-badge{align-items:center;background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:inline-flex;gap:.5rem;padding:.5rem 1rem;transition:all var(--transition-fast)}.service-reviews-cta .service-rating-badge i{color:var(--accent-warning)}.service-reviews-cta .service-rating-badge:hover{border-color:var(--accent-warning);color:var(--text-primary)}
