.single-product .haystack-product-stories { clear: both; padding-bottom: 80px; }
.haystack-product-stories__heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 30px; }
.haystack-product-stories__heading h2 { margin: 0; }
.haystack-product-stories__controls { display: flex; gap: 10px; }
.haystack-product-stories__controls[hidden] { display: none; }
.haystack-product-stories__controls button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid #111; border-radius: 50%; background: transparent; color: #111; font-size: 24px; cursor: pointer; }
.haystack-product-stories__controls button:disabled { opacity: .3; cursor: default; }
.haystack-product-stories__track.posts-grid { display: flex; flex-wrap: nowrap; gap: 32px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 2px; margin: 0 !important; padding: 2px 2px 20px; }
.haystack-product-stories__track.posts-grid > article { flex: 0 0 calc((100% - 64px) / 3); width: auto; min-width: 0; float: none; padding: 0; margin: 0; scroll-snap-align: start; }
.haystack-product-stories__track .article-image { aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center; margin-bottom: 24px !important; }
.haystack-product-stories__track .article-image a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.haystack-product-stories__track .article-image img { width: 100%; height: 100%; object-fit: contain; }
.haystack-product-stories__track .article-title h2 { font-size: 24px; line-height: 1.35; margin: 0; }
.haystack-product-stories__track .article-text { font-size: 16px; line-height: 1.6; }
.haystack-product-stories :focus-visible { outline: 2px solid #111; outline-offset: 2px; }
@media (max-width: 991px) {
 .haystack-product-stories__track.posts-grid > article { flex-basis: calc((100% - 32px) / 2); }
}
@media (max-width: 600px) {
 .single-product .haystack-product-stories { padding-bottom: 50px; }
 .haystack-product-stories__track.posts-grid { gap: 20px; }
 .haystack-product-stories__track.posts-grid > article { flex-basis: 88%; }
 .haystack-product-stories__track .article-title h2 { font-size: 22px; }
}
