/* Keep MORA's complete image collection in one native scrolling row. */
[data-mora-gallery-carousel] { --mora-gallery-slots: 3; --mora-gallery-gap: 18px; }
.mora-gallery__navigation {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  grid-template-areas: "previous track next";
  align-items: center;
  gap: 12px;
}
[data-mora-gallery-track] {
  grid-area: track;
  position: relative;
  display: grid;
  grid-template-columns: none;
  grid-template-rows: 1fr;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--mora-gallery-slots) - 1) * var(--mora-gallery-gap)) / var(--mora-gallery-slots));
  gap: var(--mora-gallery-gap);
  min-width: 0;
  height: 246px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y pinch-zoom;
  scrollbar-width: none;
}
[data-mora-gallery-track]::-webkit-scrollbar { display: none; }
[data-mora-gallery-track]:focus-visible { outline: 1px solid var(--muted); outline-offset: 3px; }
[data-mora-gallery-track] .gallery-thumb {
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: 8px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
[data-mora-gallery-track] .gallery-thumb:hover { background: transparent; }
[data-mora-gallery-track] .gallery-thumb:focus-visible {
  outline: 1px solid var(--muted);
  outline-offset: -2px;
}
.mora-gallery__arrow {
  width: 44px;
  height: 44px;
  padding: 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--muted);
}
.mora-gallery__arrow:hover:not(:disabled) { color: var(--text); background: transparent; }
.mora-gallery__arrow:focus-visible { outline: 1px solid var(--muted); outline-offset: 2px; }
.mora-gallery__arrow:disabled { opacity: .25; cursor: default; }
[data-mora-gallery-previous] { grid-area: previous; }
[data-mora-gallery-next] { grid-area: next; }
@media (max-width: 1000px) {
  [data-mora-gallery-carousel] { --mora-gallery-slots: 2; }
}
@media (max-width: 650px) {
  [data-mora-gallery-carousel] { --mora-gallery-slots: 1; --mora-gallery-gap: 12px; }
  [data-mora-gallery-track] { height: 176px; }
  .mora-gallery__navigation {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "track track" "previous next";
    gap: 8px;
  }
  [data-mora-gallery-previous] { justify-self: end; }
  [data-mora-gallery-next] { justify-self: start; }
}
