/* heartstream_custom.css - HeartStream re-skin (Tier 1). Loaded after swift.css and the Style assets.
   Brand tokens: red #BA0220, graphite #30373D, navy #00061F, light blue-grey #E7EEF4. */
:root {
    --hs-red: #BA0220;
    --hs-red-dark: #820116;
    --hs-graphite: #30373D;
    --hs-navy: #00061F;
    --hs-mist: #E7EEF4;
}
/* Header brand bar: thin red top line, white bar */
body > header, [data-swift-page-header] { border-top: 4px solid var(--hs-red); }
/* Links in body copy pick up the brand red */
main a:not([data-dw-button]):not(.btn):not(.nav-link):not(.dropdown-item) { color: var(--hs-red); }
/* Product cards: cut-out product shots sit on white with contain, never cropped */
[data-swift-product-list] img, .product-list img, [data-swift-product-card] img { object-fit: contain; background: #fff; }
/* Category grid cards: soft radius, consistent height, gentle scrim for legibility */
[data-swift-product-group-grid] .card, [data-swift-productgroup] .card { border-radius: .75rem; overflow: hidden; }
/* Poster hero: darken the photo so white copy stays legible (uses the scheme rgb token) */
[data-swift-poster] .position-absolute.w-100.h-100::after,
[data-swift-poster] img { filter: brightness(.72); }
/* Feature icons in brand red */
[data-swift-feature] svg, .feature-icon svg { color: var(--hs-red); fill: var(--hs-red); }
/* Stats band numbers */
.dw-h3 { font-weight: 600; letter-spacing: -0.02em; }
/* Price emphasis in graphite, sale/partner price in red */
[data-swift-price] .price, .product-price { color: var(--hs-graphite); font-weight: 600; }
/* Footer: navy ground when the dark scheme is used */
body > footer, [data-swift-page-footer] { background: var(--hs-navy); }
/* Accordion: red chevrons, tighter rhythm */
.accordion-button:not(.collapsed) { color: var(--hs-red); }
/* Focus ring in brand colour for keyboard users */
:focus-visible { outline: 2px solid var(--hs-red); outline-offset: 2px; }

/* --- Category grid: cap image to its column (stock card img has no max-width and stretched the canvas) --- */
.item_swift-v2_productgroupgrid .card { border-radius: .75rem; overflow: hidden; }
.item_swift-v2_productgroupgrid .card img { width: 100%; height: auto; max-width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.item_swift-v2_productgroupgrid .card .btn { border-radius: .5rem; }
/* Any image inside a grid column stays inside it */
[data-swift-gridcolumn] img { max-width: 100%; }
