/* Ergänzungen zum übernommenen Framer-CSS. Ersetzt das, was vorher die Framer-Laufzeit gemacht hat. */

html { scroll-behavior: smooth; }
#benefits, #referenzen, #faq { scroll-margin-top: 20px; }

/* FAQ: Antwort nur im geöffneten Zustand */
.framer-J8NGm.framer-v-1vwzzns > .framer-uaqkef { display: none; }
.framer-J8NGm { cursor: pointer; }
.framer-J8NGm .framer-uaqkef { animation: ac-faq-in 0.35s ease both; }
@keyframes ac-faq-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 0.8; transform: none; } }

/* Menü-Symbol und Navigationslinks */
.framer-Ygqel { cursor: pointer; }

[data-ac-countdown][hidden] { display: none !important; }

/* Ticker: Laufband ohne Framer */
[data-ac-ticker] > ul { will-change: transform; }

/* Videos mit Ton-Hinweis */
.framer-mjytiv { z-index: 2; }
.ac-video-unmuted .framer-mjytiv { opacity: 0 !important; pointer-events: none !important; transform: translate(-50%, -50%) scale(0.9) !important; }

/* Story-Slideshow */
[aria-label="Stories Slideshow"] img { transition: transform 0.45s ease, opacity 0.45s ease; }

/* Cookie-Banner (Nachbau der Framer-Cookie-Komponente). Sperrt die Seite nicht: nur die Box nimmt Klicks an. */
.ac-cookie-root { display: contents; }
.ac-cookie-root > div { pointer-events: none !important; }
.ac-cookie-root .--framer-cookie-banner-container { pointer-events: auto; }
.ac-cookie-root .__framer-cookie-component-button:hover { opacity: 0.85; }
.ac-cookie-toggle { width: 26px; height: 16px; border-radius: 10px; border: 0; padding: 2px; background: rgb(225, 225, 225); cursor: pointer; display: flex; align-items: center; justify-content: flex-start; transition: background 0.2s ease; }
.ac-cookie-toggle > span { width: 12px; height: 12px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15); transition: transform 0.2s ease; }
.ac-cookie-toggle[aria-checked="true"] { background: var(--token-8ac16af9-f93c-4779-9548-b8ec4a780e04, rgb(255, 0, 80)); }
.ac-cookie-toggle[aria-checked="true"] > span { transform: translateX(10px); }
.ac-cookie-toggle[disabled] { cursor: default; }

/* Anmelde-Fenster /register: live steht es links oben angeschnitten (Framer: top/left 0%), hier mittig */
.ac-modal-open { overflow: hidden; }
#overlay .framer-rD33w.framer-avoc2d, #overlay .framer-rD33w.framer-1tksn6u, #overlay .framer-rD33w.framer-rirr4q, #overlay .framer-rD33w.framer-ocyy9q {
  top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 11;
  max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; box-sizing: border-box;
}
#overlay .framer-rD33w.framer-1j4s6q9 { z-index: 10; }
#overlay .framer-rD33w.framer-avoc2d { animation: ac-modal-in 0.35s cubic-bezier(0.22, 1, 0.36, 1) both; }
@keyframes ac-modal-in { from { opacity: 0; transform: translate(-50%, -46%); } to { opacity: 1; transform: translate(-50%, -50%); } }
.framer-rD33w.framer-1j4s6q9 { cursor: pointer; }
.framer-form-input { font: inherit; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
