.product-art:has(.book-gallery){padding:30px 20px;min-width:0;align-self:start}
.book-gallery{width:100%;min-width:0;margin:18px auto 25px}
.book-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;outline-offset:4px;cursor:grab}
.book-gallery-track::-webkit-scrollbar{display:none}
.book-gallery-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always;user-select:none}
.product-art .book-gallery-slide img{display:block;width:100%;height:auto;aspect-ratio:1;max-height:none;object-fit:contain;margin:0;box-shadow:none;background:white}
.book-gallery-slide figcaption{font-size:12px;line-height:1.5;margin:12px 0 0;color:var(--muted)}
.book-gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0}
.book-gallery-controls button{min-width:78px;min-height:44px;padding:9px 10px;border:1px solid var(--line);border-radius:3px;background:var(--paper);font-size:12px;line-height:1}
.book-gallery-controls button:hover{background:#fff;border-color:var(--ink)}
.book-gallery-status{font-size:11px;color:var(--muted)}
.book-gallery-thumbs{display:grid;grid-template-columns:repeat(var(--photo-count,5),minmax(0,1fr));gap:8px}
.book-gallery-thumbs button{padding:3px;background:white;border:1px solid transparent;border-radius:2px;aspect-ratio:1;overflow:hidden}
.book-gallery-thumbs button[aria-pressed=true]{border:2px solid var(--ink);padding:2px}
.product-art .book-gallery-thumbs img{width:100%;height:100%;object-fit:contain;max-height:none;margin:0;box-shadow:none;pointer-events:none}
.book-gallery button:focus-visible,.book-gallery-track:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.book-gallery-hint{font-size:11px;line-height:1.5;color:var(--muted);margin:12px 0 0}
.book-gallery-track.is-dragging{cursor:grabbing;scroll-snap-type:none}
@media(max-width:760px){.product-art:has(.book-gallery){max-width:100%;padding:22px 16px}.book-gallery-thumbs{gap:6px}.book-gallery-status{font-size:10px}}

.book-gallery-intro{margin:0 0 12px;text-align:left}.book-gallery-intro strong{display:block;font-size:16px;font-weight:600;color:var(--ink)}.book-gallery-intro span{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:5px}.book-gallery-status{text-align:center;font-size:12px;white-space:nowrap}.book-gallery-controls{margin:0 0 16px}.book-gallery-controls button:disabled{opacity:.4;cursor:default}.catalogue-art{flex-direction:column;gap:16px}.catalogue-gallery-label{display:inline-flex;align-items:center;gap:25px;font-size:13px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:5px;color:var(--ink)}

.catalogue-gallery{min-width:0;background:var(--paper);padding:0 0 20px}
.catalogue-gallery .book-gallery{margin:0 0 18px}
.catalogue-gallery .book-gallery-slide img{display:block;width:100%;height:auto;aspect-ratio:1;max-height:none;object-fit:contain;margin:0;box-shadow:none;background:transparent}
.catalogue-gallery .book-gallery-thumbs img{display:block;width:100%;height:100%;object-fit:contain;margin:0;box-shadow:none;pointer-events:none}
.catalogue-gallery img[src$="Image-01.jpg"]{mix-blend-mode:multiply}
.catalogue-gallery .book-gallery-intro{margin-top:0}

/* The catalogue cards share thumbnail sizes even when the galleries have different counts. */
.catalogue-gallery .book-gallery-thumbs {
  grid-template-columns: repeat(max(6, var(--photo-count, 5)), minmax(0, 1fr));
}

/* Sixteen photos stay accessible in a scrolling thumbnail rail. */
.book-gallery--expanded .book-gallery-thumbs{position:relative;display:flex;gap:8px;overflow-x:auto;padding:3px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:thin}
.book-gallery--expanded .book-gallery-thumbs button{flex:0 0 56px;width:56px;height:64px;scroll-snap-align:start}
.book-gallery--expanded .book-gallery-slide img{object-fit:contain}
.book-gallery--expanded .book-gallery-slide figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;min-height:36px}
.gallery-full-size{font-size:11px;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.catalogue-grid .book-gallery-slide figcaption{min-height:36px}
.catalogue-grid .book-gallery-thumbs{min-height:75px;align-content:start;align-items:start}
.catalogue-grid .book-gallery-thumbs button{height:64px}
.catalogue-grid .book-gallery-hint{min-height:34px}
@media(max-width:760px){.book-gallery--expanded .book-gallery-thumbs button{flex-basis:52px;width:52px;height:60px}}
