/* One room at a time, with the same listening controls as the music catalogue. */
#lokaler { padding: 80px 0; }
#lokaler .section-head { margin-bottom: 26px; padding-bottom: 28px; }
.venue-tabs { display: none; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.venue-enhanced .venue-tabs { display: flex; }
.venue-tabs button { border: 1px solid transparent; background: transparent; color: var(--espresso-2); padding: 12px 22px; border-radius: 999px; font: 15px/1.3 var(--sans); cursor: pointer; }
.venue-tabs button:hover { background: var(--cream-2); }
.venue-tabs button[aria-selected="true"] { background: var(--espresso); color: var(--cream); }
.venue-panel { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: center; margin-bottom: 36px; }
.venue-panel[hidden] { display: none; }
.venue-image { margin: 0; min-width: 0; overflow: hidden; border-radius: 14px; align-self: stretch; }
.venue-image img { display: block; width: 100%; height: 100%; min-height: 440px; object-fit: cover; }
.venue-copy { min-width: 0; padding: 20px 0; }
.venue-eyebrow { font: 10px/1.5 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--espresso-2); }
.venue-copy h3 { font: 400 clamp(32px, 3.2vw, 46px)/1.06 var(--serif); letter-spacing: -.025em; margin: 18px 0; max-width: 18ch; }
.venue-copy > p { font: 15px/1.7 var(--sans); color: var(--espresso-2); max-width: 44ch; margin: 0; }
.venue-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin: 26px 0 30px; }
.venue-actions a { font: 13px/1.5 var(--sans); color: var(--espresso); text-decoration: underline; text-underline-offset: 4px; }
.venue-listen { display: none; align-items: center; gap: 10px; min-height: 46px; padding: 13px 18px; border: 1px solid var(--espresso); border-radius: 999px; background: var(--espresso); color: var(--cream); font: 13px/1.4 var(--sans); cursor: pointer; }
.venue-enhanced .venue-listen { display: inline-flex; }
.venue-enhanced .venue-listen[hidden] { display: none; }
.venue-listen svg { width: 16px; height: 16px; fill: currentColor; }
.venue-listen .venue-pause-icon, .venue-listen.tile-playing .venue-play-icon { display: none; }
.venue-listen.tile-playing .venue-pause-icon { display: block; }
.venue-listen.tile-loading { opacity: .6; }
.venue-day { border-top: 1px solid var(--rule); padding-top: 20px; }
.venue-day-label { display: block; font: 11px/1.5 var(--sans); color: var(--espresso-2); }
.venue-day ol { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 14px 0 0; }
.venue-day li { font: 13px/1.5 var(--sans); color: var(--espresso); }
.venue-day li span { display: block; font: 10px/1.5 var(--mono); color: var(--espresso-2); margin-bottom: 5px; }
#lokaler button:focus-visible, #lokaler a:focus-visible { outline: 2px solid #926136; outline-offset: 4px; }
@media (max-width: 760px) {
  #lokaler { padding: 56px 0; }
  .venue-panel { grid-template-columns: 1fr; gap: 24px; }
  .venue-image img { height: auto; min-height: 0; aspect-ratio: 16/10; }
  .venue-copy { padding: 0; }
  .venue-copy h3 { font-size: 36px; max-width: 20ch; }
  .venue-tabs { gap: 4px; margin-bottom: 22px; }
  .venue-tabs button { font-size: 13px; padding: 11px 16px; }
}
@media (max-width: 360px) {
  .venue-tabs button { padding: 11px 13px; }
  .venue-day ol { gap: 6px; }
  .venue-day li { font-size: 11px; }
}
