/* ════════════════════════════════════════════════════════════
   Knoepfe: zwei Theater-Effekte

   1. "Vorhang auf" an allen Kartenknoepfen (Kopf, mobil, Abendkarte im
      Megamenue, naechster Abend, Divi-Knoepfe zu /karten/ und /product/,
      Produktseite, Kasse, Sitzplatz-Vorschau). Der rote Knopf ist ein
      Buehnenvorhang aus zwei Samthaelften: in Ruhe ruhiges Rot mit feinem
      Schimmer, keine Streifen, keine Linie oben. Beim Darueberfahren oder
      per Tastatur rafft sich jede Haelfte zu ihrer Aussenkante (scaleX),
      erst dabei werden die senkrechten Falten sichtbar; die untere
      Innenecke schwingt nach aussen wie mit einer Kordel zurueckgebunden. Dahinter die Buehne in tiefem
      Weinrot (#5c0a10) mit zartem Lichtkegel. Schrift und
      Ticket-Symbol bleiben weiss und liegen ueber allem (auf Samt
      mind. 8,9:1, auf Weinrot 14:1).
      Die zwei Haelften legt js/knoepfe.js als <span class="ehc-vorhang">
      an. Ohne JavaScript bleibt der Knopf schlicht rot.

   2. "Rampenlicht" an allen uebrigen Knoepfen: eine Fuellung steigt von
      unten auf wie Licht von der Buehnenrampe (::before, scaleY).
      Rote Knoepfe: Weinrot, Schrift weiss. Umrissknoepfe: Rot, Schrift
      weiss. Menue-Gruppenknoepfe und mobiler Menueknopf: Papier
      (#f1ebe0), Schrift bleibt. Pfeil-Textlinks: nur Unterstreichung.

   Fuer beide: Der Knopf bewegt sich nicht und aendert seine Groesse
   nicht (Divi verschiebt sonst beim Hover den Innenabstand), nur :active
   sinkt er auf .97. Fokus wie Hover. Weniger Bewegung: sofort.

   Spezifitaet: Divi schreibt Farben, Pseudo-Elemente und Hover-Abstaende
   je Knopf mit "body #page-container .et_pb_section .et_pb_button_N" und
   !important in spaet geladene Inline-Styles. Deshalb hier "html body"
   plus IDs im :is(), damit diese Regeln sicher gewinnen.
   Die Klassen ehc-knopf-zweit / ehc-knopf-pfeil sitzen in Divi 5 am
   Knopf selbst, in aelteren Layouts am Modul darum: beides abgedeckt.
   ════════════════════════════════════════════════════════════ */

:root{
	--ehc-rot:#820000;
	--ehc-weinrot:#5c0a10;
	--ehc-papier:#f1ebe0;
	/* Samt: hell / rot / dunkel / rot, Periode 8 px */
	--ehc-samt:repeating-linear-gradient(90deg, #9b0d12 0, #820000 2.5px, #5e0007 4.5px, #820000 6.5px, #9b0d12 8px);
	--ehc-buehnenlicht:radial-gradient(55% 85% at 50% 55%, rgba(255,255,255,.07), rgba(255,255,255,0) 72%); /* Lichtkegel mittig, beruehrt die Oberkante nicht */
	--ehc-auf:cubic-bezier(.23,1,.32,1);
	--ehc-zu:cubic-bezier(.65,0,.35,1);
}

/* ── Gemeinsam: Ebene fuer den Effekt ─────────────────────────── */
html body :is(
	#main-header #top-menu li.ehc-menue-karten > a, #main-header .ehc-mobil-karten,
	#main-header .ehc-mm-abend .ehc-mm-abend__knopf, #page-container .ehc-naechster__weiter,
	#page-container .single_add_to_cart_button, #page-container #place_order, #page-container .ehc-sv .ehc-sv-weiter,
	#page-container .et_pb_button:not(.ehc-knopf-pfeil, .ehc-knopf-pfeil *),
	#page-container .woocommerce :is(a.button, button.button, input.button),
	#main-header .ehc-mm-knopf, #main-header .ehc-mobil-knopf
){
	position:relative; isolation:isolate; overflow:hidden; overflow:clip; /* clip: Grundlinie im Kopf bleibt */
	-webkit-tap-highlight-color:transparent;
}
/* Text mittig: Flex, symmetrischer Abstand, Zeilenhoehe 1.2 */
html body :is(
	#main-header #top-menu li.ehc-menue-karten > a, #main-header .ehc-mobil-karten,
	#main-header .ehc-mm-abend .ehc-mm-abend__knopf, #page-container .ehc-naechster__weiter,
	#page-container .single_add_to_cart_button, #page-container #place_order, #page-container .ehc-sv .ehc-sv-weiter,
	#page-container .et_pb_button:not(.ehc-knopf-pfeil, .ehc-knopf-pfeil *),
	#page-container .woocommerce :is(a.button, button.button, input.button)
){
	display:inline-flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
	align-items:center !important; justify-content:center !important; gap:8px;
	line-height:1.2 !important; text-align:center; text-decoration:none; border:0 !important;
}
/* Volle Breite, wo die Vorlage sie vorsieht (Produktseite, Kasse, Sitzplatz, Abendkarte) */
html body #page-container :is(.single_add_to_cart_button, #place_order, .ehc-sv .ehc-sv-weiter),
html body #main-header .ehc-mm-abend .ehc-mm-abend__knopf{ display:flex !important; }

/* Divi-Knoepfe: derselbe Innenabstand in Ruhe, bei Hover, Fokus und
   Druck. Divis Theme-CSS setzt fuer sein eigenes Pfeil-Symbol beim Hover
   padding .3em 2em .3em .7em und einen 2px-Rand, der Knopf aendert dann
   seine Groesse. 14px 30px ist der Wert aus werkzeuge/divi/divi5.mjs
   (button()), den Divi selbst nicht ausgibt. */
html body #page-container .et_pb_button:not(.ehc-knopf-pfeil, .ehc-knopf-pfeil *),
html body #page-container .et_pb_button:not(.ehc-knopf-pfeil, .ehc-knopf-pfeil *):is(:hover, :focus, :focus-visible, :active),
/* Theme-Builder-Koerper (Chronik, Produkt, 404): Divi schreibt dort ueber #et-boc */
html body.et-db #page-container #et-boc .et-l .et_pb_button:not(.ehc-knopf-pfeil, .ehc-knopf-pfeil *, .ehc-chronik-karte__titel),
html body.et-db #page-container #et-boc .et-l .et_pb_button:not(.ehc-knopf-pfeil, .ehc-knopf-pfeil *, .ehc-chronik-karte__titel):is(:hover, :focus, :focus-visible, :active){
	padding:14px 30px !important; min-height:52px; border-width:0 !important;
}

/* Die Effekt-Ebene: ::before, unter Schrift und Symbol */
html body :is(
	#main-header #top-menu li.ehc-menue-karten > a, #main-header .ehc-mobil-karten,
	#main-header .ehc-mm-abend .ehc-mm-abend__knopf, #page-container .ehc-naechster__weiter,
	#page-container .single_add_to_cart_button, #page-container #place_order, #page-container .ehc-sv .ehc-sv-weiter,
	#page-container .et_pb_button:not(.ehc-knopf-pfeil, .ehc-knopf-pfeil *),
	#page-container .woocommerce :is(a.button, button.button, input.button),
	#main-header .ehc-mm-knopf, #main-header .ehc-mobil-knopf
):is(*, :hover, :focus-visible)::before{
	content:"" !important; display:block !important; position:absolute !important; inset:-1px !important; z-index:-1 !important;
	width:auto !important; height:auto !important; margin:0 !important; padding:0 !important; border:0 !important;
	font-size:0 !important; line-height:0 !important; opacity:1 !important; pointer-events:none;
	border-radius:inherit;
}

/* ════ 1. Vorhang auf (Kartenknoepfe) ════ */
html body :is(
	#main-header #top-menu li.ehc-menue-karten > a, #main-header .ehc-mobil-karten,
	#main-header .ehc-mm-abend .ehc-mm-abend__knopf, #page-container .ehc-naechster__weiter,
	#page-container .single_add_to_cart_button, #page-container #place_order, #page-container .ehc-sv .ehc-sv-weiter,
	#page-container .et_pb_button:is([href*="/karten/"], [href*="/product/"]):not(.ehc-knopf-zweit, .ehc-knopf-pfeil, .ehc-knopf-zweit *, .ehc-knopf-pfeil *)
):is(*, :hover, :focus-visible){
	color:#fff !important;
	background:var(--ehc-rot) !important;   /* ohne JavaScript: schlicht rot */
	box-shadow:none !important;
}
/* Mit Vorhang: dahinter die Buehne */
html body :is(
	#main-header #top-menu li.ehc-menue-karten > a, #main-header .ehc-mobil-karten,
	#main-header .ehc-mm-abend .ehc-mm-abend__knopf, #page-container .ehc-naechster__weiter,
	#page-container .single_add_to_cart_button, #page-container #place_order, #page-container .ehc-sv .ehc-sv-weiter,
	#page-container .et_pb_button:is([href*="/karten/"], [href*="/product/"]):not(.ehc-knopf-zweit, .ehc-knopf-pfeil, .ehc-knopf-zweit *, .ehc-knopf-pfeil *)
).ehc-vorhang-an:is(*, :hover, :focus-visible){ background:var(--ehc-buehnenlicht), var(--ehc-weinrot) !important; }

/* Die zwei Vorhanghaelften (js/knoepfe.js), unter Schrift und Symbol */
html body .ehc-vorhang-an > .ehc-vorhang{
	display:block; position:absolute; top:-1px; bottom:-1px; z-index:-1; margin:0; padding:0;
	pointer-events:none; will-change:transform;
	transition:transform .35s var(--ehc-zu), border-radius .35s var(--ehc-zu);
}
/* In Ruhe: ruhiges, sattes Rot mit ganz feinem Samtschimmer, keine Streifen */
html body .ehc-vorhang-an > :is(.ehc-vorhang--links, .ehc-vorhang--rechts){
	background:linear-gradient(180deg, #890307 0%, #820000 40%, #7a0000 100%);
}
html body .ehc-vorhang-an > .ehc-vorhang--links{ left:-1px; width:calc(50% + 2px); transform-origin:0 50%; }
html body .ehc-vorhang-an > .ehc-vorhang--rechts{ right:-1px; width:calc(50% + 2px); transform-origin:100% 50%; }
/* Falten: erst sichtbar, wenn sich der Stoff rafft (Deckkraft folgt dem
   Oeffnen), mit dunklerer Kante zur Mitte */
html body .ehc-vorhang-an > .ehc-vorhang::before{
	content:""; position:absolute; inset:0; border-radius:inherit; opacity:0;
	transition:opacity .25s var(--ehc-zu);
}
html body .ehc-vorhang-an > .ehc-vorhang--links::before{
	background:linear-gradient(90deg, rgba(40,0,6,0) 45%, rgba(40,0,6,.55) 100%), var(--ehc-samt);
}
html body .ehc-vorhang-an > .ehc-vorhang--rechts::before{
	background:linear-gradient(270deg, rgba(40,0,6,0) 45%, rgba(40,0,6,.55) 100%), var(--ehc-samt);
}
/* Vorhang auf: Tastatur immer, Zeiger nur, wo es Darueberfahren gibt.
   Stoff ist traege: ease-in-out, oeffnen .5s, schliessen .35s. */
html body .ehc-vorhang-an:not(:disabled):focus-visible > :is(.ehc-vorhang--links, .ehc-vorhang--rechts),
html body .ehc-naechster__link:focus-visible .ehc-vorhang-an > :is(.ehc-vorhang--links, .ehc-vorhang--rechts){
	transform:scaleX(.26); transition:transform .5s var(--ehc-zu), border-radius .5s var(--ehc-zu);
}
html body .ehc-vorhang-an:not(:disabled):focus-visible > .ehc-vorhang--links,
html body .ehc-naechster__link:focus-visible .ehc-vorhang-an > .ehc-vorhang--links{ border-bottom-right-radius:60% 100%; }
html body .ehc-vorhang-an:not(:disabled):focus-visible > .ehc-vorhang::before,
html body .ehc-naechster__link:focus-visible .ehc-vorhang-an > .ehc-vorhang::before{ opacity:1; transition:opacity .45s var(--ehc-zu); }
html body .ehc-vorhang-an:not(:disabled):focus-visible > .ehc-vorhang--rechts,
html body .ehc-naechster__link:focus-visible .ehc-vorhang-an > .ehc-vorhang--rechts{ border-bottom-left-radius:60% 100%; }
@media (hover:hover){
	html body .ehc-vorhang-an:not(:disabled):hover > :is(.ehc-vorhang--links, .ehc-vorhang--rechts),
	html body .ehc-naechster__link:hover .ehc-vorhang-an > :is(.ehc-vorhang--links, .ehc-vorhang--rechts){
		transform:scaleX(.26); transition:transform .5s var(--ehc-zu), border-radius .5s var(--ehc-zu);
	}
	html body .ehc-vorhang-an:not(:disabled):hover > .ehc-vorhang--links,
	html body .ehc-naechster__link:hover .ehc-vorhang-an > .ehc-vorhang--links{ border-bottom-right-radius:60% 100%; }
	html body .ehc-vorhang-an:not(:disabled):hover > .ehc-vorhang::before,
	html body .ehc-naechster__link:hover .ehc-vorhang-an > .ehc-vorhang::before{ opacity:1; transition:opacity .45s var(--ehc-zu); }
	html body .ehc-vorhang-an:not(:disabled):hover > .ehc-vorhang--rechts,
	html body .ehc-naechster__link:hover .ehc-vorhang-an > .ehc-vorhang--rechts{ border-bottom-left-radius:60% 100%; }
}

/* Ticket-Symbol an den Kartenknoepfen: img/ticket.svg als Maske, Farbe
   = Schrift. Echtes Flex-Kind links vom Text (order:-1), keine
   negativen Raender: Zeilenhoehe 1.2 > Symbol 1.15em. */
html body :is(
	#main-header #top-menu li.ehc-menue-karten > a, #main-header .ehc-mobil-karten,
	#main-header .ehc-mm-abend .ehc-mm-abend__knopf, #page-container .ehc-naechster__weiter,
	#page-container .single_add_to_cart_button, #page-container #place_order, #page-container .ehc-sv .ehc-sv-weiter,
	#page-container .et_pb_button:is([href*="/karten/"], [href*="/product/"]):not(.ehc-knopf-zweit, .ehc-knopf-pfeil, .ehc-knopf-zweit *, .ehc-knopf-pfeil *)
):is(*, :hover, :focus-visible)::after{
	content:"" !important; order:-1; flex:none; align-self:center !important; position:static !important; inset:auto !important;
	display:block !important; width:1.15em !important; height:1.15em !important; margin:0 !important; padding:0 !important; border:0 !important;
	font-size:inherit !important; line-height:1 !important; opacity:1 !important; transform:none !important; transition:none !important;
	background:currentColor !important; text-shadow:none !important;
	-webkit-mask:url(../img/ticket.svg) center / contain no-repeat; mask:url(../img/ticket.svg) center / contain no-repeat;
}

/* ════ 2. Rampenlicht (alle uebrigen Knoepfe) ════ */
/* Divis eigenes Pfeil-Symbol aus */
html body #page-container .et_pb_button:not(.ehc-knopf-pfeil, .ehc-knopf-pfeil *):not([href*="/karten/"], [href*="/product/"]):is(*, :hover, :focus-visible)::after,
html body #page-container .et_pb_button:is(.ehc-knopf-zweit, .ehc-knopf-zweit *):is(*, :hover, :focus-visible)::after{ display:none !important; }

html body :where(
	#page-container .et_pb_button:not(.ehc-knopf-pfeil, .ehc-knopf-pfeil *, .ehc-knopf-zweit, .ehc-knopf-zweit *):not([href*="/karten/"], [href*="/product/"]),
	#page-container .woocommerce :is(a.button, button.button, input.button):not(.single_add_to_cart_button, #place_order),
	#page-container .et_pb_button:is(.ehc-knopf-zweit, .ehc-knopf-zweit *),
	#main-header .ehc-mm-knopf, #main-header .ehc-mobil-knopf
)::before{
	transform:scaleY(0) !important; transform-origin:50% 100% !important;
	clip-path:none !important;
	transition:transform .25s var(--ehc-zu) !important;
}
/* Fuellfarben */
html body :where(
	#page-container .et_pb_button:not(.ehc-knopf-pfeil, .ehc-knopf-pfeil *, .ehc-knopf-zweit, .ehc-knopf-zweit *):not([href*="/karten/"], [href*="/product/"]),
	#page-container .woocommerce :is(a.button, button.button, input.button):not(.single_add_to_cart_button, #place_order)
)::before{ background:var(--ehc-weinrot) !important; }
html body :where(#page-container .et_pb_button:is(.ehc-knopf-zweit, .ehc-knopf-zweit *))::before{ background:var(--ehc-rot) !important; }
html body :where(#main-header .ehc-mm-knopf, #main-header .ehc-mobil-knopf)::before{ background:var(--ehc-papier) !important; }

/* Grund: rote Knoepfe bleiben rot, Umriss und Menue durchsichtig */
html body :is(
	#page-container .et_pb_button:not(.ehc-knopf-pfeil, .ehc-knopf-pfeil *, .ehc-knopf-zweit, .ehc-knopf-zweit *):not([href*="/karten/"], [href*="/product/"]),
	#page-container .woocommerce :is(a.button, button.button, input.button):not(.single_add_to_cart_button, #place_order)
):is(*, :hover, :focus-visible){ background:var(--ehc-rot) !important; color:#fff !important; box-shadow:none !important; }
html body #page-container .et_pb_button:is(.ehc-knopf-zweit, .ehc-knopf-zweit *):is(*, :hover, :focus-visible){
	background:transparent !important; box-shadow:inset 0 0 0 1.5px var(--gh-text) !important; color:var(--gh-text) !important;
	transition:color .2s ease, transform .12s ease-out !important;
}
html body :is(#main-header .ehc-mm-knopf, #main-header .ehc-mobil-knopf):is(*, :hover, :focus-visible, [aria-expanded="true"]),
html:not(.ehc-mm-js) body #main-header .ehc-mm-gruppe:is(:hover, :focus-within) > .ehc-mm-knopf,
html body #main-header .ehc-mobil-menue[open] > .ehc-mobil-knopf{ background:transparent !important; box-shadow:none !important; }

/* Licht an: Tastatur, offenes Menue, Zeiger */
html body :is(
	#page-container .et_pb_button:not(.ehc-knopf-pfeil, .ehc-knopf-pfeil *):not([href*="/karten/"], [href*="/product/"]),
	#page-container .et_pb_button:is(.ehc-knopf-zweit, .ehc-knopf-zweit *),
	#page-container .woocommerce :is(a.button, button.button, input.button):not(.single_add_to_cart_button, #place_order),
	#main-header .ehc-mm-knopf, #main-header .ehc-mobil-knopf
):focus-visible::before,
html body #main-header .ehc-mm-knopf[aria-expanded="true"]::before,
html:not(.ehc-mm-js) body #main-header .ehc-mm-gruppe:is(:hover, :focus-within) > .ehc-mm-knopf::before,
html body #main-header .ehc-mobil-menue[open] > .ehc-mobil-knopf::before{
	transform:scaleY(1) !important; transition:transform .35s var(--ehc-auf) !important;
}
html body #page-container .et_pb_button:is(.ehc-knopf-zweit, .ehc-knopf-zweit *):focus-visible{ color:#fff !important; }
@media (hover:hover){
	html body :is(
		#page-container .et_pb_button:not(.ehc-knopf-pfeil, .ehc-knopf-pfeil *):not([href*="/karten/"], [href*="/product/"]),
		#page-container .et_pb_button:is(.ehc-knopf-zweit, .ehc-knopf-zweit *),
		#page-container .woocommerce :is(a.button, button.button, input.button):not(.single_add_to_cart_button, #place_order),
		#main-header .ehc-mm-knopf, #main-header .ehc-mobil-knopf
	):hover::before{
		transform:scaleY(1) !important; transition:transform .35s var(--ehc-auf) !important;
	}
	html body #page-container .et_pb_button:is(.ehc-knopf-zweit, .ehc-knopf-zweit *):hover{ color:#fff !important; transition:color .2s ease .06s, transform .12s ease-out !important; }
}

/* ════ 3. Pfeil-Textlinks: nur Unterstreichung, Farbe bleibt ════ */
html body #page-container .et_pb_button:is(.ehc-knopf-pfeil, .ehc-knopf-pfeil *),
html body #page-container .et_pb_button:is(.ehc-knopf-pfeil, .ehc-knopf-pfeil *):is(:hover, :focus, :focus-visible){
	display:inline-flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
	align-items:center !important; justify-content:flex-start !important; gap:0;
	padding:0 !important; line-height:1.2 !important; background:none !important; border:0 !important; box-shadow:none !important;
	text-decoration:underline; text-decoration-color:transparent; text-decoration-thickness:1.5px; text-underline-offset:.22em;
	transition:text-decoration-color .2s ease, transform .12s ease-out !important;
}
html body #page-container .et_pb_button:is(.ehc-knopf-pfeil, .ehc-knopf-pfeil *):is(*, :hover, :focus-visible)::before{ display:none !important; }
html body #page-container .et_pb_button:is(.ehc-knopf-pfeil, .ehc-knopf-pfeil *):is(*, :hover, :focus-visible)::after{
	content:"\2192" !important; display:inline !important; position:static !important; opacity:1 !important;
	margin:0 0 0 .35em !important; font-family:inherit !important; font-size:inherit !important; line-height:inherit !important;
	transform:none !important; transition:none !important;
}
html body #page-container .et_pb_button:is(.ehc-knopf-pfeil, .ehc-knopf-pfeil *):focus-visible{ text-decoration-color:currentColor; }
@media (hover:hover){
	html body #page-container .et_pb_button:is(.ehc-knopf-pfeil, .ehc-knopf-pfeil *):hover{ text-decoration-color:currentColor; }
}

/* ── Druck: leichtes Einsinken, sonst steht der Knopf still ────── */
html body :is(#page-container .et_pb_button, #main-header #top-menu li.ehc-menue-karten > a, #main-header .ehc-mobil-karten,
	#main-header .ehc-mobil-knopf, #main-header .ehc-mm-knopf, #main-header .ehc-mm-abend .ehc-mm-abend__knopf,
	#page-container .single_add_to_cart_button, #page-container #place_order, #page-container .woocommerce .button,
	#page-container .ehc-sv .ehc-sv-weiter):active,
html body #page-container .ehc-naechster__link:active .ehc-naechster__weiter{ transform:scale(.97) !important; }

/* ── Kopf: alle vier Eintraege in einer Flucht ──────────────────
   "Das Stueck" (Link), "Ihr Besuch", "Verein" (Gruppenknoepfe, 48 px
   Pille bei 14 px Zeile) und "Karten" stehen auf derselben Grundlinie.
   Die Kartenpille ist ebenfalls 48 px hoch (20 px Zeile + 2 x 14 px; gerade
   Differenz zur 22-px-Schrifthoehe, sonst rundet Chrome die Schrift 0,6 px
   aus der Mitte),
   der negative Rand haelt den Menuestreifen gleich hoch. Mit
   align-items:baseline bestimmt die Schrift (nicht das Symbol davor) die
   Grundlinie des Knopfes; das Symbol richtet sich selbst mittig aus. */
html body #main-header #top-menu li.ehc-menue-karten > a{
	align-items:baseline !important; min-height:0; padding:14px 22px !important; margin:-17px 0 !important; line-height:20px !important;
	font-size:16px !important; font-weight:600; border-radius:999px; opacity:1;
}
/* Gruppenknoepfe auf 48 px (Mindesthoehe fuer Knoepfe), Rand gleicht aus */
html body #main-header #top-menu .ehc-mm-knopf{ padding:16px 14px 16px 16px !important; margin:-16px -14px -16px -16px !important; }
html body #main-header .ehc-mobil-karten{ min-height:48px; }
html body #page-container .ehc-naechster__weiter{ min-height:52px; }
/* Zweizeilig auf schmalen Handys (320 px): Luft oben und unten statt 3 px */
html:not(#ehc-a) body #page-container .ehc-naechster__weiter{ padding:12px 28px !important; }
html:not(#ehc-a) body #page-container .ehc-sv .ehc-sv-weiter{ padding:12px 24px !important; }

/* Zeilenhoehe in ganzen Pixeln, deren Abstand zur Schrifthoehe gerade ist:
   Chrome rundet die Schrift sonst bis zu 1 px aus der Mitte (gemessen
   mit Range.getBoundingClientRect: oben = unten). Zwei :not(#..) heben
   die Spezifitaet ueber die Grundregel mit line-height 1.2. */
html:not(#ehc-a) body:not(#ehc-b) :is(#page-container .et_pb_button:not(.ehc-knopf-pfeil, .ehc-knopf-pfeil *), #main-header .ehc-mobil-karten,
	#main-header .ehc-mobil-knopf, #main-header .ehc-mm-abend .ehc-mm-abend__knopf){ line-height:20px !important; }        /* 17 px Schrift */
html:not(#ehc-a) body:not(#ehc-b) #page-container .ehc-naechster__weiter{ line-height:21px !important; }           /* 18 px */
html:not(#ehc-a) body:not(#ehc-b) #page-container :is(.single_add_to_cart_button, #place_order){ line-height:24px !important; } /* 19,2 px */

/* ── Weniger Bewegung: sofort offen bzw. zu, keine Fahrt ──────────
   Zwei :not(#..) heben die Regel ueber alle Zustandsregeln oben. */
@media (prefers-reduced-motion: reduce){
	html:not(#ehc-rm1):not(#ehc-rm2) body :is(
		#main-header #top-menu li.ehc-menue-karten > a, #main-header .ehc-mobil-karten,
		#main-header .ehc-mm-abend .ehc-mm-abend__knopf, #page-container .ehc-naechster__weiter,
		#page-container .single_add_to_cart_button, #page-container #place_order, #page-container .ehc-sv .ehc-sv-weiter,
		#page-container .et_pb_button, #page-container .woocommerce :is(a.button, button.button, input.button),
		#main-header .ehc-mm-knopf, #main-header .ehc-mobil-knopf
	):is(*, :hover, :focus-visible, [aria-expanded="true"])::before,
	html:not(#ehc-rm1):not(#ehc-rm2) body #main-header .ehc-mobil-menue[open] > .ehc-mobil-knopf::before,
	html:not(.ehc-mm-js):not(#ehc-rm1):not(#ehc-rm2) body #main-header .ehc-mm-gruppe:is(:hover, :focus-within) > .ehc-mm-knopf::before,
	html:not(#ehc-rm1):not(#ehc-rm2) body #page-container .ehc-naechster__link:is(:hover, :focus-visible) .ehc-naechster__weiter::before,
	html:not(#ehc-rm1):not(#ehc-rm2) body .ehc-vorhang-an > .ehc-vorhang,
	html:not(#ehc-rm1):not(#ehc-rm2) body .ehc-vorhang-an > .ehc-vorhang::before,
	html:not(#ehc-rm1):not(#ehc-rm2) body :is(.ehc-vorhang-an, .ehc-naechster__link):is(:hover, :focus-visible) .ehc-vorhang::before,
	html:not(#ehc-rm1):not(#ehc-rm2) body :is(.ehc-vorhang-an, .ehc-naechster__link):is(:hover, :focus-visible) .ehc-vorhang{ transition:none !important; }
}

/* ── Ausnahme: Titel der Chronik-Karten ──
   Technisch ein Divi-Knopf, gestaltet als schlichter Titel (style.css,
   Abschnitt Chronik). Die ganze Karte ist der Link, daher hier kein
   Knopf, kein Rampenlicht, kein Vorhang. */
html body #page-container .ehc-chronik-karte a.et_pb_button.ehc-chronik-karte__titel:not(#ehc-x),
html body #page-container .ehc-chronik-karte a.et_pb_button.ehc-chronik-karte__titel:not(#ehc-x):hover,
html body #page-container .ehc-chronik-karte a.et_pb_button.ehc-chronik-karte__titel:not(#ehc-x):focus,
html body #page-container .ehc-chronik-karte a.et_pb_button.ehc-chronik-karte__titel:not(#ehc-x):focus-visible{
	display:inline !important; min-height:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important;
	background:transparent !important; box-shadow:none !important; transform:none !important;
	font-family:var(--gh-schrift-titel) !important; font-style:italic; font-weight:500 !important; font-size:1.35rem !important; line-height:1.15 !important;
	color:var(--gh-text) !important; overflow:visible !important; isolation:auto !important;
}
html body #page-container .ehc-chronik-karte a.et_pb_button.ehc-chronik-karte__titel:not(#ehc-x)::before,
html body #page-container .ehc-chronik-karte a.et_pb_button.ehc-chronik-karte__titel:not(#ehc-x) .ehc-vorhang{ display:none !important; }
html body #page-container .ehc-chronik-karte:hover a.et_pb_button.ehc-chronik-karte__titel:not(#ehc-x),
html body #page-container .ehc-chronik-karte a.et_pb_button.ehc-chronik-karte__titel:not(#ehc-x):focus-visible{ color:var(--gh-akzent) !important; text-decoration:underline; text-underline-offset:.15em; }
@media (max-width: 600px){
	html body #page-container .ehc-chronik-karte a.et_pb_button.ehc-chronik-karte__titel:not(#ehc-x){ font-size:max(1rem, min(1.2rem, 4.1vw)) !important; overflow-wrap:normal; }
}

/* Pfeil-Textlinks im Theme-Builder-Koerper (Chronik, Produkt, 404): Divi setzt
   dort beim Hover Innenabstand, der Link wuerde 34 px breiter. */
html body.et-db #page-container #et-boc .et-l .ehc-knopf-pfeil .et_pb_button,
html body.et-db #page-container #et-boc .et-l .ehc-knopf-pfeil .et_pb_button:is(:hover, :focus, :focus-visible, :active),
html body.et-db #page-container #et-boc .et-l .et_pb_button.ehc-knopf-pfeil,
html body.et-db #page-container #et-boc .et-l .et_pb_button.ehc-knopf-pfeil:is(:hover, :focus, :focus-visible, :active){ padding:0 !important; border-width:0 !important; }

/* Umriss-Knopf auf Nacht (Anfahrt): weiss statt dunkel */
html body #page-container .et_pb_button:is(.ehc-knopf-zweit--hell, .ehc-knopf-zweit--hell *):is(*, :hover, :focus-visible){
	box-shadow:inset 0 0 0 1.5px #fff !important; color:#fff !important; }
