/* Mobile project gallery */
@media (max-width: 767px) {
  .garden-lightbox { padding: 0; }
  .garden-lightbox-dialog { height: 100dvh; max-height: none; width: 100%; }
  .garden-lightbox-header {
    min-height: 74px;
    padding: calc(10px + env(safe-area-inset-top)) 14px 10px 18px;
  }
  .garden-lightbox-heading p {
    font-size: .54rem; letter-spacing: .12em; margin-bottom: 3px;
  }
  .garden-lightbox-heading h2 { font-size: clamp(1.65rem, 8vw, 2rem); }
  .garden-lightbox-close { min-height: 44px; min-width: 44px; padding: 2px; }
  .garden-lightbox-close i { height: 42px; width: 42px; }
  .garden-lightbox-close i::before,
  .garden-lightbox-close i::after { left: 12px; top: 20px; }
  .garden-lightbox-body { grid-template-rows: minmax(0, 1fr) auto; }
  .garden-lightbox-stage {
    grid-template-columns: 42px minmax(0, 1fr) 42px; padding: 14px 0 9px;
  }
  .garden-lightbox-stage figure { min-width: 0; }
  .garden-lightbox-stage figure > img {
    height: calc(100% - 34px); max-height: 100%;
  }
  .garden-lightbox-stage figcaption {
    font-size: .54rem; letter-spacing: .12em; margin-top: 10px;
    max-width: 100%; padding: 0 5px;
  }
  .garden-lightbox-nav { font-size: 1.35rem; min-width: 42px; }
  .garden-lightbox-aside {
    max-height: 190px; padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
  }
  .garden-lightbox-aside > p:first-child {
    display: -webkit-box; font-size: .72rem; -webkit-line-clamp: 2;
    line-height: 1.55; margin: 0 2px 10px; overflow: hidden;
    -webkit-box-orient: vertical;
  }
  .garden-lightbox-thumbs { gap: 7px; }
  .garden-lightbox-thumb { flex: 0 0 66px; min-height: 82px; }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .garden-rail { scroll-behavior: auto; }
}
