/* Reviews: structure only. Existing palette and typography are inherited. */
.review-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; }
.review-card-image { aspect-ratio: 16 / 9; padding: 16px; }
.review-card-image img { max-height: 180px; }
.review-card-copy { gap: 12px; }
.review-card-copy > .product-category, .review-card-copy > .product-title, .review-card-copy > .btn-primary, .review-card-copy > .saved-note { margin-block: 0; }
.review-card-verdict { display: grid; gap: 12px; margin: 0; }
.review-card-verdict > div { display: grid; gap: 4px; }
.review-card-verdict dt, .review-card-verdict dd { margin: 0; }
.review-card-provenance { margin-top: auto; }
.review-card-copy > .btn-primary { margin-top: 0; }
.review-card-copy > .product-actions { margin-top: 0; }
.review-card-copy > .product-actions > a { justify-content: flex-start; }
.review-verdict { scroll-margin-top: 160px; min-width: 0; }
.review-verdict .detail-actions { margin-block: 20px 12px; }
.review-metadata { margin-block: 24px; }
.review-anchor-nav { margin-bottom: 32px; }
.review-key-specs { margin-block: 16px; }
.review-specifications { margin-block: 20px; }
.review-specifications > summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; }
.review-specifications > .detail-columns { margin-top: 20px; }
.review-alternatives { display: grid; gap: 16px; }
.review-alternative { display: grid; grid-template-columns: minmax(0,1fr); align-items: start; gap: 16px; }
.review-alternative > img { width: 100%; height: 150px; object-fit: contain; }
.review-alternative > div { min-width: 0; }
.review-offer-grid { display: grid; gap: 16px; margin-block: 20px; }
.review-offer { display: flex; flex-direction: column; align-items: start; }
.review-offer > .btn { margin-top: auto; }
@media (min-width: 768px) {
  .review-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .review-alternative { grid-template-columns: 180px minmax(0,1fr); gap: 24px; }
  .review-offer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 1200px) {
  .review-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .review-verdict { scroll-margin-top: 16px; }
  .review-intro > img { max-height: 220px; }
  .review-card-image img { max-height: 160px; }
  .review-alternative .detail-actions > a, .review-offer > .btn { width: 100%; }
}
