[hidden] { display: none !important; }
.manufacturer { margin: 0 0 .22rem; color: var(--accent); font-size: .73rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.badge.availability { background: #ffffff10; color: #d4e3e8; border: 1px solid #ffffff19; }
.pew-copy { color: #c3d6ff; }
.procon, .sources, .rank-explanation { font-size: .78rem; color: var(--muted); margin: .55rem 0; }
.rank-explanation { padding: .55rem .65rem; border-left: 2px solid var(--accent); background: #f3a3410d; border-radius: 0 7px 7px 0; }
.sources a { color: #9fc6ff; text-decoration-thickness: 1px; }
.sources a:hover { color: #d0e2ff; }
.card-main { display: flex; gap: .85rem; align-items: flex-start; }
.card-title { min-width: 0; flex: 1; }
.rank, .model-type { font-size: .72rem; margin: .1rem 0; color: var(--muted); }
.rank { font-weight: 800; color: var(--accent); letter-spacing: .08em; text-transform: uppercase; }
.product-photo { margin: 0; width: 94px; flex: 0 0 94px; border: 1px solid var(--line); border-radius: 10px; background: #fff; overflow: hidden; }
.product-photo img { width: 100%; height: 82px; display: block; object-fit: contain; }
.product-photo figcaption { background: #162831; color: var(--muted); font-size: .57rem; line-height: 1.2; padding: .28rem .32rem; min-height: 2.1em; }
.product-photo.pending { height: 113px; display: flex; flex-direction: column; justify-content: space-between; align-items: center; background: linear-gradient(145deg, #253945, #172730); color: #9eb2b9; }
.product-photo.pending span { text-align: center; font-size: .78rem; font-weight: 750; line-height: 1.1; margin-top: 1.1rem; }
.badge.evidence { background: #ffffff0d; color: #d6e0e2; }
.badge.availability { background: #f3a34118; color: #ffcf91; }
.spec-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.spec-grid > div { min-width: 0; }
.spec-grid strong { font-size: .78rem; overflow-wrap: anywhere; }
.note { margin-bottom: .65rem; }
.card-bottom { margin-top: .8rem; }
.score { font-size: .72rem; }
@media (max-width: 520px) {
  .card-main { gap: .6rem; }
  .product-photo { width: 78px; flex-basis: 78px; }
  .product-photo img { height: 68px; }
  .spec-grid { grid-template-columns: 1fr; }
}
