/* Image-only repairs on the approved design. No new palette or page-layout system. */
.product-stage > .responsive-photo > img { object-fit: contain; }
.product-card-visual .responsive-photo img { object-fit: contain; }
.product-story > .responsive-photo, .editorial > .responsive-photo { background: var(--mist); }
.product-story > .responsive-photo img, .editorial > .responsive-photo img { object-fit: contain; }
.guide-cover { height: auto; max-height: none; object-fit: contain; }
.journal-card-visual .responsive-photo img { object-fit: contain; }
.bundle-detail-media { position: sticky; top: 112px; padding: 26px; min-width: 0; border-radius: 6px; background: var(--mist); }
.bundle-detail-media > .eyebrow { margin-bottom: 12px; }
.bundle-detail-media > .bundle-visual { width: 100%; min-width: 0; }
.bundle-detail-media > .gallery-note { margin-top: 12px; }
.pack-visual-caption { padding: 8px 18px; font-size: 12px; line-height: 1.6; color: var(--slate); text-align: center; background: var(--mist); }
.offer-thumbnail-pack { flex-direction: column; gap: 3px; }
.offer-thumbnail-pack > img { width: 100%; height: auto; min-height: 0; object-fit: contain; }
.offer-count { font-size: 10px; line-height: 1.2; text-align: center; color: var(--ink); }
.brand-stars .filled-star, .hero .brand-stars .filled-star { fill: currentColor; stroke: currentColor; }
.review-emblem .icon { fill: var(--gold); stroke: var(--gold); }
@media(max-width:760px){
 .hero > .responsive-photo > img { object-position: 50% 50%; }
 .bundle-detail-media { position: static; top: auto; padding: 18px; }
}
@media(max-width:600px){
 .product-stage > .responsive-photo > img { object-fit: contain; }
 .product-story > .responsive-photo img, .editorial > .responsive-photo img { object-fit: contain; }
 .bundle-detail-media { padding: 16px; }
}
