/* ==========================================================================
   Products, reviews, comparison tables, affiliate blocks
   ========================================================================== */

.hp-review-card { display: flex; flex-direction: column; gap: var(--hp-space-2xs); border: var(--hp-rule); border-radius: var(--hp-radius-md); padding: var(--hp-space-sm); height: 100%; background-color: var(--hp-color-surface); }
.hp-review-card__media { aspect-ratio: 4 / 3; background-color: var(--hp-color-canvas); border-radius: var(--hp-radius-sm); overflow: hidden; }
.hp-review-card__media img { width: 100%; height: 100%; object-fit: contain; padding: var(--hp-space-2xs); }
.hp-review-card__actions { display: flex; gap: var(--hp-space-2xs); margin-top: auto; padding-top: var(--hp-space-2xs); flex-wrap: wrap; }
.hp-review-card__actions .hp-btn { flex: 1 1 130px; }

.hp-rating { display: inline-flex; align-items: center; gap: 0.4rem; font-size: var(--hp-text-sm); font-weight: 700; }
.hp-rating__score { font-family: var(--hp-font-display); font-size: var(--hp-text-lg); color: var(--hp-color-primary-dark); line-height: 1; }
.hp-rating__scale { font-weight: 500; color: var(--hp-color-text-muted); font-size: var(--hp-text-xs); }
.hp-rating__stars { color: var(--hp-color-signal); letter-spacing: 1px; }

.hp-proscons { display: grid; gap: var(--hp-space-md); margin-block: var(--hp-space-md); }
@media (min-width: 640px) { .hp-proscons { grid-template-columns: 1fr 1fr; } }
.hp-proscons__col { padding: var(--hp-space-sm) var(--hp-space-md); border-radius: var(--hp-radius-md); background-color: var(--hp-color-canvas); }
.hp-proscons__col h3 { font-size: var(--hp-text-sm); font-family: var(--hp-font-body); font-weight: 700; margin-bottom: var(--hp-space-2xs); }
.hp-proscons__col ul { margin: 0; padding-left: 1.1rem; display: grid; gap: var(--hp-space-3xs); font-size: var(--hp-text-sm); }
.hp-proscons__col--pro { border-left: 3px solid var(--hp-color-success); }
.hp-proscons__col--con { border-left: 3px solid var(--hp-color-accent); }

.hp-editors-pick {
	margin-block: var(--hp-space-lg);
	border: 2px solid var(--hp-color-primary-dark);
	border-radius: var(--hp-radius-md);
	overflow: hidden;
}
.hp-editors-pick__label {
	background-color: var(--hp-color-primary-dark);
	color: var(--hp-color-text-invert);
	padding: 0.4rem var(--hp-space-md);
	font-size: var(--hp-text-2xs);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.hp-editors-pick__body { display: grid; gap: var(--hp-space-md); padding: var(--hp-space-md); }
@media (min-width: 640px) { .hp-editors-pick__body { grid-template-columns: 180px 1fr; } }
.hp-editors-pick__media { background-color: var(--hp-color-canvas); border-radius: var(--hp-radius-sm); aspect-ratio: 1 / 1; }
.hp-editors-pick__media img { width: 100%; height: 100%; object-fit: contain; padding: var(--hp-space-2xs); }
.hp-editors-pick__price { font-family: var(--hp-font-display); font-size: var(--hp-text-lg); }

.hp-compare th:first-child,
.hp-compare td:first-child { position: sticky; left: 0; background-color: var(--hp-color-surface); font-weight: 650; }
.hp-compare thead th:first-child { background-color: var(--hp-color-canvas); }

.hp-quickfacts { display: grid; gap: 0; margin-block: var(--hp-space-md); border: var(--hp-rule); border-radius: var(--hp-radius-md); overflow: hidden; }
.hp-quickfacts__row { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--hp-space-2xs) var(--hp-space-sm); border-bottom: var(--hp-rule); font-size: var(--hp-text-sm); }
.hp-quickfacts__row:last-child { border-bottom: 0; }
.hp-quickfacts__row dt { font-weight: 700; color: var(--hp-color-text-muted); font-size: var(--hp-text-xs); }
@media (min-width: 640px) { .hp-quickfacts__row { grid-template-columns: 220px 1fr; gap: var(--hp-space-sm); } .hp-quickfacts__row dt { font-size: var(--hp-text-sm); } }
