/* Photo scrolling is contained inside the existing Page block. */
.tap-photo-wall { width:100%; max-width:1160px; min-width:0; margin:clamp(48px,6vw,88px) auto; }
.tap-photo-wall__track { display:flex; gap:16px; width:100%; max-width:100%; min-width:0; overflow-x:auto; padding:0 0 14px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#ef9b21 transparent; }
.tap-photo-wall .tap-photo-wall__item { flex:0 0 calc((100% - 48px)/4); min-width:0; margin:0; background:none; border-radius:0 0 0 20px; overflow:hidden; scroll-snap-align:start; }
.tap-photo-wall .tap-photo-wall__item img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; transform:none; }
.editorial-standard .wp-block-gallery > figure.wp-block-image:has(> figcaption) > img { border-radius:clamp(28px,4vw,58px) 0 0 0; }
.tap-photo-wall__controls { display:flex; justify-content:flex-end; gap:12px; margin-top:16px; }
.tap-photo-wall__controls button { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid #aa6715; border-radius:999px; color:#17130d; background:white; font:inherit; cursor:pointer; transition:background-color .2s,opacity .2s; }
.tap-photo-wall__controls button:hover:not(:disabled) { background:#fff2df; }
.tap-photo-wall__controls button:disabled { opacity:.3; cursor:default; }
.tap-photo-wall__track:focus-visible,.tap-photo-wall__controls button:focus-visible { outline:2px solid #aa6715; outline-offset:3px; }
@media(max-width:1024px) { .tap-photo-wall .tap-photo-wall__item { flex-basis:calc((100% - 32px)/3); } }
@media(max-width:768px) { .tap-photo-wall__track { gap:12px; } .tap-photo-wall .tap-photo-wall__item { flex-basis:65%; border-bottom-left-radius:16px; } }
@media(prefers-reduced-motion:reduce) { .tap-photo-wall__controls button { transition:none; } }

/* Gutenberg-powered, finite photo roll for accumulated Tap Room moments. */
.aim-moments-section {
  position:relative;
  left:50%;
  width:100vw;
  max-width:100vw;
  margin:clamp(88px,11vw,150px) 0 clamp(78px,10vw,132px);
  transform:translateX(-50%);
  color:var(--aim26-ink,#170e00);
}
.aim-moments-section__intro {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);
  gap:18px clamp(34px,7vw,100px);
  align-items:end;
  width:min(100%,1160px);
  margin:0 auto clamp(24px,3vw,40px);
  padding-inline:var(--aim26-gutter,clamp(20px,4vw,58px));
}
.aim-moments-section__heading { grid-column:1; }
.aim-moments-section__heading .aim26-eyebrow { margin:0 0 14px; color:var(--aim26-brew,#f9992c); }
.aim-moments-section__heading h2 { margin:0; font-size:clamp(30px,4vw,54px); font-weight:600; line-height:1.4; letter-spacing:.015em; word-break:keep-all; line-break:strict; }
.aim-moments-section__copy { grid-column:2; grid-row:1 / span 2; margin:0; color:var(--aim26-muted,#675f55); font-size:clamp(14px,1.1vw,16px); line-height:2; }
.aim-moments-section__count { grid-column:1; margin:0; color:var(--aim26-muted,#675f55); font:500 11px/1.4 var(--aim26-en,'Avenir Next',sans-serif); letter-spacing:.1em; }
.aim-moments-section__viewport { width:100%; }
.aim-moments-section .aim-moments.wp-block-gallery {
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-start;
  gap:clamp(24px,2vw,32px);
  width:100%;
  max-width:none;
  margin:0;
  padding:0 var(--aim26-gutter,clamp(20px,4vw,58px)) 12px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scroll-behavior:auto;
  scrollbar-width:none;
  touch-action:pan-x pan-y;
  cursor:grab;
}
.aim-moments-section .aim-moments.wp-block-gallery::-webkit-scrollbar { display:none; }
.aim-moments-section .aim-moments.wp-block-gallery:active { cursor:grabbing; }
.aim-moments-section .aim-moments.wp-block-gallery:focus-visible { outline:2px solid var(--aim26-brew,#f9992c); outline-offset:4px; }
.aim-moments-section .aim-moments .wp-block-image {
  /* WordPress core gives nested Gallery figures display:flex, which can stretch
     the image box to its full intrinsic width even when its height is capped. */
  display:block !important;
  flex:0 0 auto !important;
  width:auto !important;
  max-width:none !important;
  height:auto;
  margin:0 !important;
}
.aim-moments-section .aim-moments .wp-block-image > img {
  display:block;
  width:auto !important;
  max-width:none !important;
  height:clamp(200px,20vw,290px) !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  border-radius:0;
  user-select:none;
  -webkit-user-drag:none;
}
.aim-moments-section .aim-moments .wp-block-image:nth-child(5n+2) > img { height:clamp(220px,24vw,340px) !important; }
.aim-moments-section .aim-moments .wp-block-image:nth-child(5n+4) > img { height:clamp(180px,16vw,230px) !important; }
.aim-moments-section .aim-moments .wp-block-image figcaption { max-width:32ch; margin:8px 0 0; font-size:11px; line-height:1.6; }
@media(max-width:768px) {
  .aim-moments-section { margin-block:76px 88px; }
  .aim-moments-section__intro { grid-template-columns:minmax(0,1fr); gap:18px; margin-bottom:28px; }
  .aim-moments-section__heading,.aim-moments-section__copy,.aim-moments-section__count { grid-column:1; grid-row:auto; }
  .aim-moments-section__heading h2 { font-size:clamp(28px,7vw,38px); }
  .aim-moments-section__copy { font-size:14px; }
  .aim-moments-section .aim-moments.wp-block-gallery { gap:clamp(16px,4vw,20px); padding-inline:20px; }
  .aim-moments-section .aim-moments .wp-block-image > img { height:clamp(165px,50vw,220px) !important; }
  .aim-moments-section .aim-moments .wp-block-image:nth-child(5n+2) > img { height:clamp(190px,55vw,240px) !important; }
  .aim-moments-section .aim-moments .wp-block-image:nth-child(5n+4) > img { height:clamp(150px,44vw,190px) !important; }
}
@media(prefers-reduced-motion:reduce) {
  .aim-moments-section .aim-moments.wp-block-gallery { scroll-behavior:auto; }
}
