/* Product image carousel and keyboard-accessible thumbnails */
[data-product-gallery] .detail-main { position: relative; }
[data-product-gallery] .detail-main img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gallery-thumbs { display: flex; overflow-x: auto; gap: 10px; margin-top: 12px; padding: 3px 2px 10px; scrollbar-width: thin; }
.gallery-thumb { flex: 0 0 80px; width: 80px; height: 80px; padding: 0; border: 2px solid transparent; border-radius: 14px; overflow: hidden; background: #f7f1ec; cursor: pointer; opacity: .75; }
.gallery-thumb img, .thumbs .gallery-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; border: 0; border-radius: 11px; }
.gallery-thumb.is-active { border-color: var(--brand); opacity: 1; box-shadow: 0 0 0 2px rgba(123, 36, 63, .12); }
.gallery-thumb:focus-visible, .gallery-nav:focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }
.gallery-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; display: grid; place-items: center; height: 43px; width: 43px; border: 0; border-radius: 50%; background: rgba(255,255,255,.9); color: var(--brand); font-size: 32px; cursor: pointer; box-shadow: 0 3px 18px rgba(0,0,0,.13); }
.gallery-prev { right: 12px; }
.gallery-next { left: 12px; }
.gallery-nav:disabled { display: none; }
@media (max-width: 480px) { .gallery-thumb { flex-basis: 65px; height: 65px; width: 65px; } .gallery-nav { height: 36px; width: 36px; font-size: 26px; } }
