/* Clean Menu v0.7.0 — komplett vereinfachtes Header-System.
   Eine Zeile, kein Rollen-Text, kein Höhenpunkte-Link, kein altes Grid/Absolute-Mischsystem. */

html,
body,
.wp-site-blocks {
  margin: 0 !important;
  padding: 0 !important;
}
html { scroll-behavior: smooth; }
body.qw-editorial-theme { margin: 0 !important; }
body.qw-editorial-theme .wp-site-blocks > *,
body.qw-editorial-theme .wp-block-template-part,
body.qw-editorial-theme main,
body.qw-editorial-theme .qw-site-main {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
}
body.qw-editorial-theme .wp-block-template-part > p:empty,
body.qw-editorial-theme .wp-block-template-part .wp-block-shortcode > p:empty { display: none !important; }

:root {
  --qw-clean-side: clamp(20px, 2.55vw, 42px);
  --qw-clean-top: 0px;
  --qw-clean-height: 70px;
  --qw-clean-height-scrolled: 58px;
}

.wp-site-blocks > header.wp-block-template-part,
body.qw-editorial-theme > .wp-site-blocks > header.wp-block-template-part {
  position: absolute !important;
  inset: 0 0 auto !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  z-index: 5000 !important;
  background: transparent !important;
}
.wp-site-blocks > header.wp-block-template-part > *,
.wp-site-blocks > header.wp-block-template-part .wp-block-shortcode,
.wp-site-blocks > header.wp-block-template-part .qw-clean-header {
  margin: 0 !important;
  padding: 0 !important;
}

.qw-clean-skip-link {
  position: fixed;
  z-index: 10000;
  top: 10px;
  left: 10px;
  padding: .7rem .95rem;
  color: #fff;
  background: var(--qw-ink, #181715);
  text-decoration: none;
  transform: translateY(-150%);
}
.qw-clean-skip-link:focus { transform: translateY(0); }

.qw-clean-header,
.qw-clean-header * { box-sizing: border-box; }
.qw-clean-header {
  position: fixed !important;
  z-index: 5000 !important;
  top: 0;
  left: 0;
  right: 0;
  padding-top: var(--qw-clean-top) !important;
  height: 0 !important;
  color: #fff;
  pointer-events: none;
  background: transparent !important;
}
body.admin-bar .qw-clean-header { top: 32px; }

 .qw-clean-header__bar {
  pointer-events: auto;
  position: relative !important;
  width: min(calc(100% - 2 * var(--qw-clean-side)), 1540px) !important;
  height: var(--qw-clean-height) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: block !important;
  color: inherit !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.34) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: height .26s ease, color .26s ease, background-color .26s ease, border-color .26s ease, border-radius .26s ease, box-shadow .26s ease, backdrop-filter .26s ease, margin-top .26s ease, padding .26s ease;
}

body.qw-has-scrolled .qw-clean-header,
body.single-qw_concert .qw-clean-header,
body.qw-menu-open .qw-clean-header { color: var(--qw-ink, #181715); }
body.qw-has-scrolled .qw-clean-header__bar,
body.single-qw_concert .qw-clean-header__bar {
  margin-top: 12px !important;
  height: var(--qw-clean-height-scrolled) !important;
  padding: 0 18px !important;
  background: rgba(251,251,250,.64) !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.07) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
}
body.qw-has-scrolled .qw-clean-brand,
body.single-qw_concert .qw-clean-brand { left: 18px !important; }
body.qw-has-scrolled .qw-clean-language,
body.single-qw_concert .qw-clean-language { right: 18px !important; }
body.qw-menu-open .qw-clean-header__bar,
body.qw-has-scrolled.qw-menu-open .qw-clean-header__bar {
  margin-top: 0 !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.qw-clean-brand,
.qw-clean-nav,
.qw-clean-language {
  position: absolute !important;
  top: 50% !important;
  margin: 0 !important;
  min-width: 0 !important;
  align-self: auto !important;
}
.qw-clean-brand {
  left: 0 !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  color: inherit !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.qw-clean-brand__name {
  display: block;
  font-family: var(--wp--preset--font-family--editorial-serif, Georgia, serif);
  font-size: clamp(1.72rem, 1.85vw, 2.12rem);
  font-weight: 400;
  line-height: 1 !important;
  letter-spacing: -.055em;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-1px);
}
.qw-clean-brand__role { display: none !important; }

.qw-clean-nav {
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: max-content !important;
  max-width: min(58vw, 720px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.qw-clean-nav__list {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(20px, 1.75vw, 32px) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: nowrap !important;
}
.qw-clean-nav__list li {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
}
.qw-clean-nav a,
.qw-clean-language span {
  color: inherit !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  font-size: .78rem;
  line-height: 1 !important;
}
.qw-clean-nav a {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  padding: .25rem 0 !important;
  opacity: .96;
  transition: opacity .22s ease;
}
.qw-clean-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.42rem;
  height: 1px;
  background: currentColor;
  opacity: .45;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .28s cubic-bezier(.22,.75,.2,1);
}
.qw-clean-nav a:hover,
.qw-clean-nav a:focus-visible { opacity: .66; }
.qw-clean-nav a:hover::after,
.qw-clean-nav a:focus-visible::after { transform: scaleX(1); }

.qw-clean-language {
  right: 0 !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 22px !important;
  color: inherit !important;
}
.qw-clean-language span {
  display: inline-flex !important;
  align-items: center !important;
  font-size: .66rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  opacity: .48;
}

.qw-clean-language .is-active { opacity: 1; }

.qw-clean-toggle {
  position: absolute !important;
  z-index: 5202;
  top: 50% !important;
  right: 0 !important;
  display: none;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
  transform: translateY(-50%) !important;
}
.qw-clean-toggle__line {
  position: absolute;
  left: 11px;
  right: 11px;
  height: 1px;
  background: currentColor;
  transform-origin: center center;
  transition: transform .32s cubic-bezier(.22,.75,.2,1), opacity .22s ease;
}
.qw-clean-toggle__line--top { top: 19px; }
.qw-clean-toggle__line--bottom { top: 27px; }
.qw-clean-toggle[aria-expanded="true"] .qw-clean-toggle__line--top { transform: translateY(4px) rotate(45deg); }
.qw-clean-toggle[aria-expanded="true"] .qw-clean-toggle__line--bottom { transform: translateY(-4px) rotate(-45deg); }

.qw-clean-overlay {
  position: fixed;
  z-index: 5001;
  inset: 0;
  display: grid;
  place-items: center;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  padding: 96px var(--qw-clean-side) 38px;
  color: var(--qw-ink, #181715);
  background: radial-gradient(circle at 50% 8%, rgba(255,255,255,.72), rgba(255,255,255,0) 42%), rgba(251,251,250,.68);
  backdrop-filter: blur(34px) saturate(1.08);
  -webkit-backdrop-filter: blur(34px) saturate(1.08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .34s cubic-bezier(.22,.75,.2,1), visibility .34s ease;
}
.qw-menu-open { overflow: hidden; }
.qw-menu-open .qw-clean-overlay { opacity: 1; visibility: visible; pointer-events: auto; }
.qw-clean-overlay__inner {
  width: min(100%, 820px);
  display: grid;
  justify-items: center;
  gap: clamp(28px, 4.8vh, 54px);
}
.qw-clean-overlay__nav ul {
  display: grid !important;
  justify-items: center !important;
  gap: clamp(8px, 2.2vh, 18px) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.qw-clean-overlay__nav li {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .34s ease, transform .34s cubic-bezier(.22,.75,.2,1);
}
.qw-menu-open .qw-clean-overlay__nav li { opacity: 1; transform: translateY(0); }
.qw-menu-open .qw-clean-overlay__nav li:nth-child(1) { transition-delay: .03s; }
.qw-menu-open .qw-clean-overlay__nav li:nth-child(2) { transition-delay: .065s; }
.qw-menu-open .qw-clean-overlay__nav li:nth-child(3) { transition-delay: .1s; }
.qw-menu-open .qw-clean-overlay__nav li:nth-child(4) { transition-delay: .135s; }
.qw-menu-open .qw-clean-overlay__nav li:nth-child(5) { transition-delay: .17s; }
.qw-clean-overlay__nav a {
  display: inline-block !important;
  color: inherit !important;
  font-family: var(--wp--preset--font-family--editorial-serif, Georgia, serif);
  font-size: clamp(2.75rem, 9.8vw, 6.4rem);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.06em;
  text-align: center;
  text-decoration: none !important;
  transition: opacity .22s ease, font-style .22s ease, transform .22s ease;
}
.qw-clean-overlay__nav a:hover,
.qw-clean-overlay__nav a:focus-visible { opacity: .62; font-style: italic; transform: translateY(-1px); }
.qw-clean-overlay__language {
  display: flex !important;
  justify-content: center;
  gap: 20px;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .34s ease .22s, transform .34s cubic-bezier(.22,.75,.2,1) .22s;
}
.qw-menu-open .qw-clean-overlay__language { opacity: 1; transform: translateY(0); }
.qw-clean-overlay__language span { font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; opacity: .55; }
.qw-clean-overlay__language .is-active { opacity: 1; }

@media (max-width: 1320px) and (min-width: 1081px) {
  .qw-clean-brand__name { font-size: clamp(1.45rem, 1.85vw, 1.84rem); }
  .qw-clean-nav { max-width: min(56vw, 660px) !important; }
  .qw-clean-nav__list { gap: 16px !important; }
  .qw-clean-language { gap: 14px !important; }
  .qw-clean-nav a { font-size: .74rem; }
}

@media (max-width: 1080px) {
  :root { --qw-clean-height: 56px; --qw-clean-top: 12px; }
  body.admin-bar .qw-clean-header { top: 0; }
  .qw-clean-header,
  body.qw-has-scrolled .qw-clean-header,
  body.single-qw_concert .qw-clean-header,
  body.qw-menu-open .qw-clean-header { color: #fff; }
  body.qw-has-scrolled .qw-clean-header,
  body.single-qw_concert .qw-clean-header,
  body.qw-menu-open .qw-clean-header { color: var(--qw-ink, #181715); }
  .qw-clean-header__bar,
  body.qw-has-scrolled .qw-clean-header__bar,
  body.single-qw_concert .qw-clean-header__bar,
  body.qw-menu-open .qw-clean-header__bar {
    position: relative !important;
    width: calc(100% - 2 * var(--qw-clean-side)) !important;
    height: var(--qw-clean-height) !important;
    margin-top: 0 !important;
    padding: 0 !important;
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .qw-clean-brand {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    transform: translateY(-50%) !important;
  }
  .qw-clean-brand__name { font-size: clamp(1.44rem, 5.1vw, 1.82rem); }
  .qw-clean-nav,
  .qw-clean-language { display: none !important; }
  .qw-clean-toggle { display: block !important; }
}

@media (max-width: 760px) {
  :root { --qw-clean-side: 18px; --qw-clean-top: 10px; --qw-clean-height: 54px; }
  .qw-clean-overlay { padding-top: 88px; }
  .qw-clean-overlay__nav a { font-size: clamp(2.55rem, 13vw, 4.8rem); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .qw-clean-header__bar,
  .qw-clean-nav a,
  .qw-clean-nav a::after,
  .qw-clean-toggle__line,
  .qw-clean-overlay,
  .qw-clean-overlay__nav li,
  .qw-clean-overlay__nav a,
  .qw-clean-overlay__language { transition-duration: .01ms !important; }
}

/* v0.7.3 — Mobil nach Scroll: weiße Schrift, neutraler kleiner Frosted-Glass-Balken. */
@media (max-width: 1080px) {
  body.qw-has-scrolled .qw-clean-header,
  body.single-qw_concert .qw-clean-header,
  body.qw-menu-open .qw-clean-header {
    color: #fff !important;
  }
  body.qw-has-scrolled .qw-clean-header__bar,
  body.single-qw_concert .qw-clean-header__bar {
    width: calc(100% - 2 * var(--qw-clean-side)) !important;
    height: var(--qw-clean-height) !important;
    padding: 0 12px !important;
    background: rgba(20, 20, 18, .20) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.12) !important;
    backdrop-filter: blur(16px) saturate(1.06) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.06) !important;
  }
  body.qw-has-scrolled .qw-clean-brand { left: 14px !important; }
  body.qw-has-scrolled .qw-clean-toggle { right: 10px !important; }
  body.qw-menu-open .qw-clean-header__bar,
  body.qw-has-scrolled.qw-menu-open .qw-clean-header__bar {
    background: rgba(20, 20, 18, .16) !important;
    border-color: rgba(255,255,255,.12) !important;
    box-shadow: none !important;
    backdrop-filter: blur(16px) saturate(1.04) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.04) !important;
  }
}


/* v0.7.5 — Desktop-Menü beim Scrollen transparenter und ohne Außenlinie. */
@media (min-width: 1081px) {
  body.qw-has-scrolled .qw-clean-header__bar,
  body.single-qw_concert .qw-clean-header__bar {
    background: rgba(251,251,250,.34) !important;
    border: 0 !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.055) !important;
    backdrop-filter: blur(20px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.08) !important;
  }
}

/* v0.7.6 — language switches are real buttons; keep the exact visual rhythm. */
.qw-clean-language button,
.qw-clean-overlay__language button {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  color: inherit !important;
  background: transparent !important;
  font: inherit !important;
  cursor: pointer;
}
.qw-clean-language button {
  display: inline-flex !important;
  align-items: center !important;
  font-size: .66rem !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  opacity: .48;
}
.qw-clean-language button.is-active,
.qw-clean-overlay__language button.is-active { opacity: 1; }
.qw-clean-overlay__language button {
  font-size: .74rem !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  opacity: .55;
}

/* v0.7.7 — mobile header centered brand + visible close cross in same place. */
@media (max-width: 1080px) {
  .qw-clean-header__bar {
    display: block !important;
  }
  .qw-clean-brand {
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
    max-width: calc(100% - 112px) !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .qw-clean-brand__name {
    font-size: clamp(1.45rem, 7vw, 2rem) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .qw-clean-toggle {
    display: block !important;
    right: 0 !important;
    color: #fff !important;
  }
  body.qw-has-scrolled .qw-clean-toggle,
  body.qw-menu-open .qw-clean-toggle {
    right: 10px !important;
    color: #fff !important;
  }
  body.qw-menu-open .qw-clean-toggle {
    z-index: 5600 !important;
  }
  body.qw-menu-open .qw-clean-brand { opacity: .75; }
}

/* v0.7.7 — first load: image first, then typography and cards. */
body.qw-variant-d .qw-image-section.is-variant-hero .qw-image-section__image {
  opacity: 0;
  transform: scale(1.018);
  transition: opacity .8s ease, transform 1.2s cubic-bezier(.22,.75,.2,1);
}
body.qw-variant-d.qw-page-ready .qw-image-section.is-variant-hero .qw-image-section__image {
  opacity: 1;
  transform: scale(1);
}
body.qw-variant-d .qw-image-section.is-variant-hero .qw-image-section__copy,
body.qw-variant-d .qw-next-concert,
body.qw-variant-d .qw-scroll-cue,
body.qw-variant-d .qw-clean-header__bar {
  opacity: 0;
  transition: opacity .68s ease, transform .9s cubic-bezier(.22,.75,.2,1);
}
body.qw-variant-d .qw-image-section.is-variant-hero .qw-image-section__copy { transition-delay: .28s; }
body.qw-variant-d .qw-next-concert { transition-delay: .42s; }
body.qw-variant-d .qw-scroll-cue { transition-delay: .56s; }
body.qw-variant-d .qw-clean-header__bar { transition-delay: .18s; }
body.qw-variant-d.qw-page-ready .qw-image-section.is-variant-hero .qw-image-section__copy,
body.qw-variant-d.qw-page-ready .qw-next-concert,
body.qw-variant-d.qw-page-ready .qw-scroll-cue,
body.qw-variant-d.qw-page-ready .qw-clean-header__bar {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  body.qw-variant-d .qw-image-section.is-variant-hero .qw-image-section__image,
  body.qw-variant-d .qw-image-section.is-variant-hero .qw-image-section__copy,
  body.qw-variant-d .qw-next-concert,
  body.qw-variant-d .qw-scroll-cue,
  body.qw-variant-d .qw-clean-header__bar {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* v0.7.8 — mobile brand back to the left, toggle remains on the right. */
@media (max-width: 1080px) {
  .qw-clean-brand,
  body.qw-menu-open .qw-clean-brand,
  body.qw-has-scrolled .qw-clean-brand {
    left: 0 !important;
    right: auto !important;
    transform: translateY(-50%) !important;
    max-width: calc(100% - 112px) !important;
    justify-content: flex-start !important;
    text-align: left !important;
    opacity: 1 !important;
  }
}

/* v0.7.9 — keep mobile close button above the overlay and make brand calmer. */
@media (max-width:1080px){
  body.qw-menu-open .qw-clean-header{z-index:7000!important;pointer-events:none!important}
  body.qw-menu-open .qw-clean-header__bar,
  body.qw-menu-open .qw-clean-toggle{pointer-events:auto!important}
  .qw-clean-toggle{z-index:7100!important}
  .qw-clean-brand__name{font-size:clamp(1.22rem,5.2vw,1.62rem)!important}
  body.qw-has-scrolled .qw-clean-brand,
  body.qw-menu-open .qw-clean-brand{left:20px!important}
}

/* v0.8.0 — robust mobile close layer and subpage header colors. */
@media (max-width: 1080px) {
  body.qw-menu-open .qw-clean-header,
  body.qw-menu-open .qw-clean-header__bar {
    pointer-events: auto !important;
    z-index: 12000 !important;
  }
  body.qw-menu-open .qw-clean-overlay {
    z-index: 9000 !important;
  }
  body.qw-menu-open .qw-clean-toggle {
    position: fixed !important;
    z-index: 13010 !important;
    top: calc(var(--qw-clean-top, 10px) + (var(--qw-clean-height, 54px) / 2)) !important;
    right: calc(var(--qw-clean-side, 18px) + 10px) !important;
    transform: translateY(-50%) !important;
    pointer-events: auto !important;
  }
  .qw-clean-overlay__close {
    position: fixed !important;
    z-index: 13020 !important;
    top: calc(var(--qw-clean-top, 10px) + (var(--qw-clean-height, 54px) / 2)) !important;
    right: calc(var(--qw-clean-side, 18px) + 10px) !important;
    display: grid !important;
    place-items: center !important;
    width: 46px !important;
    height: 46px !important;
    padding: 0 !important;
    border: 0 !important;
    color: #fff !important;
    background: transparent !important;
    cursor: pointer !important;
    transform: translateY(-50%) !important;
    pointer-events: auto !important;
  }
  .qw-clean-overlay__close .qw-clean-toggle__line--top { transform: translateY(4px) rotate(45deg) !important; }
  .qw-clean-overlay__close .qw-clean-toggle__line--bottom { transform: translateY(-4px) rotate(-45deg) !important; }
  body.qw-menu-open .qw-clean-toggle { opacity: 0 !important; }
  body.qw-has-scrolled .qw-clean-brand,
  body.single-qw_concert .qw-clean-brand {
    left: 22px !important;
  }
}

@media (min-width: 1081px) {
  body:not(.home):not(.qw-menu-open) .qw-clean-header,
  body:not(.home):not(.qw-menu-open) .qw-clean-header__bar {
    color: var(--qw-ink, #181715) !important;
  }
  body:not(.home):not(.qw-menu-open) .qw-clean-header__bar {
    border-bottom-color: rgba(24,23,21,.24) !important;
  }
}
@media (max-width: 1080px) {
  body:not(.home):not(.qw-menu-open) .qw-clean-header,
  body:not(.home):not(.qw-menu-open) .qw-clean-header__bar,
  body:not(.home):not(.qw-menu-open) .qw-clean-toggle {
    color: var(--qw-ink, #181715) !important;
  }
  body:not(.home):not(.qw-menu-open).qw-has-scrolled .qw-clean-header,
  body:not(.home):not(.qw-menu-open).qw-has-scrolled .qw-clean-toggle {
    color: var(--qw-ink, #181715) !important;
  }
}

/* v0.8.0 — do not animate/zoom image layers on mobile; avoids iPhone address-bar scroll glitches. */
@media (max-width: 781px) {
  body.qw-variant-d .qw-image-section.is-variant-hero .qw-image-section__image,
  body.qw-variant-d.qw-page-ready .qw-image-section.is-variant-hero .qw-image-section__image {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* v0.8.1 — mobile overlay is only overlay + black close X, no duplicate header bar. */
@media (max-width: 1080px) {
  body.qw-menu-open .qw-clean-header__bar {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .qw-clean-overlay {
    z-index: 7000 !important;
  }

  .qw-clean-overlay__close {
    position: fixed !important;
    z-index: 900000 !important;
    top: max(18px, env(safe-area-inset-top)) !important;
    right: max(18px, env(safe-area-inset-right)) !important;
    display: grid !important;
    place-items: center !important;
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #181715 !important;
    background: rgba(251,251,250,.18) !important;
    box-shadow: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .qw-clean-overlay__close-line {
    position: absolute !important;
    left: 15px !important;
    right: 15px !important;
    top: 50% !important;
    height: 1px !important;
    background: #181715 !important;
    transform-origin: center center !important;
    opacity: 1 !important;
    pointer-events: none !important;
  }

  .qw-clean-overlay__close-line--top {
    transform: translateY(-50%) rotate(45deg) !important;
  }

  .qw-clean-overlay__close-line--bottom {
    transform: translateY(-50%) rotate(-45deg) !important;
  }

  .qw-clean-overlay__inner {
    padding-top: 0 !important;
  }
}

/* v0.8.2 — mobile overlay close: no header bar, explicit black X, touch-safe and a little lower. */
@media (max-width: 1080px) {
  body.qw-menu-open .qw-clean-header,
  body.qw-menu-open .qw-clean-header__bar,
  body.qw-menu-open .qw-clean-brand,
  body.qw-menu-open .qw-clean-toggle {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.qw-menu-open .qw-clean-overlay {
    z-index: 2147483000 !important;
    pointer-events: auto !important;
  }

  body.qw-menu-open .qw-clean-overlay__close,
  .qw-clean-overlay__close {
    position: fixed !important;
    z-index: 2147483647 !important;
    top: max(44px, calc(env(safe-area-inset-top, 0px) + 30px)) !important;
    right: max(18px, calc(env(safe-area-inset-right, 0px) + 18px)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #181715 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .qw-clean-overlay__close::before,
  .qw-clean-overlay__close::after {
    content: "" !important;
    position: absolute !important;
    left: 15px !important;
    right: 15px !important;
    top: 50% !important;
    height: 1.25px !important;
    background: #181715 !important;
    transform-origin: center center !important;
    opacity: 1 !important;
    pointer-events: none !important;
  }
  .qw-clean-overlay__close::before { transform: translateY(-50%) rotate(45deg) !important; }
  .qw-clean-overlay__close::after { transform: translateY(-50%) rotate(-45deg) !important; }

  .qw-clean-overlay__close-line {
    display: none !important;
  }
}

/* v0.8.3 — repair mobile overlay visibility: hide only the bar, never the parent header. */
@media (max-width: 1080px) {
  body.qw-menu-open .qw-clean-header {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    z-index: 2147482000 !important;
  }
  body.qw-menu-open .qw-clean-header__bar,
  body.qw-menu-open .qw-clean-brand,
  body.qw-menu-open .qw-clean-toggle {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  body.qw-menu-open .qw-clean-overlay {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 2147483000 !important;
  }
  body.qw-menu-open .qw-clean-overlay__close {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 2147483647 !important;
    top: max(52px, calc(env(safe-area-inset-top, 0px) + 38px)) !important;
  }
}
