/* Shared manual gallery: same quiet controls as Tango Tenors, with uncropped
   photographs and an explicit keyboard / no-script fallback. */
.programme-gallery { min-width: 0; }
.programme-gallery__slide { margin: 0; }
.programme-gallery__slide img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: contain;
}
.programme-gallery__slide figcaption {
  min-height: 3.2em;
  margin-top: 14px;
  color: var(--text-dim);
  font-size: .9rem;
  line-height: 1.6;
}
.programme-gallery__controls {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  gap: 16px;
  margin-top: 12px;
}
.programme-gallery__controls button {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
  min-height: 48px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-size: .94rem;
  line-height: 1.5;
  cursor: pointer;
  text-align: left;
}
.programme-gallery__controls button:last-child { justify-self: end; text-align: right; }
.programme-gallery__controls button:hover { color: var(--gold); }
.programme-gallery__controls button:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.programme-gallery__count { color: var(--text-dim); font-size: .9rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.programme-gallery__instructions { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media(max-width:700px) {
  .programme-gallery__controls { gap: 12px; }
  .programme-gallery__controls button { gap: 8px; font-size: .875rem; }
  .programme-gallery__slide figcaption { min-height: 4.8em; font-size: .875rem; }
}
