/* Product-photo presentation only. No commercial or catalogue state is styled here. */
.lls26-gallery { min-width: 0; position: relative; top: auto; }
.lls26-gallery .lls26-gallery-figure { margin: 0; }
.lls26-gallery .lls26-gallery-stage-link { display: block; width: 100%; height: 100%; }
.lls26-gallery .gallery-main img { width: 100%; height: 100%; }
.lls26-gallery .gallery-main[aria-busy="true"]::after {
  content: "Chargement…"; position: absolute; bottom: 12px; left: 12px;
  padding: 7px 11px; border-radius: 5px; background: var(--surface); color: var(--ink);
  font-size: .78rem; pointer-events: none;
}
.lls26-gallery .lls26-gallery-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 2px 12px; padding-top: 5px; }
.lls26-gallery .gallery-caption { flex: 1 1 130px; margin: 0; font-size: .82rem; line-height: 1.45; color: var(--ink); }
.lls26-gallery .lls26-gallery-counter { color: var(--muted); font-size: .78rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
.lls26-gallery .lls26-gallery-zoom { display: inline-flex; align-items: center; justify-content: flex-end; gap: 5px; min-height: 44px; font-size: .8rem; font-weight: 650; white-space: nowrap; }
.lls26-gallery .lls26-gallery-zoom svg { width: 16px; height: 16px; }
.lls26-gallery .gallery-thumbs { margin-top: 5px; padding: 4px 3px 8px; gap: 9px; scroll-padding-inline: 3px; }
.lls26-gallery .gallery-thumbs button {
  display: flex; flex-direction: column; align-items: stretch; gap: 6px;
  flex: 0 0 96px; min-width: 96px; min-height: 94px; padding: 5px;
  border: 2px solid var(--line); border-radius: 7px; background: var(--surface);
}
.lls26-gallery .gallery-thumbs button[aria-pressed="true"] { border-color: var(--blue); }
.lls26-gallery .gallery-thumbs img { width: 100%; height: 56px; border-radius: 3px; background: var(--sand); }
.lls26-gallery .gallery-thumbs button > span { display: block; font-size: .73rem; line-height: 1.3; text-align: left; color: var(--ink); overflow-wrap: anywhere; }
.lls26-gallery .lls26-gallery-status:not(.is-error) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.lls26-gallery .lls26-gallery-status.is-error { margin-top: 10px; font-size: .85rem; line-height: 1.5; color: var(--ink); }
.lls26-gallery .lls26-gallery-empty { padding: 28px; background: var(--sand); border-radius: 10px; line-height: 1.6; }
@media (min-width: 900px) {
  .lls26-gallery { position: sticky; top: 112px; }
  .lls26-gallery .gallery-thumbs button { flex-basis: 104px; }
}
