/* Both galleries keep independent selections and uncropped photographs. */
.storefront .gallery-product-page .product-detail .detail-image[data-gallery-ready] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    aspect-ratio: auto;
}
.storefront .gallery-product-page .product-detail .detail-image[data-gallery-ready] > .detail-image-zoom {
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    flex: none;
    min-height: 0;
}
.storefront .gallery-product-page .product-detail .detail-image[data-gallery-ready] > .detail-image-zoom img { transition: opacity .2s var(--ease); }
.storefront .gallery-product-page .product-detail .detail-image.is-gallery-changing > .detail-image-zoom img { opacity: .72; }
.storefront .gallery-product-page .product-photo-rail {
    flex: 0 0 auto;
    padding: 12px 14px 10px;
    border-top: 1px solid #e5dccf;
    background: #fcfaf5;
}
.storefront .gallery-product-page .product-photo-rail--details { margin-top: 10px; padding: 0; border: 0; background: transparent; }
.storefront .gallery-product-page .product-photo-thumbnails {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 4px 4px 10px;
    scrollbar-width: thin;
    scrollbar-color: #b59463 #efe7d8;
}
.storefront .gallery-product-page .product-photo-thumbnails button {
    display: block;
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    padding: 5px;
    border: 2px solid #e1d6c3;
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
    transition: border-color .18s var(--ease);
}
.storefront .gallery-product-page .product-photo-thumbnails button:is([aria-pressed="true"], :hover) { border-color: #93672d; box-shadow: none; }
.storefront .gallery-product-page .product-photo-thumbnails button:focus-visible { outline: 2px solid #93672d; outline-offset: 2px; }
.storefront .gallery-product-page .product-photo-thumbnails img { width: 100%; height: 100%; padding: 0; object-fit: contain; }
.storefront .gallery-product-page .product-photo-status { margin: 0; color: #755d44; font-family: var(--sans); font-size: .75rem; line-height: 1.6; letter-spacing: .015em; text-wrap: pretty; }
@media (max-width: 600px) {
    .storefront .gallery-product-page .product-photo-rail { padding: 9px 10px 10px; }
    .storefront .gallery-product-page .product-photo-rail--details { padding: 0; }
    .storefront .gallery-product-page .product-photo-thumbnails { gap: 8px; }
    .storefront .gallery-product-page .product-photo-thumbnails button { width: 62px; height: 62px; flex-basis: 62px; }
}
@media (max-height: 800px) {
    .storefront .gallery-product-page .product-notes-visual:has(.product-photo-rail--details) { position: static; }
}
@media (prefers-reduced-motion: reduce) {
    .storefront .gallery-product-page .product-detail .detail-image[data-gallery-ready] img,
    .storefront .gallery-product-page .product-photo-thumbnails button { transition: none !important; }
}
