/* ===================== TOP BAR ===================== */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hdr-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;height:66px}
.brand{display:inline-flex;align-items:center;gap:11px;flex:none}
.brand-logo{width:34px;height:34px;border-radius:9px;background:linear-gradient(145deg,var(--green) 0%,#12b07a 100%);display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 8px 18px -8px rgba(14,159,91,.6)}
.brand-img{height:55px;width:auto;max-width:185px;object-fit:contain;display:block;margin: -9px 0 -9px -8px;}
.brand-logo svg{width:18px;height:18px;color:#fff}
.brand-txt b{font-size:16px;font-weight:800;letter-spacing:-.01em;display:block;line-height:1.1}
.brand-txt small{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green-d)}
.hdr-nav{display:flex;align-items:center;justify-content:center;gap:8px}
.hdr-a{position:relative;font-size:14.5px;font-weight:600;color:var(--muted);padding:10px 13px;border-radius:9px;transition:background .2s ease,color .2s ease;background:none;border:0}
.hdr-a::after{content:"";position:absolute;left:13px;right:13px;bottom:3px;height:2px;border-radius:999px;background:var(--green);transform:scaleX(0);transform-origin:center;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.hdr-a:focus-visible{color:var(--ink)}
.hdr-a:hover::after,.hdr-a:focus-visible::after,.hdr-a.on::after{transform:scaleX(1)}
.hdr-a.on{color:var(--green-d);background:transparent}
.hdr-right{justify-self:end;display:flex;align-items:center;gap:11px}
.hdr-back{font-size:14px;font-weight:600;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.hdr-back:hover{color:var(--green-d)}
.hdr-back svg{width:15px;height:15px}
.hdr-a{text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;line-height:1.2;border-radius:11px;padding:10px 18px;border:1px solid transparent;white-space:nowrap;cursor:pointer;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:3px solid rgba(14,159,91,.22);outline-offset:3px}
.btn svg{width:16px;height:16px;flex:none}
.btn-solid{background:var(--green);border-color:var(--green);color:#fff;box-shadow:none}
.btn-solid:hover{background:var(--green-d);border-color:var(--green-d);box-shadow:none}
.btn-line{background:#fff;border-color:#dce3df;color:var(--ink);box-shadow:none}
.btn-line:hover{background:var(--tint);border-color:var(--green);color:var(--green-d);box-shadow:none}
.hdr-right .btn-solid{box-shadow:0 8px 18px -10px rgba(14,159,91,.65)}
.hdr-right .btn-solid:hover{box-shadow:0 10px 20px -10px rgba(14,159,91,.72)}
.btn:disabled,.btn[aria-disabled="true"]{cursor:not-allowed;box-shadow:none}
.btn-sm{padding:8px 14px;font-size:13px;border-radius:9px}
.burger{display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#fff;align-items:center;justify-content:center;color:var(--ink);transition:border-color .2s,background .2s,transform .2s}
.burger:hover{border-color:#c8d4ce;background:var(--bg-alt);transform:translateY(-1px)}
.burger svg{width:20px;height:20px}
@media(max-width:860px){
  .hdr-in{display:flex;gap:14px}
  .hdr-nav{display:none}
  .hdr-right{margin-left:auto}
  .burger{display:inline-flex}
  .hdr-right .btn span{display:none}
}

@media(max-width:860px){.hdr-back{display:none}}
/* The drawer carries the ticket link on phones, where the brand and button do not fit together. */
@media(max-width:480px){.hdr-right .btn{display:none}}
@media(max-width:600px){
  .hdr-in{height:60px;gap:10px}
  .brand-img{height:46px;max-width:150px}
  .burger{width:38px;height:38px;border-radius:10px}
  .burger svg{width:18px;height:18px}
}
@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover,.btn:active{transform:none}}
/* Shared login (inc/user-session.php): account avatar in the header and the account block in the mobile menu. */
.hdr-right .wsu-btn{width:40px;height:40px}
.hdr-right .wsu-avatar{width:32px;height:32px;font-size:12.5px}
.mnav-user{display:flex;align-items:center;gap:12px;padding:10px 12px 14px}
.mnav-user .wsu-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--green);color:#fff;font-size:13px;font-weight:800}
.mnav-user-name{font-weight:700;color:var(--ink);font-size:15px}
@media(max-width:600px){
  .hdr-right .wsu-btn{width:38px;height:38px}
  .hdr-right .wsu-avatar{width:30px;height:30px;font-size:11.5px}
}
