/* One labeled section per album */
#album-gallery .album-group { margin-top:32px; }
#album-gallery .album-group:first-child { margin-top:24px; }
#album-gallery .album-group__title {
  font-size:1.25rem; font-weight:700; color:#1e293b; margin:0 0 4px;
  padding-left:4px; border-left:4px solid var(--color-accent-400,#38bdf8); padding-left:12px;
}

/* Auto-sliding photo carousel */
#album-gallery .album-carousel { position:relative; margin-top:16px; }
#album-gallery .album-carousel__track {
  display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch; scrollbar-width:none; padding:4px 4px 8px;
}
#album-gallery .album-carousel__track::-webkit-scrollbar { display:none; }
#album-gallery .album-carousel__slide {
  flex:0 0 auto; width:min(340px,82vw); scroll-snap-align:start;
  border:0; padding:0; background:none; cursor:pointer;
}
#album-gallery .album-carousel__slide img {
  width:100%; height:240px; object-fit:cover; border-radius:16px; display:block;
  box-shadow:0 8px 24px rgba(15,23,42,.10); transition:transform .2s ease;
}
#album-gallery .album-carousel__slide:hover img { transform:translateY(-3px); }
#album-gallery .album-carousel__nav {
  position:absolute; top:calc(50% - 4px); transform:translateY(-50%);
  width:46px; height:46px; border-radius:50%; border:0; background:#fff; color:#1e293b;
  box-shadow:0 4px 16px rgba(15,23,42,.18); cursor:pointer; font-size:24px; line-height:1;
  display:flex; align-items:center; justify-content:center; z-index:2;
}
#album-gallery .album-carousel__nav:hover { background:#f1f5f9; }
#album-gallery .album-carousel__prev { left:-10px; }
#album-gallery .album-carousel__next { right:-10px; }

/* Namespaced lightbox (avoids clashing with the existing .lightbox in sections.css) */
.album-lightbox { position:fixed; inset:0; background:rgba(0,0,0,.9); display:flex; align-items:center; justify-content:center; z-index:9999; }
.album-lightbox__img { max-width:92vw; max-height:80vh; border-radius:8px; }
.album-lightbox__cap { position:absolute; bottom:24px; left:0; right:0; text-align:center; color:#fff; padding:0 16px; }
.album-lightbox__nav, .album-lightbox__close { position:absolute; background:rgba(255,255,255,.15); color:#fff; border:0; line-height:1; cursor:pointer; }
.album-lightbox__nav { font-size:32px; width:48px; height:48px; border-radius:50%; top:50%; transform:translateY(-50%); }
.album-lightbox__prev { left:16px; }
.album-lightbox__next { right:16px; }
.album-lightbox__close { top:16px; right:16px; font-size:28px; width:44px; height:44px; border-radius:50%; }
@media (max-width:640px){
  #album-gallery .album-carousel__slide img { height:200px; }
  #album-gallery .album-carousel__nav { display:none; }
  .album-lightbox__nav { width:40px; height:40px; font-size:26px; }
}
