/* PBI Reviews — base structural styles only.
   All visual design overrides are in child theme style.css */

.pbi-reviews-wrap { position: relative; }
.pbi-reviews-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-bottom: 40px; align-items: start; }
@media(max-width:900px){ .pbi-reviews-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:580px){ .pbi-reviews-grid { grid-template-columns: 1fr; } }
.pbi-review-photo { width:100%; height:300px; overflow:hidden; position:relative; display:flex; align-items:center; justify-content:center; }
.pbi-review-photo img { width:100%; height:100%; object-fit:contain; object-position:center; display:block; }
.pbi-review-body { padding:14px 16px 16px; display:flex; flex-direction:column; gap:6px; }
.pbi-review-text.pbi-collapsed { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.pbi-read-more-btn { display:none; }
.pbi-read-more-btn.visible { display:inline-block; }
.pbi-reviews-loading { position:absolute; inset:0; background:rgba(255,255,255,0.8); display:flex; align-items:center; justify-content:center; z-index:10; }
.pbi-spinner { width:40px; height:40px; border:4px solid #fde8ef; border-top-color:#e8407a; border-radius:50%; animation:pbi-spin 0.7s linear infinite; }
@keyframes pbi-spin { to { transform:rotate(360deg); } }
.pbi-pagination-pages { display:flex; flex-wrap:wrap; gap:6px; justify-content:center; }
.pbi-reviews-pagination { display:flex; justify-content:center; margin:32px 0 20px; }
