/* Header ticket CTA: soft red sweep on hover and keyboard focus. */
.site-header .header-cta{
  position:relative;isolation:isolate;overflow:hidden;
  transition:border-color 380ms ease;
}
.site-header .header-cta::before{
  content:"";position:absolute;inset:-1px -20%;z-index:-1;
  background:var(--red,#eb0028);transform:translateX(-105%) skewX(-16deg);
  transition:transform 540ms cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}
.site-header .header-cta svg{
  transition:transform 380ms cubic-bezier(.22,1,.36,1);
}
.site-header .header-cta:hover{filter:none}
.site-header .header-cta:focus-visible{border-color:var(--red,#eb0028)}
.site-header .header-cta:focus-visible::before{transform:translateX(0) skewX(-16deg)}
.site-header .header-cta:focus-visible svg{transform:translateX(3px)}
@media(hover:hover) and (pointer:fine){
  .site-header .header-cta:hover{border-color:var(--red,#eb0028)}
  .site-header .header-cta:hover::before{transform:translateX(0) skewX(-16deg)}
  .site-header .header-cta:hover svg{transform:translateX(3px)}
}
@media(prefers-reduced-motion:reduce){
  .site-header .header-cta,.site-header .header-cta::before,.site-header .header-cta svg{transition:none}
  .site-header .header-cta:hover svg,.site-header .header-cta:focus-visible svg{transform:none}
}


/* Unavailable tickets: tooltip in CSS, with the same notice on keyboard focus. */
[data-ticket-link][aria-disabled="true"]{position:relative;cursor:not-allowed}
[data-ticket-link][aria-disabled="true"]::after{
  content:attr(data-ticket-tooltip);position:absolute;z-index:50;
  inset-inline-end:0;bottom:calc(100% + 12px);width:260px;max-width:calc(100vw - 48px);
  padding:12px 15px;border:1px solid #ffffff45;border-radius:5px;
  background:#161616;color:#fff;box-shadow:0 8px 24px #0008;
  font-size:12px;font-weight:400;line-height:1.5;text-align:left;white-space:normal;
  pointer-events:none;opacity:0;visibility:hidden;transform:translateY(4px);
  transition:opacity 160ms ease,transform 160ms ease,visibility 0s linear 160ms;
}
[data-ticket-link][aria-disabled="true"]:focus::after{
  opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s;
}
.site-header .header-cta[aria-disabled="true"]{overflow:visible;filter:none}
.site-header .header-cta[aria-disabled="true"]::before{display:none}
.site-header .header-cta[aria-disabled="true"] svg{transform:none;opacity:.65}
.site-header .header-cta[aria-disabled="true"]::after,#mobile-menu [aria-disabled="true"]::after{
  bottom:auto;top:calc(100% + 10px);
}
.site-footer .footer-credit{white-space:normal}
@media(hover:hover){
  [data-ticket-link][aria-disabled="true"]:hover::after{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s}
}
@media(prefers-reduced-motion:reduce){[data-ticket-link][aria-disabled="true"]::after{transition:none;transform:none}}

/* The toolbar offset exists only while WordPress actually shows its toolbar. */
.admin-bar .site-header{top:var(--wp-toolbar-offset,var(--wp-admin--admin-bar--height,32px))}
.admin-bar #mobile-menu{top:calc(var(--header-height,98px) + var(--wp-toolbar-offset,var(--wp-admin--admin-bar--height,32px)))}
html{scroll-padding-top:calc(var(--header-height,98px) + var(--wp-toolbar-offset,0px) + 24px)}
.footer-credit a,.footer-credit a:hover,.footer-credit a:focus-visible{text-decoration:none}

/* Navigation: a red underline sweeps in, then clears from left to right. */
.site-header nav a{position:relative}
.site-header nav a::after,.site-header nav a[aria-current="page"]::after{
 content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;
 background:var(--red,#eb0028);pointer-events:none;
 transform:scaleX(0);transform-origin:right;
 transition:transform 320ms cubic-bezier(.22,1,.36,1);
}
.site-header nav a[aria-current="page"]::before{
 content:"";position:absolute;left:0;bottom:0;width:18px;height:2px;
 background:var(--red,#eb0028);pointer-events:none;
}
.site-header nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}
@media(hover:hover) and (pointer:fine){
 .site-header nav a:hover::after{transform:scaleX(1);transform-origin:left}
}
@media(prefers-reduced-motion:reduce){.site-header nav a::after{transition:none}}
