/* Shared control sizes, focus and press states. */
.ui-arrow {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  min-inline-size: 1.1em;
  font-family: Arial, sans-serif;
  line-height: 1;
  text-align: center;
  vertical-align: middle;
  transition: transform .2s var(--ease), color .2s;
}

:is(a.button, button.button, a.text-link, button.text-link, .league-panel-link, .master-link) > .ui-arrow,
:is(.stage-ticket, .archive-lineup, .media-video-copy) > .ui-arrow {
  font-size: clamp(1rem, 1.16em, 1.25rem);
  line-height: 1;
}

:is(.button, .text-link, .archive-lineup, .menu-toggle, .lightbox-close, .lightbox-prev, .lightbox-next) {
  min-block-size: 44px;
}

:is(.lightbox-prev, .lightbox-next) { min-inline-size: 44px; }
:is(.lightbox-prev, .lightbox-next, .lightbox-close):not(:disabled):is(:hover, :focus-visible, :active) {
  border-color: #eccd99;
  color: #fff1d5;
  background: linear-gradient(135deg, #6a3342, #311925);
}
.lightbox button:disabled { opacity: .54; }

.photo-rotation { isolation: isolate; }
.photo-rotation > .photo-slide {
  z-index: 0;
  transition: opacity .85s ease-in-out, transform .38s var(--ease);
}
.photo-rotation > .photo-slide:not(.photo-slide-current) { opacity: 0; pointer-events: none; }
.photo-rotation > .photo-slide-current { opacity: 1; }
.photo-rotation > .photo-slide ~ .photo-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.photo-rotation > :is(.photo-open, .media-open, .media-album-index, .media-video-type, .media-play, .media-hero-mark) { z-index: 2; }
.photo-rotation-status {
  position: absolute;
  z-index: 2;
  display: flex;
  gap: 4px;
  left: 9px;
  bottom: 9px;
  padding: 5px 6px;
  border: 1px solid #ecd5b057;
  border-radius: 20px;
  background: #24121ddd;
  pointer-events: none;
}
.photo-rotation-status i { width: 5px; height: 5px; border-radius: 50%; background: #d6c7b46e; }
.photo-rotation-status i.is-current { background: #ffe5ad; }
.stage-inset.photo-rotation > .photo-rotation-status {
  right: auto;
  left: 6px;
  bottom: 6px;
  padding: 4px 5px;
  border-radius: 20px;
  background: #24121ddd;
}
.media-hero-art.photo-rotation > .photo-slide ~ .photo-slide {
  inset: 8px;
  width: calc(100% - 16px);
  height: calc(100% - 16px);
}
.scene-photo-backdrop {
  position: absolute;
  z-index: 0;
  inset: 15% 1% 9%;
  border-radius: 14px;
  overflow: hidden;
  opacity: .32;
  transform: rotate(3deg);
  mask-image: radial-gradient(ellipse, #000 0 28%, transparent 74%);
}
.scene-photo-backdrop img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 800px) {
  .header-inner { gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .photo-rotation > .photo-slide { transition: none; }
}

:is(.paper-band, .public-story, .weekly-event, .join-section, .network-section, .public-league-feature) {
  --focus: #59182e;
}

:is(a, button, summary, select, input):focus-visible {
  outline: 2px solid var(--focus, #efcb89);
  outline-offset: 3px;
}

.skip-link:focus-visible { outline-offset: 1px; }
:is(.faq-list, .league-master) summary:focus-visible { outline-offset: -3px; }

:is(.text-link, .master-link, .media-breadcrumb a, .footer-links a, .header-social):is(:hover, :focus-visible) {
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .25em;
}

:is(.button, .text-link, .league-panel-link, .archive-lineup, .stage-ticket, .events-league-link):active {
  box-shadow: inset 0 2px 7px #1909123d;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  :is(.button, .text-link, .stage-ticket, .archive-lineup, .events-league-link):is(:hover, :focus-visible) > .ui-arrow {
    transform: translate(2px, -2px);
  }
}

@media (forced-colors: active) {
  :is(a, button, summary, select, input):focus-visible { outline-color: Highlight; }
}

/* Account entry shared by every existing page, including the League. */
.header-account{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:9px 11px;border:1px solid #d9b37f55;border-radius:99px;color:#f6e8cf;font-size:12px;text-decoration:none;background:linear-gradient(130deg,#83503d22,#28141f22);transition:background .2s,border-color .2s,transform .2s}
.header-account svg{width:18px;height:18px;flex:none}.header-account:hover,.header-account:focus-visible{border-color:#e6bf80;background:linear-gradient(130deg,#83503d88,#482133);transform:translateY(-1px)}
@media(max-width:1050px){.header-account{padding:9px}.header-account span{display:none}}

@media(min-width:801px) and (max-width:1050px){.header-social{display:none}.header-inner{gap:16px}.main-nav{gap:20px}}
@media(max-width:800px){.header-account{margin-left:auto}.menu-toggle{order:3}.header-inner{justify-content:flex-start}}

.ui-arrow>svg{display:block;width:1em;height:1em;flex:none;overflow:visible}

/* The weekly appointment is visible without becoming a fifth main category. */
.header-weekly{display:inline-flex;align-items:center;gap:7px;flex:none;min-height:44px;padding:8px 12px;border:1px solid #e3bd8070;border-radius:99px;font-size:12px;font-weight:600;color:#f0ce90;background:radial-gradient(at 0 0,#c18e4f2e,transparent 70%),linear-gradient(120deg,#5a2937,#361522);text-decoration:none;box-shadow:inset 0 1px #f4dab422;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s}
.header-weekly svg{flex:none}.header-weekly small{font-size:10px;opacity:.85;font-weight:400;padding-left:7px;border-left:1px solid #e3bd8055}.header-weekly:hover,.header-weekly:focus-visible{color:#fff0cc;border-color:#f1cf92;transform:translateY(-1px);background:linear-gradient(120deg,#784032,#4d2030);box-shadow:0 4px 15px #1d081a50,0 0 0 2px #efc57d25}
@media(max-width:1250px){.header-social{display:none}.header-inner{gap:16px}.header-account span{display:none}.header-weekly small{display:none}.header-account{padding:9px}}
@media(max-width:800px){.header-inner{gap:9px}.header-weekly{margin-left:auto;padding:8px 10px;font-size:11px}.header-weekly svg{display:none}.header-account{margin-left:0}.menu-toggle{min-width:44px;justify-content:center}.menu-toggle>span:first-child{display:none}.menu-toggle .menu-icon{display:block}}
@media(max-width:360px){.header-inner{gap:7px}.brand-wordmark{display:none}.header-weekly{padding-inline:11px}}
