/* Reviews collection: the same editorial palette and proportions as Affiliations. */
.reviews-view, .reviews-view .footer { background: #f8f5ef; }
.reviews-view .reviews-section { background: #f8f5ef; padding: 10rem 0 4rem; }
.reviews-view .container { max-width: 1180px; padding: 0 2.5rem; }
.reviews-intro { display: grid; grid-template-columns: 1.15fr 1fr; align-items: end; gap: 3rem; text-align: left; padding-bottom: 3.5rem; }
.reviews-view .section-kicker { color: #80674d; font-size: .69rem; letter-spacing: .22em; margin-bottom: 1.1rem !important; }
.reviews-view h1 { font-size: clamp(3rem,5.5vw,4.7rem); font-weight: 400; line-height: 1.12; letter-spacing: -.045em; margin: 0; }
.reviews-view h1 span { color: #aa8865; }
.reviews-view .reviews-intro-copy p { color: #62584d; font-size: 1rem; line-height: 1.85; margin: 0 0 1rem; text-align: left; }
.reviews-view .reviews-intro-copy .reviews-personal-note { font-size: .75rem; margin: 0; }
.reviews-index { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid #d9d0c4; padding: 1.2rem 0 1.8rem; text-transform: uppercase; font-size: .64rem; letter-spacing: .16em; color: #716354; text-align: left; }
.reviews-view .review-search-field, .reviews-view .review-sort-control, .reviews-view .review-filter-button { border-radius: 4px; background: #fffcf8; border-color: #d9d0c4; box-shadow: none; }
.reviews-view .review-search-field:focus-within, .reviews-view .review-sort-control:focus-within { outline: 2px solid #80674d; outline-offset: 3px; }
.reviews-view :is(a,button,select):focus-visible { outline: 2px solid #80674d; outline-offset: 3px; }
.reviews-view .review-filter-menu { border-radius: 5px; background: #fffcf8; border-color: #d9d0c4; }
.reviews-view .review-selected-chip, .reviews-view .review-tab, .reviews-view .review-chip { border-radius: 3px; }
.reviews-view .review-selected-chip.primary, .reviews-view .review-tab.active, .reviews-view .review-chip.active, .reviews-view .review-filter-count { background: #665038; border-color: #665038; color: #fff; }
.reviews-view .review-results-summary { font-size: .77rem; color: #766958; }
.reviews-view .reviews-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2.5rem 2rem; }
.reviews-view .review-card { background: #fffcf8; border: 1px solid #e3dbd0; border-radius: 5px; box-shadow: none; }
.reviews-view .review-card:hover { border-color: #b9a386; box-shadow: 0 12px 28px #3d30280a; }
.reviews-view .review-card-main { display: flex; flex-direction: column; gap: 0; padding: 0; height: 100%; }
.reviews-view .review-card-image { width: 100%; height: 260px; aspect-ratio: auto; padding: 1.4rem; border-radius: 0; border-bottom: 1px solid #e3dbd0; background: #f1ece4; }
.reviews-view .review-card-image img { object-fit: contain; }
.reviews-view .review-card-image.is-placeholder { padding: 3.5rem; }
.reviews-view .review-card-content { display: flex; flex-direction: column; padding: 1.7rem 1.8rem 1.5rem; flex: 1; }
.reviews-view .review-card.review-card-compact h3 { font-size: 1.65rem; font-weight: 400; color: #30291f; letter-spacing: -.025em; line-height: 1.3; }
.reviews-view .review-card-tags span { padding: 0; background: none; border-radius: 0; color: #80674d; font-size: .61rem; letter-spacing: .1em; }
.reviews-view .review-card-tags { gap: .6rem; margin-bottom: .65rem; }
.reviews-view .review-icon-link { min-width: 30px; min-height: 38px; justify-content: center; color: #73614e; }
.reviews-view .review-card-actions { gap: .25rem; }
.reviews-view .review-card-meta { gap: .5rem; margin: 1rem 0; }
.reviews-view .review-card-meta span { border-radius: 3px; font-size: .75rem; align-items: baseline; }
.reviews-view .review-card-meta strong { flex-shrink: 0; font-size: .6rem; }
.reviews-view .review-card-points { margin-bottom: 1.3rem; }
.reviews-view .review-card-points p { font-size: .8rem; line-height: 1.8; text-align: left; margin-bottom: 0; }
.reviews-view .badge { border-radius: 3px; font-size: .6rem; }
.reviews-view .review-card-footer { border-top: 1px solid #e7dfd3; padding-top: 1rem; margin-top: auto; }
.reviews-view .blog-read-more { font-size: .75rem; color: #59452f; }
.reviews-view .review-card.coming-soon { opacity: 1; }
.reviews-view .review-empty { grid-column: 1 / -1; border-radius: 5px; box-shadow: none; }
@media(max-width:900px) {
 .reviews-view .container { padding: 0 1.5rem; }
 .reviews-intro { gap: 2rem; }
 .reviews-view .review-card-content { padding: 1.3rem; }
 .reviews-view .review-card-header { flex-wrap: wrap; }
 .reviews-view .review-card-image { height: 230px; }
}
@media(max-width:650px) {
 .reviews-view .reviews-section { padding-top: 8rem; }
 .reviews-intro { grid-template-columns: 1fr; gap: 1.4rem; padding-bottom: 2.2rem; }
 .reviews-view h1 { font-size: 3.3rem; }
 .reviews-view .reviews-intro-copy p { font-size: .92rem; }
 .reviews-index { font-size: .59rem; letter-spacing: .1em; }
 .reviews-index span:last-child { display: none; }
 .reviews-view .reviews-grid { grid-template-columns: 1fr; gap: 1.5rem; }
 .reviews-view .review-search-row { grid-template-columns: minmax(0,1fr) auto; }
 .reviews-view .review-search-field { grid-column: 1 / -1; }
 .reviews-view .review-search-field input { font-size: 16px; }
 .reviews-view .review-card-meta span { max-width: 100%; overflow-wrap: anywhere; }
}
@media(prefers-reduced-motion:reduce) {
 .reviews-view .review-card { transition: none; }
 .reviews-view .review-card:hover { transform: none; }
}
/* One review per row, with a compact product photo beside its details. */
.reviews-view .reviews-grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
@media (min-width: 651px) {
  .reviews-view .review-card-main { display: grid; grid-template-columns: 220px minmax(0, 1fr); }
  .reviews-view .review-card-image { height: 100%; min-height: 260px; align-self: stretch; border-bottom: 0; border-right: 1px solid #e3dbd0; }
  .reviews-view .review-card-image img { max-height: 280px; }
  .reviews-view .review-card-header { flex-wrap: nowrap; }
}
/* Product silhouettes share a centered frame regardless of source-photo margins. */
.reviews-view .review-card-image {
  display: flex;
  align-items: center;
  justify-content: center;
  isolation: isolate;
  padding: 1.5rem;
}
.reviews-view .review-card-image .product-sprite img {
  max-height: none;
  object-fit: contain;
}
