/* Kurze Konzertzeilen; Details nur auf Wunsch, im bestehenden Banddesign. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tour-program{width:min(100%,1080px);margin:0 auto;display:grid;gap:34px}
.tour-feature-list{display:grid;gap:18px}
.tour-carousel{grid-template-columns:minmax(0,1fr);align-items:start;touch-action:pan-y pinch-zoom}
.tour-carousel>[hidden],.tour-carousel-controls[hidden],.tour-card__details[hidden],.tour-card__line[hidden]{display:none!important}
.tour-carousel-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;align-items:center;margin-top:16px}
.tour-carousel-controls>button{width:44px;height:44px;padding:0;border:1px solid var(--line);color:var(--paper);background:#0b0b0b;font:400 26px/1 Arial,sans-serif;cursor:pointer}
.tour-carousel-controls>button:hover:not(:disabled),.tour-carousel-controls button:focus-visible{outline:2px solid var(--acid);outline-offset:2px;border-color:var(--acid)}
.tour-carousel-controls>button:disabled{color:#66635d;cursor:default}
.tour-carousel-position{display:grid;justify-items:center;gap:4px}
.tour-carousel-counter{color:var(--muted);font:400 12px/1.4 Arial,sans-serif;text-align:center}
.tour-carousel-dots{display:flex;flex-wrap:wrap;justify-content:center}
.tour-carousel-dots button{position:relative;width:32px;height:32px;padding:0;border:0;background:transparent;cursor:pointer}
.tour-carousel-dots button::after{content:"";position:absolute;width:9px;height:9px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid var(--paper);border-radius:50%;background:#030303}
.tour-carousel-dots button[aria-pressed="true"]::after{background:var(--acid);border-color:var(--acid);box-shadow:0 0 0 3px rgba(215,174,53,.16)}
.tour-card{position:relative;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 72px;grid-template-areas:"copy poster";gap:0 20px;align-items:start;min-height:144px;padding:18px 22px;border:1px solid var(--line);background:#0a0a0a}
.tour-card__copy{grid-area:copy;min-width:0;container-type:inline-size}
.tour-card .tour-card__title{margin:0 0 10px;min-height:2.16em;font:400 clamp(1.3rem,2.2vw,1.75rem)/1.08 var(--display-font);letter-spacing:.01em;text-transform:uppercase;overflow-wrap:anywhere;color:var(--paper)}
.tour-card__title time{font:inherit}
.tour-card__line{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 18px}
.tour-card .tour-card__meta{margin:0;max-width:none;color:var(--muted);font:400 13px/1.6 Arial,sans-serif}
.tour-card__info,.tour-card__close{display:inline-flex;align-items:center;min-height:32px;padding:0;border:0;background:none;color:var(--paper);font:400 13px/1.6 Arial,sans-serif;white-space:nowrap;text-decoration:none;cursor:pointer}
.tour-card__info:hover,.tour-card__info:focus-visible,.tour-card__close:hover,.tour-card__close:focus-visible{color:var(--acid);outline:1px solid var(--acid);outline-offset:4px}
.tour-card__close{display:flex;width:max-content;margin-top:16px;min-height:44px}
.tour-thumb{grid-area:poster;display:block;width:72px;height:100px;padding:0;border:0;background:#050505;cursor:zoom-in}
.tour-thumb picture{display:block;width:100%;height:100%}
.tour-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.tour-thumb:focus-visible{outline:2px solid var(--acid);outline-offset:4px}
.tour-card__stamp{position:absolute;top:38px;left:0;right:0;height:clamp(60px,6vw,90px);pointer-events:none;color:#e05c50;transform:rotate(-4deg);opacity:.62}
.tour-card__stamp svg{display:block;width:100%;height:100%;overflow:visible}
.tour-card__stamp text{fill:currentColor;font-family:var(--display-font);font-size:90px;font-weight:400}
.tour-card.is-postponed .tour-card__title,.tour-card.is-postponed .tour-card__line{opacity:.72}
.tour-card__details{grid-area:details;min-width:0;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.tour-card__details>p{margin:0 0 14px;max-width:none;font:400 14px/1.65 Arial,sans-serif;color:var(--muted)}
.tour-facts{display:grid;gap:0;margin:0;border-top:1px solid var(--line)}
.tour-facts div{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.tour-facts dt{color:var(--acid);font:800 11px/1.5 Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.tour-facts dd{margin:0;color:var(--paper);font:400 14px/1.5 Arial,sans-serif;overflow-wrap:anywhere}
.tour-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.tour-button{min-height:44px;display:inline-flex;justify-content:center;align-items:center;padding:10px 14px;border:1px solid var(--acid);background:#090909;color:var(--acid);font:400 12px/1.4 Arial,sans-serif;text-decoration:none}
.tour-button--secondary{color:var(--acid);background:#090909}
.tour-button:hover,.tour-button:focus-visible{outline:2px solid var(--acid);outline-offset:3px}
.tour-all-link{display:block;width:max-content;max-width:100%;margin-top:22px;padding:12px 16px;color:var(--paper);border:1px solid var(--line);font:900 13px/1.4 Arial,sans-serif;letter-spacing:.08em;text-decoration:none}
.tour-all-link:hover,.tour-all-link:focus-visible{color:var(--acid);border-color:var(--acid)}
.tour-data-error,.tour-empty{padding:18px;border:1px solid var(--line);color:var(--muted);font:400 14px/1.6 Arial,sans-serif}
/* Zweite Ebene bleibt eine vertikale Liste ohne Karussell. */
.tour-page .hero h1,.tour-page .tour-section h2{font-family:var(--display-font);font-weight:400;letter-spacing:.01em}
.tour-page .hero h1{font-size:clamp(3.5rem,8vw,6rem)}
.tour-page .hero{margin-bottom:30px}
.tour-page .tour-section{margin-top:40px;scroll-margin-top:30px}
.tour-page .tour-section h2{font-size:clamp(2.7rem,5vw,4.5rem);margin-bottom:22px}
.tour-page .record-label strong{font-family:var(--display-font);font-weight:400;letter-spacing:.02em}
.tour-page .track[data-target="upcoming"]{--y:18px}
.tour-page .track[data-target="past"]{--y:262px}
.tour-page .track[data-terminal="bandseite"]{--y:302px}
.tour-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.tour-card{scroll-margin-top:30px}
/* Nur der Flyer, ohne zusätzliche sichtbare Beschriftung. */
html.tour-flyer-open{overflow:hidden}
.tour-dialog{position:fixed;width:calc(100vw - 24px);height:calc(100svh - 24px);max-width:calc(100vw - 24px);max-height:calc(100svh - 24px);padding:0;border:0;background:transparent;color:var(--paper);overflow:hidden}
.tour-dialog::backdrop{background:rgba(0,0,0,.94)}
.tour-dialog img{display:block;width:100%;height:100%;object-fit:contain}
.tour-dialog__close{position:absolute;right:8px;top:8px;z-index:1;width:44px;height:44px;padding:0;border:1px solid rgba(241,238,228,.5);background:rgba(3,3,3,.86);color:var(--paper);font:400 26px/1 Arial,sans-serif;cursor:pointer}
.tour-dialog__close:focus-visible{outline:2px solid var(--acid);outline-offset:-4px}
@media(max-width:700px),(min-width:701px) and (max-width:980px) and (orientation:landscape){.tour-page .track[data-target="upcoming"]{--y:-26px}.tour-page .track[data-target="past"]{--y:178px}.tour-page .track[data-terminal="bandseite"]{--y:222px}}
@media(max-width:700px){
  .tour-card{grid-template-columns:minmax(0,1fr) 58px;gap:0 12px;padding:16px;min-height:160px}
  .tour-card .tour-card__title{font-size:1.3rem;min-height:3.24em}
  .tour-card__title time{display:block;margin-bottom:4px;font:400 12px/1.4 Arial,sans-serif;color:var(--muted)}
  .tour-thumb{width:58px;height:82px}
  .tour-card__line{gap:3px 12px}
  .tour-card__info{min-height:44px}
  .tour-facts div{grid-template-columns:64px minmax(0,1fr);gap:8px}
}

/* Verschoben gehört ausschließlich in die Überschrift des alten Termins. */
.tour-card.is-postponed .tour-card__title {
  position: relative;
  overflow: hidden;
}
.tour-card.is-postponed .tour-card__title > .tour-card__stamp {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  aspect-ratio: auto;
  margin: 0;
  transform: none;
  overflow: hidden;
  opacity: .85;
  pointer-events: none;
  transition: opacity .2s ease;
}
.tour-card.is-postponed .tour-card__title > .tour-card__stamp svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.tour-card.is-postponed:is(:hover, :focus-within, .is-interacting) .tour-card__stamp { opacity: .13; }
.tour-card.is-postponed:is(:hover, :focus-within, .is-interacting) .tour-card__title,
.tour-card.is-postponed:is(:hover, :focus-within, .is-interacting) .tour-card__line { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .tour-card__stamp { transition: none !important; } }
