/* Vitro – Ergänzungen zur übernommenen Design-Basis (ersetzt Laufzeit-Styles von Elementor/Plugins) */

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

/* Sticky Header: Platzhalter statt JS-Positionierung durch Elementor */
.elementor-sticky__spacer { width: 100%; pointer-events: none; }
.elementor-sticky--active.im-hidden { box-shadow: none; }

/* Popup / Dialog (mobiles Menü) */
.dialog-widget { position: fixed; inset: 0; z-index: 9998; display: flex; }
.dialog-widget.elementor-popup-modal { display: flex; pointer-events: none; background-color: transparent; }
.dialog-lightbox-widget-content { position: absolute; }
.dialog-close-button { position: absolute; cursor: pointer; text-align: center; line-height: 1; color: #9da5ae; }
.dialog-close-button svg, .dialog-close-button i { display: block; }
.dialog-close-button:hover { color: #6d7882; }
body.dialog-body { overflow: hidden; }
[data-elementor-type="popup"] { display: none; }

/* Sprachumschalter */
.trp-language-switcher { position: relative; }

/* Cookie-Banner: Sichtbarkeit */
.cmplz-cookiebanner.cmplz-hidden { display: none !important; }
.cmplz-cookiebanner.cmplz-dismissed { display: none !important; }
.cmplz-cookiebanner:not(.cmplz-show) { display: none; }

/* Bild-Lightbox */
.vl-lightbox {
  position: fixed; inset: 0; z-index: 100000; display: none; align-items: center; justify-content: center;
  background: rgba(0, 0, 0, .9);
}
.vl-lightbox.is-open { display: flex; }
.vl-lightbox figure { margin: 0; max-width: 92vw; max-height: 92vh; text-align: center; }
.vl-lightbox img { max-width: 92vw; max-height: 85vh; width: auto; height: auto; display: block; margin: 0 auto; }
.vl-lightbox figcaption { color: #fff; font-size: 14px; padding-top: 10px; }
.vl-lightbox button {
  position: absolute; background: none; border: 0; color: #fff; cursor: pointer; padding: 16px; line-height: 1;
}
.vl-lightbox__close { top: 6px; right: 14px; font-size: 40px; }
.vl-lightbox__nav { top: 50%; transform: translateY(-50%); font-size: 30px; }
.vl-lightbox__prev { left: 6px; }
.vl-lightbox__next { right: 6px; }
.vl-lightbox.single .vl-lightbox__nav { display: none; }
body.vl-lightbox-open { overflow: hidden; }

/* Formular-Rückmeldungen */
.elementor-form .elementor-message { margin: 10px 0 0; padding: 0; font-size: 15px; line-height: 1.4; width: 100%; }
.elementor-form .elementor-message-success { color: #2e7d32; }
.elementor-form .elementor-message-danger { color: #c62828; }
.elementor-field-invalid { border-color: #c62828 !important; }

/* YouTube-Platzhalter (Cookie-Einwilligung) */
.cmplz-placeholder-element.cmplz-blocked-content-container { aspect-ratio: 16 / 9; width: 100%; }
.cmplz-placeholder-element.cmplz-activated { position: relative; aspect-ratio: 16 / 9; width: 100%; }
.cmplz-placeholder-element.cmplz-activated .elementor-widget-container { position: absolute; inset: 0; }
.cmplz-placeholder-element.cmplz-activated .elementor-video { position: absolute; inset: 0; }
.cmplz-placeholder-element.cmplz-activated iframe { width: 100%; height: 100%; border: 0; display: block; }

/* WooCommerce Produktgalerie (ohne Flexslider) */
.woocommerce div.product div.images.woocommerce-product-gallery, .woocommerce-product-gallery { opacity: 1 !important; }

.cmplz-iframe-box.cmplz-blocked-content-container { aspect-ratio: 1280 / 920; width: 100%; }
.cmplz-iframe-box iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* Mitgliederbereich (Login) */
.vl-members-login { display: flex; justify-content: center; padding: 80px 20px; }
.vl-login-box { width: 100%; max-width: 420px; }
.vl-login-box h1 { margin: 0 0 16px; }
.vl-login-box input[type="password"] { width: 100%; box-sizing: border-box; padding: 12px; margin-top: 6px; }
.vl-login-box button { cursor: pointer; }
.vl-login-error { color: #c62828; }

/* SEO: Haupt-H1 optisch wie die bisherige H2 (Elementor-Kit-Regeln gespiegelt) */
.elementor-kit-5 h1.vl-h1{color:var( --e-global-color-b8dc78a );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );}@media(max-width:1024px){.elementor-kit-5 h1.vl-h1{font-size:var( --e-global-typography-accent-font-size );}}@media(max-width:767px){.elementor-kit-5 h1.vl-h1{font-size:var( --e-global-typography-accent-font-size );}}
