/* Optional LMTLS motion layer. Content is never hidden awaiting an animation. */
html.lmtls-motion { scrollbar-width: none; }
html.lmtls-motion::-webkit-scrollbar { width: 0; height: 0; }
.lmtls-motion-parallax { will-change: transform; }
.lmtls-motion-route { position: relative; }
.lmtls-motion-route-overlay { position: absolute; inset: 0; pointer-events: none; }
.lmtls-motion-route-marker { pointer-events: none; }

.lmtls-motion-gallery {
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-snap-type: none;
  scroll-behavior: auto;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
  outline-offset: -4px;
}
.lmtls-motion-gallery::-webkit-scrollbar { display: none; width: 0; height: 0; }
.lmtls-motion-gallery:focus-visible { outline: 1px solid currentColor; }
.lmtls-motion-gallery .draggable-marquee__collection { will-change: auto; }
.lmtls-motion-gallery-copy[hidden] { display: none; }
.lmtls-motion-gallery img { -webkit-user-drag: none; user-select: none; }
.lmtls-motion-gallery.lmtls-motion-dragging { cursor: grabbing; user-select: none; }
.lmtls-motion-gallery-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  width: 100%;
  padding-top: 12px;
  color: inherit;
  opacity: .35;
  transition: opacity .35s cubic-bezier(.16, 1, .3, 1);
}
.lmtls-motion-gallery-controls[hidden] { display: none; }
.lmtls-motion-gallery:hover + .lmtls-motion-gallery-controls,
.lmtls-motion-gallery:focus-within + .lmtls-motion-gallery-controls,
.lmtls-motion-gallery-controls:hover,
.lmtls-motion-gallery-controls:focus-within { opacity: .9; }
.lmtls-motion-control {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  cursor: pointer;
  transition: border-color .3s, background-color .3s;
}
.lmtls-motion-control:hover { border-color: currentColor; }
.lmtls-motion-control:focus-visible { outline: 1px solid currentColor; outline-offset: 2px; }
.lmtls-motion-control svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.lmtls-motion-control[hidden] { display: none; }

@media (hover: hover) and (pointer: fine) {
  .lmtls-motion-gallery { cursor: grab; }
  .lmtls-motion-gallery-controls { opacity: .12; }
}
@media (prefers-reduced-motion: reduce) {
  .lmtls-motion-parallax { will-change: auto; transform: none !important; }
  .lmtls-motion-route-marker { visibility: hidden; }
  .lmtls-motion-gallery-controls, .lmtls-motion-control { transition: none; }
  .lmtls-motion-gallery-copy, .lmtls-motion-pause { display: none; }
}
