/* MR.LANDSHUT: gemeinsame Kopfzeile und Fußzeile (Website und Ticketshop) */
.top{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px var(--gut);background:var(--night);color:#fff;border-bottom:1px solid var(--line);font-family:var(--sans);font-weight:500;font-size:16px;line-height:1.4;letter-spacing:-.02em}
.home .top{position:fixed;inset:0 0 auto 0;background:transparent;border-bottom:0}
.top a{color:#fff;text-decoration:none}
.top .logo{font-family:var(--wide);font-weight:900;font-stretch:125%;text-transform:uppercase;letter-spacing:-.03em;font-size:20px;display:inline-flex;align-items:center;min-height:30px}
.top .logo-img{height:26px;width:auto;max-width:55vw;display:block}
.nav{display:flex;gap:clamp(14px,2.4vw,36px);font-size:15px}
.nav a{position:relative;padding-block:4px}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.nav a:hover::after,.nav a[aria-current=page]::after{transform:scaleX(1)}
.nav .cart .cart-svg{display:none}
.nav .cart-n{display:inline-block;margin-left:6px;min-width:20px;padding:0 6px;background:#fff;color:#0b0b0b;font-size:12px;font-weight:700;text-align:center;line-height:20px}
.top-tools{display:none;align-items:center;gap:10px}
.top .logo-img{height:26px;width:auto;object-fit:contain}
.menu-btn{position:relative;display:grid;place-items:center;width:46px;height:46px;padding:0;background:rgba(11,11,11,.35);border:1px solid rgba(255,255,255,.6);color:#fff;cursor:pointer;backdrop-filter:blur(6px);transition:background .35s var(--ease),color .35s var(--ease),border-color .35s,transform .35s var(--ease)}
.menu-btn:hover,body.menu-open .menu-btn{background:#fff;color:#0b0b0b;border-color:#fff}
.menu-btn:active{transform:scale(.92)}
.menu-btn .bars,.menu-btn .bars::before,.menu-btn .bars::after{display:block;width:20px;height:2px;background:currentColor;position:relative;transition:transform .5s var(--ease),background .25s}
.menu-btn .bars::before,.menu-btn .bars::after{content:"";position:absolute;left:0}
.menu-btn .bars::before{top:-7px}
.menu-btn .bars::after{top:7px;width:12px;left:auto;right:0}
.menu-btn:hover .bars::after{width:20px}
body.menu-open .menu-btn .bars{background:transparent}
body.menu-open .menu-btn .bars::before{transform:translateY(7px) rotate(45deg)}
body.menu-open .menu-btn .bars::after{transform:translateY(-7px) rotate(-45deg);width:20px}
.nav .n,.nav .arr,.nav-foot{display:none}
.nav .lbl,.nav .lbl>span{display:inline}
@media(max-width:860px){
  .top{padding:max(14px,env(safe-area-inset-top)) max(var(--gut),env(safe-area-inset-right)) 14px max(var(--gut),env(safe-area-inset-left));gap:14px}
  .top .logo{flex:1 1 0;min-width:0;max-width:calc(100% - 70px)}
  .top .logo-img{height:auto;width:auto;max-height:26px;max-width:100%}
  .top-tools{display:flex;flex:none}
  .nav{position:fixed;inset:0;height:100vh;height:100dvh;z-index:40;display:flex;flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;overscroll-behavior:contain;
    padding:calc(env(safe-area-inset-top,0px) + 92px) max(var(--gut),env(safe-area-inset-right)) calc(env(safe-area-inset-bottom,0px) + 22px) max(var(--gut),env(safe-area-inset-left));
    background:radial-gradient(120% 55% at 100% 0%,rgba(255,255,255,.1),transparent 62%),radial-gradient(90% 45% at 0% 100%,rgba(255,255,255,.07),transparent 60%),#0b0b0b;
    font-size:15px;letter-spacing:-.02em;visibility:hidden;
    clip-path:circle(0 at calc(100% - var(--gut) - 23px) 41px);transition:clip-path .85s var(--ease),visibility 0s .85s}
  .nav::before{content:"";position:fixed;top:-20%;bottom:-20%;left:-40%;width:35%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.09),transparent);transform:translateX(-120%) skewX(-14deg);pointer-events:none}
  body.menu-open .nav{visibility:visible;clip-path:circle(150% at calc(100% - var(--gut) - 23px) 41px);transition:clip-path .95s var(--ease)}
  body.menu-open .nav::before{animation:menuSweep 1.5s .25s var(--ease) both}
  @keyframes menuSweep{to{transform:translateX(480%) skewX(-14deg)}}

  .nav>a:not(.cart){position:relative;display:flex;align-items:baseline;gap:clamp(12px,3.6vw,20px);width:100%;padding:clamp(13px,2.7vh,26px) 4px;
    font-size:clamp(32px,min(11vw,7.4vh),64px);font-weight:600;line-height:1;letter-spacing:-.045em;transition:padding .45s var(--ease),background .35s}
  .nav>a:first-child{margin-top:auto}
  .nav>a:not(.cart)::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.2);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
  .nav>a:not(.cart)::after{height:2px;bottom:0;transition:transform .6s var(--ease)}
  .nav .n{display:inline-block;font-style:normal;font-size:12px;font-weight:500;letter-spacing:.1em;color:rgba(255,255,255,.5);transform:translateY(-.9em);opacity:0;transition:opacity .6s,color .3s}
  .nav .lbl{display:block;overflow:hidden;padding:.06em .08em .12em 0;margin:-.06em 0 -.12em}
  .nav .lbl>span{display:block;transform:translateY(112%);transition:transform .95s var(--ease)}
  .nav .arr{display:inline-block;font-style:normal;margin-left:auto;align-self:center;font-size:.5em;font-weight:500;opacity:0;transform:translate(-14px,14px);transition:opacity .5s,transform .7s var(--ease)}
  .nav>a:not(.cart):active{padding-left:14px;background:rgba(255,255,255,.06)}
  .nav>a[aria-current=page] .n{color:#fff}
  .nav>a[aria-current=page]::after{transform:scaleX(1)}
  .nav>a[aria-current=page] .lbl>span::after{content:"";display:inline-block;width:.16em;height:.16em;margin-left:.18em;background:#fff;vertical-align:.5em}

  .nav .cart{display:inline-flex;align-items:center;align-self:flex-start;gap:14px;margin-top:clamp(20px,4vh,34px);padding:14px 22px;border:1px solid rgba(255,255,255,.75);
    font-size:clamp(18px,5vw,24px);font-weight:600;letter-spacing:-.02em;opacity:0;transform:translateY(24px);transition:opacity .5s,transform .8s var(--ease),background .3s,color .3s}
  .nav .cart::after{display:none}
  .nav .cart:active,.nav .cart:hover{background:#fff;color:#0b0b0b}
  .nav .cart .cart-svg{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .nav .cart .cart-n{position:static;margin:0 0 0 2px;border:0}

  .nav-foot{display:block;margin-top:auto;padding-top:clamp(22px,5vh,44px);font-size:14px;color:rgba(255,255,255,.62);opacity:0;transform:translateY(20px);transition:opacity .6s,transform .8s var(--ease)}
  .nav-foot .nf-k{margin:0 0 10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.42)}
  .nav-foot .nf-links{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 10px;font-size:16px;color:#fff}
  .nav-foot .nf-mail{margin:0 0 14px;font-size:16px;color:#fff;word-break:break-all}
  .nav-foot .nf-copy{margin:0;font-size:12px;color:rgba(255,255,255,.4)}
  .nav-foot a{display:inline-block;padding:4px 0}
  .nav-foot a::after{height:1px}

  body.menu-open .nav>a:not(.cart)::before{transform:scaleX(1)}
  body.menu-open .nav .n{opacity:1}
  body.menu-open .nav .lbl>span{transform:none}
  body.menu-open .nav .arr{opacity:.55;transform:none}
  body.menu-open .nav>a[aria-current=page] .arr{opacity:1}
  body.menu-open .nav .cart,body.menu-open .nav-foot{opacity:1;transform:none}
  body.menu-open .nav>a:nth-child(1){--d:.32s}
  body.menu-open .nav>a:nth-child(2){--d:.4s}
  body.menu-open .nav>a:nth-child(3){--d:.48s}
  body.menu-open .nav>a:nth-child(4){--d:.56s}
  body.menu-open .nav>a.cart{--d:.66s}
  body.menu-open .nav .nav-foot{--d:.76s}
  body.menu-open .nav>a::before,body.menu-open .nav .n,body.menu-open .nav .lbl>span,body.menu-open .nav .arr,body.menu-open .nav>a.cart,body.menu-open .nav .nav-foot{transition-delay:var(--d,0s)}
  body.menu-open{overflow:hidden}
  .top{z-index:60}
  .top-tools,.top .logo{position:relative;z-index:61}
}
@media(max-height:600px) and (max-width:860px){.nav-foot .nf-k,.nav-foot .nf-copy{display:none}.nav{padding-top:calc(env(safe-area-inset-top,0px) + 78px)}}
@media(prefers-reduced-motion:reduce){.nav,.nav *{transition-duration:.01s!important;transition-delay:0s!important}.nav::before{display:none}}
.foot{padding:clamp(50px,6vw,90px) var(--gut) 24px;margin-top:clamp(40px,6vw,90px);background:var(--night);color:var(--ink);font-family:var(--sans);font-weight:500;letter-spacing:-.02em;line-height:1.4}
.foot .big{font-family:var(--wide);font-weight:900;font-stretch:125%;text-transform:uppercase;letter-spacing:-.03em;font-size:clamp(20px,3.6vw,52px);line-height:.95;margin:0}
.foot .socials{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:clamp(24px,3vw,44px);font-size:15px}
.foot a{color:inherit;text-decoration:none}
.foot .socials a{position:relative;padding-block:4px}
.foot .socials a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.foot .socials a:hover::after{transform:scaleX(1)}
.foot .where{margin:18px 0 0;color:var(--ink-2);font-size:14px;line-height:1.5}
.foot .where a:hover{color:var(--ink)}
.foot .row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;margin-top:clamp(30px,4vw,60px);padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.foot .links{display:flex;flex-wrap:wrap;gap:4px 22px}
.foot .links a,.foot .legal-trigger{padding-block:4px}
.foot .links a:hover,.foot .legal-trigger:hover{color:var(--ink)}
.legal-trigger{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
