/* ── Atmosphäre: Seitenhintergrund leicht abgedunkelt mit Flieder-Verlauf, Lila-Schrift und goldenen Akzenten (nur Gestaltung) ── */
html body:has(.rzg[data-rzg],.rzp,.rzn,.rzi,.rzk,.iron-audioplayer,#rz-x),body.rzh{--rz-purple:#5e35ad;--rz-deep:#34196f;--rz-gold:#d9a561;--rz-gold-d:#a8742f;--rz-bg:#e6e2f0;--rz-top:88px;--rz-gap:88px}
html body:has(.rzg[data-rzg],.rzp,.rzn,.rzi,.rzk,.iron-audioplayer,#rz-x),body.rzh{background-color:#e6e2f0!important;background-image:radial-gradient(1000px 640px at 94% 160px,rgba(217,165,97,.22),transparent 70%),radial-gradient(1100px 760px at 2% 900px,rgba(94,53,173,.14),transparent 70%),radial-gradient(1000px 700px at 90% 1700px,rgba(94,53,173,.11),transparent 72%),radial-gradient(1100px 760px at 4% 2600px,rgba(217,165,97,.14),transparent 70%)!important;background-repeat:no-repeat!important}
html body:has(.rzg[data-rzg],.rzp,.rzn,.rzi,.rzk,.iron-audioplayer,#rz-x) :is(#overlay .perspective,#wrapper,.boxed,.container,article.single-post,.wpb-content-wrapper,.entry),body.rzh :is(#overlay .perspective,#wrapper,.boxed,.container,article.single-post){background:transparent!important}
.rzp{--rzp-bg:#e6e2f0}
.rzi{background:transparent!important;box-shadow:none!important;clip-path:none!important}
/* Video-Galerie */
.rzg-label{display:flex;align-items:center;gap:10px;color:#a8742f}
.rzg-label::before{content:"";flex:none;width:22px;height:2px;border-radius:2px;background:linear-gradient(90deg,#d9a561,#b27a2e)}
.rzg-title{color:#3f2287}
.rzg-feat .rzg-title{color:#34196f}
.rzg-media{box-shadow:0 22px 44px -22px rgba(63,34,135,.55)}
@media (hover:hover){.rzg-card:hover .rzg-media{box-shadow:0 32px 58px -20px rgba(63,34,135,.75),0 0 0 1px rgba(217,165,97,.55)}.rzg-card:hover .rzg-title{color:#a8742f}}
/* Instrumente, Aufführungen, Presse: Akzente in Lila/Gold */
.rzn-outlet{color:#34196f}
.rzn-date{color:#7a4fc4}
.rzn-a{box-shadow:0 18px 40px -20px rgba(63,34,135,.5)}
body:has(.rzg[data-rzg],.rzp,.rzn,.rzi) .wpb-content-wrapper .vc_row,body:has(.rzg[data-rzg],.rzp,.rzn,.rzi) .wpb-content-wrapper .vc_column-inner{background-color:transparent!important}
.rzp .rzp-bar{background:#ebe8f3}

/* Einheitliche Abstände: Seitenkopf → Inhalt → Module (Leerzeilen des Editors entfallen) */
html body:has(.rzg[data-rzg],.rzp,.rzn,.rzi,.rzk,.iron-audioplayer,#rz-x) .wpb-content-wrapper #rzb-hero{margin-bottom:var(--rz-top)!important}
html body:has(.rzg[data-rzg],.rzp,.rzn,.rzi,.rzk,.iron-audioplayer,#rz-x) .wpb-content-wrapper .vc_empty_space{height:0!important;background:transparent!important}
html body:has(.rzg[data-rzg],.rzp,.rzn,.rzi,.rzk,.iron-audioplayer,#rz-x) .wpb-content-wrapper .vc_row:not(:has(.iron-audioplayer)){margin-bottom:0}
@media (max-width:1023px){html body:has(.rzg[data-rzg],.rzp,.rzn,.rzi,.rzk,.iron-audioplayer,#rz-x),body.rzh{--rz-top:64px;--rz-gap:64px}}
@media (max-width:639px){html body:has(.rzg[data-rzg],.rzp,.rzn,.rzi,.rzk,.iron-audioplayer,#rz-x),body.rzh{--rz-top:28px;--rz-gap:36px}}
@media (max-width:1023px){.rzg,.rzp,.rzn,.rzi{padding-left:24px!important;padding-right:24px!important}}
@media (max-width:639px){.rzg,.rzp,.rzn,.rzi{padding-left:16px!important;padding-right:16px!important}}

/* ── Seiten-Auftritt (rzs.js) ── */
:root{--reveal-y:36px;--reveal-dur:1200ms;--reveal-ease:cubic-bezier(.16,1,.3,1)}
@media (max-width:639px){:root{--reveal-y:26px}}
@keyframes rz-rise{from{opacity:0;transform:translate3d(0,var(--reveal-y),0)}to{opacity:1;transform:none}}
@keyframes rz-rise-load{from{opacity:.01;transform:translate3d(0,var(--reveal-y),0)}to{opacity:1;transform:none}}
[data-reveal="hidden"]{opacity:0!important;transform:translate3d(0,var(--reveal-y),0)!important;transition:opacity 600ms var(--reveal-ease),transform 700ms var(--reveal-ease)!important}
[data-reveal="in"]{animation:rz-rise var(--reveal-dur) var(--reveal-ease) both;animation-delay:var(--reveal-delay,0ms);transition:none!important;will-change:transform,opacity}
[data-reveal="load"]{animation:rz-rise-load var(--reveal-dur) var(--reveal-ease) both;animation-delay:calc(120ms + var(--reveal-delay,0ms));transition:none!important;will-change:transform,opacity}
@media (prefers-reduced-motion:reduce),print{[data-reveal]{opacity:1!important;transform:none!important;animation:none!important}}
/* die älteren Einzel-Auftritte der Komponenten entfallen: rzs.js steuert alles einheitlich */
body .rzg.rzg-js .rzg-item,body .rzn-js .rzn-card,body .rzi-js .rzi-card,body .rzp-js .rzp-box{opacity:1;transform:none}

/* Handy-Menü: Sprachauswahl als kleine Kapseln am Ende statt als riesiger Menüeintrag */
.classic-menu.responsive li.wpml-ls-current-language{float:none!important;position:relative!important;width:100%!important;display:flex!important;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:22px 16px 26px!important;height:auto!important;line-height:1!important;background:transparent!important;border:0!important}
.classic-menu.responsive li.wpml-ls-current-language>ul.sub-menu{display:flex!important;position:static!important;float:none!important;gap:10px;width:auto!important;height:auto!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important}
.classic-menu.responsive li.wpml-ls-current-language>ul.sub-menu>li{display:block!important;float:none!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.classic-menu.responsive li.wpml-ls-current-language a,.classic-menu.responsive li.wpml-ls-current-language>ul.sub-menu>li>a{display:inline-block!important;width:auto!important;height:auto!important;min-width:52px;padding:11px 16px!important;border:1px solid rgba(255,255,255,.4)!important;border-radius:999px!important;background:transparent!important;font:600 12px/1 "Raleway",Arial,sans-serif!important;letter-spacing:.22em!important;text-transform:uppercase!important;text-align:center!important;color:#fff!important}
.classic-menu.responsive li.wpml-ls-current-language>a{background:#d9a561!important;border-color:#d9a561!important;color:#1f1637!important}
.classic-menu.responsive li.wpml-ls-current-language a::before,.classic-menu.responsive li.wpml-ls-current-language a::after,.classic-menu.responsive li.wpml-ls-current-language::after,.classic-menu.responsive li.wpml-ls-current-language::before{display:none!important;content:none!important}

.classic-menu.responsive ul.menu-level-0{height:auto!important;max-height:none!important}
.classic-menu.responsive li.wpml-ls-current-language>ul.sub-menu,.classic-menu.responsive li.wpml-ls-current-language>ul.sub-menu>li{max-height:none!important;overflow:visible!important;line-height:1!important;min-height:0!important}

/* Kontaktseite: Abstand unter dem Hero wie auf den anderen Seiten */
.rzk{padding-top:var(--rz-top,88px)!important}

/* Footer-Sprachwahl: die ganze Kachel ist klickbar und reagiert beim Überfahren, nicht nur die Buchstaben */
#footer .wpml-ls-legacy-list-horizontal ul li{display:inline-flex!important;align-items:stretch;justify-content:stretch;padding:0!important}
#footer .wpml-ls-legacy-list-horizontal ul li>a.wpml-ls-link{display:flex!important;align-items:center;justify-content:center;width:100%;height:100%;margin:0!important;padding:0!important;line-height:1}

/* ── Fußzeile: einheitliches, elastisches Hover-Verhalten (roter Strich oben + goldene Schrift + federndes Anheben) für Menü, Sprachkürzel und Share-Buttons ── */
#footer ul#menu-footer-menu>li>a{display:inline-block!important;border-top:2px solid transparent!important;transition:border-color .3s ease,color .3s ease,transform .6s cubic-bezier(.34,1.56,.64,1)!important}
#footer .wpml-ls-legacy-list-horizontal ul li{box-shadow:inset 0 2px 0 transparent;transition:box-shadow .3s ease,transform .6s cubic-bezier(.34,1.56,.64,1),border-color .3s ease!important}
#footer .wpml-ls-legacy-list-horizontal ul li>a.wpml-ls-link{transition:color .3s ease!important}
#footer .footer-block .social-networks li a{display:inline-block!important;border-top:2px solid transparent!important;padding-top:6px!important;transition:border-color .3s ease,opacity .3s ease,transform .6s cubic-bezier(.34,1.56,.64,1)!important}
@media (hover:hover){
  #footer ul#menu-footer-menu>li>a:hover,#footer ul#menu-footer-menu>li>a:focus-visible{border-top-color:#f00!important;color:#e3ad7e!important;transform:translateY(-3px)}
  #footer .wpml-ls-legacy-list-horizontal ul li:hover{box-shadow:inset 0 2px 0 #f00;transform:translateY(-3px);border-color:#f00!important}
  #footer .wpml-ls-legacy-list-horizontal ul li:hover>a.wpml-ls-link,#footer .wpml-ls-legacy-list-horizontal ul li:hover>a.wpml-ls-link span{color:#e3ad7e!important}
  #footer .footer-block .social-networks li a:hover,#footer .footer-block .social-networks li a:focus-visible{border-top-color:#f00!important;transform:translateY(-3px);opacity:1}
}

/* Untertitel im Seitenkopf linksbündig (Blocksatz zog auf dem Handy die Wörter der ersten Zeile weit auseinander) */
#rzb-hero .rzb-hero-paragraph,#rzb-hero .rzb-hero-caption{text-align:start!important;text-align-last:auto!important;text-justify:auto!important;hyphens:manual!important;-webkit-hyphens:manual!important;word-spacing:normal!important}

/* ── Einheitliche Heros: Schrift, Größen, Abstände und Scroll-Linie aller Unterseiten folgen exakt dem Startseiten-Hero (Raster 1240/1024/778/480, Werte skalieren wie dort) ── */
html body #rzb-hero{--h:900px;--x:calc((100vw - 1240px)/2 + 60px);--r:calc((100vw - 1240px)/2 + 85px);--pb:51px;--sb:93px;--vl:170px;--sg:19px;--sfs:13px;--cfs:19px;--hfs:90px;--hls:-5px;--cls:4px;--g1:15px;--g2:28px}
@media (min-width:1024px) and (max-width:1239.98px){html body #rzb-hero{--h:calc(100vw*.7258);--x:60px;--r:82px;--pb:51px;--sb:calc(var(--h)*.0975);--vl:calc(100vw*.1371);--sg:17px;--sfs:calc(100vw*.01048);--cfs:calc(100vw*.01532);--hfs:calc(100vw*.07258);--hls:calc(100vw*-.00403);--cls:calc(100vw*.003226);--g1:calc(100vw*.0117);--g2:calc(100vw*.0226)}}
@media (min-width:778px) and (max-width:1023.98px){html body #rzb-hero{--h:calc(100vw*.75);--x:60px;--r:78px;--pb:24px;--sb:calc(var(--h)*.051);--vl:calc(100vw*.1367);--sg:16px;--sfs:calc(100vw*.0127);--cfs:calc(100vw*.01855);--hfs:calc(100vw*.078125);--hls:calc(100vw*-.0039);--cls:calc(100vw*.0039);--g1:calc(100vw*.0145);--g2:calc(100vw*.0319)}}
@media (min-width:480px) and (max-width:777.98px){html body #rzb-hero{--h:calc(100vw*.8483);--x:60px;--r:77px;--pb:15px;--sb:calc(var(--h)*.073);--vl:calc(100vw*.135);--sg:17px;--sfs:calc(100vw*.0167);--cfs:calc(100vw*.02442);--hfs:calc(100vw*.08997);--hls:calc(100vw*-.00643);--cls:calc(100vw*.00514);--g1:12px;--g2:calc(100vw*.0317)}}
@media (max-width:479.98px){html body #rzb-hero{--h:calc(100vw*1.5);--x:20px;--r:20px;--pb:20px;--sb:calc(var(--h)*.041);--vl:calc(100vw*.2083);--sg:27px;--sfs:calc(100vw*.02708);--cfs:calc(100vw*.03958);--hfs:calc(100vw*.125);--hls:calc(100vw*-.00833);--cls:calc(100vw*.00833);--g1:12px;--g2:calc(100vw*.0308)}}
html body #rzb-hero{height:var(--h)!important;max-height:none!important}
html body #rzb-hero #rzb-hero-inner{max-width:none!important;margin:0!important;padding:0 var(--r) var(--pb) var(--x)!important}
html body #rzb-hero .rzb-hero-col{max-width:min(747px,calc(100vw - var(--x) - var(--r) - 20px))!important}
html body #rzb-hero .rzb-hero-caption{font-family:"Roboto",Arial,sans-serif!important;font-size:var(--cfs)!important;font-weight:400!important;letter-spacing:var(--cls)!important;text-transform:uppercase!important;color:#fff!important;line-height:1.3!important;margin:0 0 var(--g1)!important}
html body #rzb-hero .rzb-hero-headline{font-family:"Playfair Display",Georgia,serif!important;font-size:var(--hfs)!important;font-weight:400!important;letter-spacing:var(--hls)!important;line-height:1.0556!important;color:#fff!important;margin:0 0 var(--g2)!important}
html body #rzb-hero .rzb-hero-paragraph{font-family:"Roboto",Arial,sans-serif!important;font-size:var(--cfs)!important;font-weight:400!important;letter-spacing:0!important;line-height:1.263!important;color:#e8ba98!important;margin:0!important}
html body #rzb-hero .rzb-hero-rcol{display:flex!important;right:var(--r)!important;bottom:var(--sb)!important;gap:var(--sg)!important}
html body #rzb-hero .rzb-hero-vline{height:var(--vl)!important}
html body #rzb-hero .rzb-hero-scroll{font-family:"Roboto",Arial,sans-serif!important;font-size:var(--sfs)!important;font-weight:400!important;letter-spacing:var(--cls)!important}
html body #rzb-hero.rzb-hero-rtl .rzb-hero-headline,html body .rzb-hero-rtl .rzb-hero-headline{letter-spacing:0!important}

/* iPhone (< 480 px): „scroll“ und Linie entfallen, der Text nutzt die ganze Breite (Startseite und Unterseiten gleich) */
@media (max-width:479.98px){
  html body #rzb-hero .rzb-hero-rcol{display:none!important}
  html body #rzb-hero .rzb-hero-col{max-width:calc(100vw - var(--x) - var(--r))!important}
}

/* ═══ iPhone-Raster: ein einheitlicher Seitenrand von 20 px für Logo, Burger, Hero-Text, Texte, Bilder, Karten und Formulare ═══ */
@media (max-width:479.98px){
  html body{--rz-g:20px}
  /* Inhaltszeilen des Page-Builders: Rand nur an der Zeile, nicht zusätzlich an Spalten und Widgets */
  html body .wpb-content-wrapper .vc_row{padding-left:var(--rz-g)!important;padding-right:var(--rz-g)!important}
  html body .wpb-content-wrapper .vc_row .vc_column_container,html body .wpb-content-wrapper .vc_row .vc_column-inner{padding-left:0!important;padding-right:0!important}
  html body .wpb-content-wrapper .vc_row .vc_wp_text,html body .wpb-content-wrapper .vc_row .widget_text{padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
  /* eigene Komponenten: der Rand kommt aus der Zeile */
  html body .rzg,html body .rzp,html body .rzn,html body .rzi{padding-left:var(--rz-g)!important;padding-right:var(--rz-g)!important}
  html body .wpb-content-wrapper .vc_row:has(.rzg,.rzp,.rzn,.rzi){padding-left:0!important;padding-right:0!important}
  html body .rzk{padding-left:var(--rz-g)!important;padding-right:var(--rz-g)!important}
  html body .rzp-bar{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding-left:var(--rz-g)!important;padding-right:var(--rz-g)!important}
  html body .rzp-pills{margin-left:calc(-1*var(--rz-g))!important;margin-right:calc(-1*var(--rz-g))!important;padding-left:var(--rz-g)!important;padding-right:var(--rz-g)!important}
  /* Kopfzeile: Logo links und Burger rechts bündig mit dem Seitenrand */
  html body .classic-menu.responsive li.logo{margin-left:7px!important}
  html body .classic-menu .responsive-header .sandwich-icon{margin-right:4px!important}
  /* Fließtexte linksbündig statt Blocksatz */
  html body .rzk-side p,html body .wpb_text_column p,html body .vc_wp_text p{text-align:justify!important;text-justify:inter-word;-webkit-hyphens:auto!important;hyphens:auto!important;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;hyphenate-limit-chars:7 3 3;hyphenate-limit-lines:2;word-spacing:-.02em;letter-spacing:0!important;text-wrap:pretty;overflow-wrap:break-word}
  /* Fußzeile kompakter */
  html body #footer .footer__widgets{padding-top:34px!important}
  html body #footer ul#menu-footer-menu>li{padding-top:4px!important;padding-bottom:4px!important}
}

/* ═══ Tablet (480–1023 px): gleiches System mit 32 px Seitenrand; der Hero-Text folgt dem Startseiten-Hero (60 px) ═══ */
@media (min-width:480px) and (max-width:1023.98px){
  html body{--rz-g:32px}
  html body .wpb-content-wrapper .vc_row{padding-left:var(--rz-g)!important;padding-right:var(--rz-g)!important}
  html body .wpb-content-wrapper .vc_row .vc_column_container,html body .wpb-content-wrapper .vc_row .vc_column-inner{padding-left:0!important;padding-right:0!important}
  html body .wpb-content-wrapper .vc_row .vc_wp_text,html body .wpb-content-wrapper .vc_row .widget_text{padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
  html body .rzg,html body .rzp,html body .rzn,html body .rzi,html body .rzk{padding-left:var(--rz-g)!important;padding-right:var(--rz-g)!important}
  html body .wpb-content-wrapper .vc_row:has(.rzg,.rzp,.rzn,.rzi){padding-left:0!important;padding-right:0!important}
  html body .rzp-bar{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding-left:var(--rz-g)!important;padding-right:var(--rz-g)!important}
  html body .rzp-pills{margin-left:calc(-1*var(--rz-g))!important;margin-right:calc(-1*var(--rz-g))!important;padding-left:var(--rz-g)!important;padding-right:var(--rz-g)!important}
}
@media (min-width:480px) and (max-width:849.98px){
  html body .classic-menu.responsive li.logo{margin-left:19px!important}
  html body .classic-menu .responsive-header .sandwich-icon{margin-right:12px!important}
}
