.photo-tag-filter{
  display:grid;
  gap:10px;
  margin:0 0 16px;
  padding:12px;
  border:1px solid #455348;
  border-top:3px solid var(--green);
  background:#111812;
}
.photo-tag-filter>strong{font:700 11px 'Courier New',monospace;letter-spacing:1.5px;color:var(--green)}
.photo-tag-filter__controls{display:flex;flex-wrap:wrap;gap:7px}
.photo-tag-filter button,.photo-zoom-controls button,.photo-zoom-controls a{
  min-height:36px;
  border:1px solid #657167;
  background:linear-gradient(#303833,#171c18);
  color:var(--cream);
  font:700 11px Arial,sans-serif;
  cursor:pointer;
}
.photo-tag-filter button{padding:7px 12px}
.photo-tag-filter button[aria-pressed="true"]{border-color:#89d69f;background:linear-gradient(#2e864d,#155f32);color:#fff}
.photo-tag-filter__status{min-height:1.2em;color:#aeb8ae;font-size:12px}
.photo-tag-list{display:flex;flex-wrap:wrap;gap:5px;list-style:none;margin:7px 0 0;padding:0}
.photo-tag-list li{padding:3px 7px;border:1px solid #42634c;background:#132019;color:#9be3ad;font:9px 'Courier New',monospace;letter-spacing:.5px;text-transform:uppercase}
.photo-sale-item>.photo-tag-list{margin:7px}
.photo-zoom-stage{
  position:relative;
  flex:1;
  min-height:180px;
  overflow:hidden;
  border:1px solid #343d35;
  background:#050706;
  touch-action:none;
  user-select:none;
}
.lightbox figure .photo-zoom-stage>img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
  background:#050706;
  transform-origin:center;
  transition:transform .12s ease-out;
  will-change:transform;
}
.photo-zoom-stage[data-zoomed="true"]{cursor:grab}
.photo-zoom-stage[data-zoomed="true"]:active{cursor:grabbing}
.photo-zoom-controls{display:flex;align-items:center;gap:6px;margin-left:auto}
.photo-zoom-controls button{min-width:38px;padding:5px 9px}
.photo-zoom-controls output{min-width:44px;color:#a8dcb5;text-align:center;font:10px 'Courier New',monospace}
.photo-zoom-controls a{display:inline-flex;align-items:center;padding:5px 10px;text-decoration:none}
.photo-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.lightbox-photo-tags{margin:6px 0 0}
.photo-tag-filter button:focus-visible,.photo-zoom-controls button:focus-visible,.photo-zoom-controls a:focus-visible{outline:2px solid #c5f4d0;outline-offset:2px}
@media(max-width:640px){
  .photo-zoom-stage{min-height:220px}
  .photo-zoom-controls{width:100%;margin-left:0}
  .photo-zoom-controls a{margin-left:auto}
  .photo-tag-filter__controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.lightbox figure .photo-zoom-stage>img{transition:none}}
