/* Ergänzungen zur Original-Gestaltung der alten Seite – nur dort, wo die neue Technik
   (kein JavaScript, keine Einbindung externer Dienste) anderes Markup braucht. */

/* Mobiles Menü: Knopf ist ein Link (#gb_responsive), gestaltet wie der alte Knopf */
.toggle-menu a.gb_toggle { display: inline-block; padding: 0 23px; background: var(--theme-primary-color); border-radius: 0; font-size: 14px; line-height: 14px; }
.toggle-menu a.gb_toggle i { color: #fff; }
@media (min-width: 992px) { .toggle-menu a.gb_toggle { display: none; } }

/* Akkordeon (Stellen, Ausbildung) mit <details> statt Elementor-JavaScript */
.elementor-accordion summary.elementor-tab-title { display: block; list-style: none; }
.elementor-accordion summary.elementor-tab-title::-webkit-details-marker { display: none; }
.elementor-accordion details[open] > .elementor-tab-content { display: block; }
.elementor-accordion details[open] > .elementor-tab-title .elementor-accordion-icon-closed { display: none; }
.elementor-accordion details[open] > .elementor-tab-title .elementor-accordion-icon-opened { display: block; }
.elementor-accordion .elementor-tab-content a { color: #008000; }
.elementor-accordion .elementor-tab-content p:has(> a.initiativ) { color: #000; }

/* Video: statt eingebettetem YouTube-Player (Datenschutz) eine Fläche mit Link */
.video-ersatz { aspect-ratio: 16 / 9; background: #000; }
.video-ersatz-link { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; width: 100%; height: 100%; color: #fff !important; text-decoration: none; font-weight: 600; }
.video-ersatz-knopf { width: 68px; height: 48px; border-radius: 12px; background: #f00; position: relative; }
.video-ersatz-knopf::after { content: ''; position: absolute; left: 27px; top: 14px; border-style: solid; border-width: 10px 0 10px 17px; border-color: transparent transparent transparent #fff; }
.video-ersatz-link:hover .video-ersatz-knopf, .video-ersatz-link:focus-visible .video-ersatz-knopf { background: #c00; }

/* Platzhalter-Hinweis (nur vor dem Live-Gang) */
.hinweis-platzhalter { border: 2px dashed #ff7e00; background: #fff6ec; padding: 12px 16px; margin: 0 0 20px; color: #333; }

/* „Gestreckte“ Elementor-Abschnitte (volle Fensterbreite) – bisher per JavaScript berechnet.
   --odega-cw = Inhaltsbreite des Bootstrap-Containers des Themes. */
:root { --odega-cw: calc(100vw - 24px); }
@media (min-width: 576px) { :root { --odega-cw: 516px; } }
@media (min-width: 768px) { :root { --odega-cw: 696px; } }
@media (min-width: 992px) { :root { --odega-cw: 936px; } }
@media (min-width: 1200px) { :root { --odega-cw: 1116px; } }
@media (min-width: 1400px) { :root { --odega-cw: 1296px; } }
.elementor-section.elementor-section-stretched { width: 100vw; max-width: none; left: calc((var(--odega-cw) - 100vw) / 2); }
.single-post .elementor-section.elementor-section-stretched { left: calc((var(--odega-cw) - 100vw) / 2 - 12px); }
main.site-main { overflow-x: clip; }

/* Bild-Karussell: Pfeile und Punkte brauchen JavaScript – ausgeblendet, Bilder wechseln automatisch */
.karussell .elementor-swiper-button, .karussell .swiper-pagination { display: none !important; }

/* „Nach oben“-Knopf: als Link; erscheint (wo der Browser es kann) erst nach dem Scrollen */
.scroll-top a.scrollup { display: block; text-align: center; color: #fff; z-index: 999; }
@supports (animation-timeline: scroll()) {
  .scroll-top a.scrollup { animation: odega-hoch linear both; animation-timeline: scroll(root); animation-range: 0 160px; }
  @keyframes odega-hoch { from { opacity: 0; visibility: hidden; } to { opacity: 1; visibility: visible; } }
}
