/* Noland's Dusty Boots Pumpkin Patch: photo gallery ([ndb_gallery] shortcode)
   Built by Method Note. Uses the tokens from ndb-theme.css. */

/* ---------- masonry grid ---------- */
body.ndb .ndb-gal{columns:3 250px;column-gap:16px;width:100%;}
body.ndb .ndb-gal__item{break-inside:avoid;margin:0 0 16px;position:relative;}

body.ndb .ndb-gal .ndb-gal__open{
  display:block;position:relative;width:100%;margin:0;padding:0;overflow:hidden;line-height:0;
  aspect-ratio:var(--ar);background:var(--ndb-cream-2);color:inherit;font:inherit;text-transform:none;
  border:3px solid var(--ndb-line-2);border-radius:3px;cursor:zoom-in;box-shadow:none;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
body.ndb .ndb-gal .ndb-gal__open:hover,
body.ndb .ndb-gal .ndb-gal__open:focus{background:var(--ndb-cream-2);color:inherit;}
body.ndb .ndb-gal .ndb-gal__open:hover{
  transform:translate(-2px,-2px);border-color:var(--ndb-ink);box-shadow:5px 5px 0 rgba(42,33,27,.2);
}
body.ndb .ndb-gal .ndb-gal__open:focus-visible{outline:3px solid var(--ndb-orange);outline-offset:3px;}

body.ndb .ndb-gal__img{display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:0;}
body.ndb .ndb-gal__clip{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;
  transition:opacity .25s ease;
}
body.ndb .ndb-gal__item.is-playing .ndb-gal__clip{opacity:1;}

/* JS row-wise masonry (replaces the CSS-columns fallback) */
body.ndb .ndb-gal.is-masonry{columns:auto;display:flex;align-items:flex-start;gap:16px;}
body.ndb .ndb-gal.is-masonry .ndb-gal__col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:16px;}
body.ndb .ndb-gal.is-masonry .ndb-gal__item{margin:0;}

/* Live Photo tag: marks photos that move */
body.ndb .ndb-gal__live{
  position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:6px;
  font-family:var(--ndb-mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  line-height:1;color:var(--ndb-ink);background:var(--ndb-paper);border:1.5px solid var(--ndb-ink);
  padding:5px 7px 4px;border-radius:2px;
}
body.ndb .ndb-gal__live::before{
  content:"";display:block;width:7px;height:7px;background:var(--ndb-orange);border:1.5px solid var(--ndb-ink);
}
body.ndb .ndb-gal__item.is-playing .ndb-gal__live::before{animation:ndbGalBlink 1s steps(2,start) infinite;}
@keyframes ndbGalBlink{to{background:var(--ndb-gold);}}

/* legend line above the grid */
body.ndb .ndb-gal-legend .ndb-gal__live{position:static;vertical-align:middle;margin:0 4px;}

@media (max-width:640px){
  body.ndb .ndb-gal{columns:2;column-gap:10px;}
  body.ndb .ndb-gal__item{margin-bottom:10px;}
  body.ndb .ndb-gal.is-masonry,
  body.ndb .ndb-gal.is-masonry .ndb-gal__col{gap:10px;}
  body.ndb .ndb-gal .ndb-gal__open{border-width:2px;}
  body.ndb .ndb-gal__live{left:6px;bottom:6px;font-size:9px;gap:5px;padding:4px 5px 3px;}
}

/* ---------- lightbox ---------- */
body.ndb .ndb-lb{
  position:fixed;inset:0;z-index:100000;display:none;grid-template-rows:minmax(0,1fr) auto;
  background:rgba(22,16,11,.95);color:var(--ndb-paper);
}
body.ndb .ndb-lb.is-open{display:grid;}
body.ndb .ndb-lb__stage{
  position:relative;display:flex;align-items:center;justify-content:center;min-height:0;
  padding:60px 76px 8px;
}
body.ndb .ndb-lb__media{
  display:block;max-width:100%;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);
  width:auto;height:auto;object-fit:contain;background:#14100b;
  border:3px solid var(--ndb-paper);border-radius:3px;box-shadow:8px 8px 0 rgba(0,0,0,.45);
}
body.ndb .ndb-lb__media[hidden]{display:none;}
body.ndb .ndb-lb__bar{
  display:flex;align-items:center;justify-content:center;gap:18px;min-height:64px;padding:10px 16px 18px;
  font-family:var(--ndb-mono);font-size:13px;letter-spacing:.1em;
}
body.ndb .ndb-lb__count{color:var(--ndb-sand);}

body.ndb .ndb-lb .ndb-lb__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0;cursor:pointer;
  font-family:var(--ndb-mono);font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1;
  border-radius:2px;box-shadow:none;
}
body.ndb .ndb-lb .ndb-lb__btn svg{width:22px;height:22px;display:block;}
body.ndb .ndb-lb .ndb-lb__icon{
  position:absolute;width:46px;height:46px;padding:0;color:var(--ndb-paper);
  background:rgba(42,33,27,.85);border:2px solid var(--ndb-paper);
}
body.ndb .ndb-lb .ndb-lb__icon:hover,
body.ndb .ndb-lb .ndb-lb__icon:focus{background:var(--ndb-orange);color:var(--ndb-paper);}
body.ndb .ndb-lb .ndb-lb__close{top:12px;right:12px;}
body.ndb .ndb-lb .ndb-lb__prev{left:14px;top:50%;transform:translateY(-50%);}
body.ndb .ndb-lb .ndb-lb__next{right:14px;top:50%;transform:translateY(-50%);}
body.ndb .ndb-lb .ndb-lb__play{
  font-size:12px;padding:10px 16px;color:var(--ndb-paper);background:var(--ndb-orange);
  border:2px solid var(--ndb-paper);box-shadow:3px 3px 0 rgba(0,0,0,.4);
}
body.ndb .ndb-lb .ndb-lb__play:hover,
body.ndb .ndb-lb .ndb-lb__play:focus{background:#b95a16;color:var(--ndb-paper);}
body.ndb .ndb-lb .ndb-lb__play[hidden]{display:none;}
body.ndb .ndb-lb .ndb-lb__play svg{width:12px;height:12px;}
body.ndb .ndb-lb .ndb-lb__btn:focus-visible{outline:3px solid var(--ndb-gold);outline-offset:2px;}

@media (max-width:640px){
  body.ndb .ndb-lb__stage{padding:58px 8px 4px;}
  body.ndb .ndb-lb__media{border-width:2px;box-shadow:none;max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px);}
  body.ndb .ndb-lb .ndb-lb__icon{width:40px;height:40px;}
  body.ndb .ndb-lb .ndb-lb__prev,
  body.ndb .ndb-lb .ndb-lb__next{top:auto;bottom:-56px;transform:none;}
  body.ndb .ndb-lb .ndb-lb__prev{left:12px;}
  body.ndb .ndb-lb .ndb-lb__next{right:12px;}
}

html.ndb-lb-lock,html.ndb-lb-lock body{overflow:hidden;}

@media (prefers-reduced-motion:reduce){
  body.ndb .ndb-gal .ndb-gal__open,body.ndb .ndb-gal__clip{transition:none;}
  body.ndb .ndb-gal .ndb-gal__open:hover{transform:none;}
  body.ndb .ndb-gal__item.is-playing .ndb-gal__live::before{animation:none;}
}
