/* classic product image (the shared classic gallery Noir uses too): a bordered square with a wishlist heart (29 Oct 2026) */
.tt-gallery { position: relative; display: grid; gap: 12px; }
.tt-gallery__slides { box-sizing: border-box; display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0; padding: 0; list-style: none; background: #F5F6F8; border: 1px solid #E6E8EC; border-radius: 6px; }
.tt-gallery__slides::-webkit-scrollbar { display: none; }
.tt-gallery__slide { scroll-snap-align: start; aspect-ratio: 1; overflow: hidden; }
.tt-gallery__image, .tt-gallery__slide img, .tt-gallery__slide svg, .tt-gallery__video, .tt-gallery__slide iframe { display: block; width: 100%; height: 100%; object-fit: cover; border: 0; }
.tt-gallery__fav { position: absolute; top: 14px; right: 14px; z-index: 2; display: inline-flex; justify-content: center; align-items: center; width: 42px; height: 42px; background: rgba(255,255,255,0.94); border-radius: 999px; color: #0a0a0a; box-shadow: 0 2px 8px rgba(0,0,0,0.14); }
.tt-gallery__fav-icon { width: 20px; height: 20px; stroke-width: 2; }
.tt-gallery__thumbs { display: flex; gap: 8px; overflow-x: auto; margin: 0; padding: 0; list-style: none; }
.tt-gallery__thumb { display: block; width: 64px; aspect-ratio: 1; border: 1px solid #E6E8EC; border-radius: 6px; overflow: hidden; }
.tt-gallery__thumb img, .tt-gallery__thumb svg { width: 100%; height: 100%; object-fit: cover; }
.tt-gallery__thumb[aria-current="true"] { border-color: #0A1628; }
@media (min-width: 1025px) {
  .tt-gallery--thumbs-left { grid-template-columns: 72px minmax(0, 1fr); }
  .tt-gallery--thumbs-left .tt-gallery__thumbs { order: -1; flex-direction: column; }
}
