.elementor-kit-7{--e-global-color-primary:#2F5D3A;--e-global-color-secondary:#A8471F;--e-global-color-text:#3A3528;--e-global-color-accent:#2F5D3A;--e-global-typography-primary-font-family:"Barlow Condensed";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Barlow Condensed";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Barlow";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Barlow";--e-global-typography-accent-font-weight:600;background-color:#F4EEE2;color:#1F2A22;font-family:"Barlow", Sans-serif;font-size:16px;line-height:1.55em;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:#A8471F;font-family:"Barlow Condensed", Sans-serif;font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:#FFFFFF;border-radius:4px 4px 4px 4px;padding:14px 26px 14px 26px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:#1F2A22;color:#FFFFFF;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:#2F5D3A;}.elementor-kit-7 a:hover{color:#1F2A22;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --waldgruen:#2F5D3A; --rost:#A8471F; --tinte:#1F2A22; --text:#3A3528; --text-gedaempft:#5E5440; --hintergrund:#F4EEE2; --flaeche:#FBF8F1; --flaeche-dunkel:#E9E0CC; --linie:#DCCFB6; --linie-kraeftig:#BFAF8F; --rahmen-button:#8C7B5A; --gold:#E9C77B; --weiss:#FFFFFF; --stufe-woelflinge:#E07B1A; --stufe-jungpfadfinder:#1E5AA8; --stufe-pfadfinder:#2E7D32; --stufe-rover:#C0392B; --stufe-leitende:#1F2A22; --schrift-ueberschrift:Barlow Condensed; --schrift-text:Barlow; --schrift-handschrift:Caveat; --schrift-h1:76px; --schrift-h2:54px; --schrift-h3:36px; --schrift-h4:28px; --schrift-preis:34px; --schrift-handschrift-gross:32px; --schrift-text-gross:17px; --schrift-text-basis:15px; --schrift-text-klein:14px; --schrift-text-mini:13px; --abstand-xxs:4px; --abstand-xs:8px; --abstand-s:12px; --abstand-m:16px; --abstand-l:24px; --abstand-xl:32px; --abstand-xxl:40px; --abstand-sektion:96px; --container-breite:1200px; --textbreite:760px; --radius-s:4px; --radius-m:6px; --radius-pill:999px; --schrift-h5:22px; --schrift-h1-mobil:44px; --schrift-h2-mobil:36px; --schrift-h3-mobil:28px; --schrift-lead:19px; --schrift-button:20px; --schrift-handschrift-klein:22px; --abstand-3xl:56px; --abstand-4xl:64px; --abstand-sektion-mobil:56px; --abstand-rand:24px; --textbreite-schmal:520px; --radius-l:10px; --button-hoehe:54px; --papier:#FFFDF8; --text-auf-gruen:#E3EADF; --text-auf-dunkel:#DCD3C0; --platzhalter:#D9CDB4; --klebestreifen:rgba(233,199,123,0.6); --jubel-gruen:#014D48; --jubel-rot:#D60E32; --jubel-gold:#FAB001; --jubel-sand:#F1D7B5; --schrift-jubel-titel:Arvo; --schrift-jubel-text:Open Sans; --stufe-biber:#FFFFFF; }
/* Start custom CSS *//* WICHTIG: Kit-Einstellungen werden über die Elementor-Schnittstelle immer komplett gespeichert.
   Farben/Schriften stehen doppelt: als V4-Variablen (z. B. --waldgruen) UND als globale Farben/Schriften
   (Primär = Waldgrün #2F5D3A, Sekundär = Rost #A8471F, Text = #3A3528, Akzent = Waldgrün;
   Überschriften = Barlow Condensed, Text = Barlow). Grundton ändern = an beiden Stellen ändern. */

/* Strichzeichnungen (SVG aus der Mediathek): Elementor setzt fill=currentColor auf das Wurzelelement – Linien-Icons sollen ungefüllt bleiben. Gezielt gefüllte Teile (fill-Attribut am Pfad) bleiben erhalten. */
.e-svg-base svg[stroke] { fill: none; }

/* Wegweiser: Kategorie-Schilder (Blog). Die Kategorie kommt dynamisch als Link; Farbe je Kategorie über den Link. Neue Kategorie ohne Regel = Tinte. */
.wegweiser-liste { font-size: 0 !important; line-height: 1; }
.wegweiser-liste a { display: inline-flex; align-items: center; height: 40px; padding: 0 40px 0 18px; background-color: var(--tinte); color: var(--weiss) !important; font-family: var(--schrift-ueberschrift); font-weight: 700; font-size: 22px; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; clip-path: polygon(0 0, 100% 0, calc(100% - 24px) 100%, 0 100%); transition: filter 0.15s ease; }
.wegweiser-liste-klein a { height: 30px; padding: 0 30px 0 12px; font-size: 16px; clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0 100%); }
.wegweiser-liste a:hover { filter: brightness(1.2); }
.wegweiser-liste a[href*="/lager/"] { background-color: var(--waldgruen); }
.wegweiser-liste a[href*="/gruppenstunde/"] { background-color: var(--rost); }

/* Blogbeitrag: Fließtext aus dem WordPress-Editor */
.beitrag-inhalt p { margin: 0 0 20px; }
.beitrag-inhalt h2 { font-family: var(--schrift-ueberschrift); font-weight: 700; font-size: 36px; line-height: 1.05; text-transform: uppercase; color: var(--tinte); margin: 36px 0 16px; }
.beitrag-inhalt h3 { font-family: var(--schrift-ueberschrift); font-weight: 700; font-size: 26px; line-height: 1.1; text-transform: uppercase; color: var(--tinte); margin: 28px 0 12px; }
.beitrag-inhalt ul, .beitrag-inhalt ol { padding-left: 22px; margin: 0 0 20px; }
.beitrag-inhalt li { margin-bottom: 6px; }
.beitrag-inhalt blockquote, .beitrag-inhalt .wp-block-quote { margin: 28px 0; padding: 20px 24px; background-color: var(--flaeche-dunkel); border: none; border-radius: 6px; transform: rotate(-0.6deg); }
.beitrag-inhalt blockquote p { font-family: var(--schrift-handschrift); font-weight: 600; font-size: 30px; line-height: 1.2; color: var(--waldgruen); margin: 0 0 6px; }
.beitrag-inhalt blockquote cite { font-family: var(--schrift-text); font-size: 15px; font-style: normal; color: var(--text-gedaempft); }
.beitrag-inhalt img { border-radius: 6px; height: auto; max-width: 100%; }
.beitrag-inhalt figure { margin: 28px 0; }
.beitrag-inhalt figcaption { font-size: 14px; color: var(--text-gedaempft); }
.beitrag-inhalt a { color: var(--waldgruen); }

/* Inhaltsseiten (Template „Seite · Standard“) und Blog: weitere Bausteine aus dem WordPress-Editor.
   CSS-Klassen im Editor unter „Erweitert → Zusätzliche CSS-Klasse(n)“: einleitung, download-box, hinweis-box */
.beitrag-inhalt { font-size: 18px; line-height: 1.65; color: var(--text); }
.beitrag-inhalt h2 { scroll-margin-top: 100px; }
.beitrag-inhalt h4 { font-family: var(--schrift-ueberschrift); font-weight: 700; font-size: 21px; letter-spacing: 0.03em; text-transform: uppercase; color: var(--tinte); margin: 24px 0 8px; }
.beitrag-inhalt li::marker { color: var(--waldgruen); }
.beitrag-inhalt .einleitung { font-size: 20px; line-height: 1.6; color: var(--tinte); padding-left: 20px; border-left: 4px solid var(--waldgruen); margin-bottom: 32px; }
.beitrag-inhalt .download-box { gap: 20px; padding: 20px 24px; margin: 28px 0; background-color: var(--flaeche); border: 1px solid var(--linie); border-radius: 6px; }
.beitrag-inhalt .download-box figure { margin: 0; flex-shrink: 0; }
.beitrag-inhalt .download-box img { border-radius: 2px; box-shadow: 0 2px 8px rgba(31,42,34,0.15); }
.beitrag-inhalt .download-box h3 { margin: 0 0 4px; font-size: 22px; }
.beitrag-inhalt .download-box p { margin: 0 0 12px; font-size: 15px; }
.beitrag-inhalt .wp-block-file { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0; font-size: 14px; }
.beitrag-inhalt .wp-block-file__button { display: inline-flex; align-items: center; min-height: 44px; margin: 0 !important; padding: 0 20px; border-radius: 4px; background-color: var(--rost); color: var(--weiss) !important; font-family: var(--schrift-ueberschrift); font-weight: 700; font-size: 18px; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; }
.beitrag-inhalt .wp-block-file__button:hover { background-color: var(--tinte); }
.beitrag-inhalt .hinweis-box { padding: 20px 24px; margin: 28px 0; background-color: var(--flaeche-dunkel); border-left: 4px solid var(--rost); border-radius: 0 6px 6px 0; }
.beitrag-inhalt .hinweis-box > :last-child { margin-bottom: 0; }
.beitrag-inhalt table { width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: 15px; }
.beitrag-inhalt th, .beitrag-inhalt td { padding: 10px 12px; border-bottom: 1px solid var(--linie); text-align: left; }
.beitrag-inhalt th { font-family: var(--schrift-ueberschrift); letter-spacing: 0.04em; text-transform: uppercase; color: var(--tinte); }
@media (max-width: 767px) { .beitrag-inhalt { font-size: 17px; } .beitrag-inhalt .download-box { flex-wrap: wrap !important; } }

/* Galerien in Blogbeiträgen: WordPress-Block „Galerie“ als Masonry (Spalten), Klick öffnet Elementor-Lightbox mit Blättern (Skript „Blog · Galerie-Lightbox“) */
.beitrag-inhalt .wp-block-gallery { display: block !important; columns: 3; column-gap: 12px; margin: 28px 0 !important; }
.beitrag-inhalt .wp-block-gallery:has(> .wp-block-image:nth-of-type(2):last-of-type) { columns: 2; }
.beitrag-inhalt .wp-block-gallery:has(> .wp-block-image:only-of-type) { columns: 1; }
.beitrag-inhalt .wp-block-gallery .wp-block-image { display: block; width: 100% !important; margin: 0 0 12px !important; break-inside: avoid; }
.beitrag-inhalt .wp-block-gallery .wp-block-image a { display: block; cursor: zoom-in; }
.beitrag-inhalt .wp-block-gallery .wp-block-image img { display: block; width: 100% !important; height: auto !important; object-fit: initial !important; border-radius: 4px; transition: opacity 0.15s ease; }
.beitrag-inhalt .wp-block-gallery .wp-block-image a:hover img { opacity: 0.88; }
.beitrag-inhalt .wp-block-gallery .blocks-gallery-caption { column-span: all; font-size: 14px; color: var(--text-gedaempft); }
@media (max-width: 767px) { .beitrag-inhalt .wp-block-gallery { columns: 2; column-gap: 8px; } .beitrag-inhalt .wp-block-gallery .wp-block-image { margin-bottom: 8px !important; } }

/* Schlagwörter unter dem Beitrag */
.schlagwort-liste { font-weight: 600; color: var(--tinte); }
.schlagwort-liste a { display: inline-flex; margin-left: 6px; border: 1px solid var(--linie); background-color: var(--flaeche); border-radius: 999px; padding: 2px 12px; text-decoration: none; color: var(--tinte); font-weight: 400; }
.schlagwort-liste a:hover { border-color: var(--waldgruen); color: var(--waldgruen); }
.schlagwort-liste:not(:has(a)) { display: none; }

/* Mein Konto (WooCommerce): Anmelden + Registrieren als zwei Karten */
.woocommerce-account .u-columns.col2-set { display: flex; flex-wrap: wrap; gap: 24px; }
.woocommerce-account .u-columns.col2-set::before, .woocommerce-account .u-columns.col2-set::after { display: none; }
.woocommerce-account .u-columns .u-column1, .woocommerce-account .u-columns .u-column2 { flex: 1 1 420px; float: none; width: auto; padding: 32px; border-radius: 6px; box-sizing: border-box; }
.woocommerce-account .u-columns .u-column1 { background-color: var(--flaeche); border: 1px solid var(--linie); }
.woocommerce-account .u-columns .u-column2 { background-color: var(--flaeche-dunkel); }
.woocommerce-account .u-columns h2 { font-family: var(--schrift-ueberschrift); font-weight: 700; font-size: 32px; text-transform: uppercase; margin: 0 0 16px; }
.woocommerce-account form.login, .woocommerce-account form.register { border: none; padding: 0; margin: 0; }
.woocommerce form .form-row label { font-family: var(--schrift-text); font-weight: 600; font-size: 14px; color: var(--tinte); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { min-height: 46px; padding: 0 12px; border: 1px solid var(--linie-kraeftig); border-radius: 4px; background-color: #FFFFFF; font-family: var(--schrift-text); font-size: 15px; }
.woocommerce-account .woocommerce-form-login__submit, .woocommerce-account .woocommerce-form-register__submit { width: 100%; min-height: 54px; margin-top: 8px; }
.woocommerce-account .woocommerce button.woocommerce-form-register__submit { background-color: transparent; color: var(--tinte); border: 1.5px solid var(--tinte); }
.woocommerce-account .woocommerce button.woocommerce-form-register__submit:hover { background-color: var(--tinte); color: var(--hintergrund); }
.woocommerce-account .lost_password a { font-size: 14px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 10px 14px; border-radius: 4px; text-decoration: none; color: var(--tinte); font-weight: 600; }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { background-color: var(--waldgruen); color: var(--weiss); }

/* WooCommerce – Design-System DPSG Cherusker */
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 0; }
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce div.product form.cart .variations { width: 100%; margin-bottom: 8px; border: 0; }
.woocommerce div.product form.cart .variations tr { display: block; margin-bottom: 18px; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0 0 8px; text-align: left; background: none; }
.woocommerce div.product form.cart .variations label { font-family: var(--schrift-text); font-size: 14px; font-weight: 600; color: var(--tinte); }
.woocommerce div.product form.cart .variations select { min-height: 44px; min-width: 220px; padding: 0 12px; border: 1px solid var(--linie-kraeftig); border-radius: 4px; background-color: var(--flaeche); font-family: var(--schrift-text); font-size: 15px; color: var(--tinte); }
.woocommerce div.product form.cart .reset_variations { font-size: 14px; color: var(--waldgruen); }
.woocommerce div.product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; }
.woocommerce .quantity .qty { height: 56px; width: 76px; border: 1px solid var(--rahmen-button); border-radius: 4px; background-color: var(--flaeche); font-family: var(--schrift-text); font-weight: 600; font-size: 17px; color: var(--tinte); }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 220px; min-height: 56px; border-radius: 4px; background-color: var(--rost); color: var(--weiss); font-family: var(--schrift-ueberschrift); font-weight: 700; font-size: 21px; letter-spacing: 0.08em; text-transform: uppercase; }
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background-color: var(--tinte); }
.woocommerce div.product .woocommerce-product-gallery { margin: 0; width: 100% !important; float: none; }
.woocommerce div.product .woocommerce-product-gallery__image img { border-radius: 6px; border: 1px solid var(--linie); background-color: var(--platzhalter); }
.woocommerce div.product .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.woocommerce div.product .flex-control-thumbs li { width: auto !important; margin: 0 !important; }
.woocommerce div.product .flex-control-thumbs img { border-radius: 6px; border: 2px solid transparent; outline: 1px solid var(--linie); opacity: 1; }
.woocommerce div.product .flex-control-thumbs img.flex-active { border-color: var(--waldgruen); }
.woocommerce span.onsale { background-color: var(--waldgruen); color: var(--weiss); font-family: var(--schrift-ueberschrift); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; border-radius: 3px; min-height: 0; line-height: 1; padding: 6px 12px; }
.woocommerce .price, .woocommerce .price ins { color: inherit; text-decoration: none; }
.woocommerce .price del { opacity: 0.6; font-size: 0.7em; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { border-radius: 4px; background-color: var(--rost); color: var(--weiss); font-family: var(--schrift-ueberschrift); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background-color: var(--tinte); color: var(--weiss); }
.woocommerce-message, .woocommerce-info { border-top-color: var(--waldgruen); background-color: var(--flaeche); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--waldgruen); }

/* Varianten: Farbkreise & Größen-Buttons (Skript „Shop · Varianten-Auswahl“) */
.ch-swatches-aktiv table.variations select { position: absolute !important; width: 1px !important; height: 1px !important; min-width: 0 !important; overflow: hidden; clip: rect(0 0 0 0); opacity: 0; pointer-events: none; }
.ch-swatches-aktiv .reset_variations { display: none !important; }
.ch-swatches { --button-spacing: 0px; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8px; margin: 4px 0 6px; }
.ch-swatches--farbe { gap: 14px; padding: 4px; }
.ch-swatches--groesse { display: grid; grid-template-columns: repeat(auto-fill, 56px); justify-content: start; justify-items: stretch; gap: 8px; }
.ch-swatch { margin: 0; cursor: pointer; font-family: var(--schrift-text); transition: box-shadow 0.15s ease, background-color 0.15s ease, color 0.15s ease; }
.ch-swatches--groesse .ch-swatch { width: 100%; min-width: 0; height: 44px; padding: 0 4px; border-radius: 4px; border: 1px solid var(--linie-kraeftig); background-color: var(--flaeche); color: var(--tinte); font-size: 15px; font-weight: 600; text-align: center; }
.ch-swatches--groesse .ch-swatch:hover { border-color: var(--tinte); }
.ch-swatches--groesse .ch-swatch.ist-aktiv { background-color: var(--tinte); color: var(--flaeche); border-color: var(--tinte); }
.ch-swatches--farbe .ch-swatch { width: 44px; height: 44px; border-radius: 50%; border: none; padding: 0; box-shadow: 0 0 0 1px rgba(31,42,34,0.3); }
.ch-swatches--farbe .ch-swatch.ist-aktiv { box-shadow: 0 0 0 3px var(--hintergrund), 0 0 0 5px var(--waldgruen); }
.ch-swatches--farbe .ch-swatch--ohne-farbe { outline: 1px dashed var(--rahmen-button); outline-offset: -6px; }
.ch-swatch:disabled { opacity: 0.35; cursor: not-allowed; text-decoration: line-through; }
.ch-swatch:focus-visible { outline: 2px solid var(--rost); outline-offset: 3px; }
.ch-auswahl-wert { font-weight: 400; }
.ch-groessentabelle { display: inline-block; margin-top: 2px; font-family: var(--schrift-text); font-size: 14px; color: var(--waldgruen); text-decoration: underline; }

/* Mengen-Stepper */
.ch-stepper { --button-spacing: 0px; display: flex; align-items: center; height: 56px; border: 1px solid var(--rahmen-button); border-radius: 4px; background-color: var(--flaeche); }
.woocommerce .ch-stepper .qty { width: 44px !important; height: 54px !important; border: none !important; background: transparent !important; text-align: center; padding: 0; -moz-appearance: textfield; }
.ch-stepper .qty::-webkit-inner-spin-button, .ch-stepper .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ch-stepper { gap: 0 !important; flex: 0 0 auto; overflow: hidden; }
/* !important, weil die globalen Button-Stile des Kits (Rost) sonst auch die Plus/Minus-Knöpfe einfärben */
.ch-stepper .ch-stepper__knopf { flex: 0 0 48px; width: 48px !important; height: 54px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; color: var(--tinte) !important; font-family: var(--schrift-text) !important; font-size: 22px !important; line-height: 1 !important; cursor: pointer; }
.ch-stepper .ch-stepper__knopf:hover, .ch-stepper .ch-stepper__knopf:focus { background: transparent !important; color: var(--waldgruen) !important; }
/* Produkt-Template nutzt das Widget „Individuelles Zum Warenkorb hinzufügen“ */
.elementor-widget-wc-add-to-cart form.cart { gap: 12px; align-items: stretch; flex-wrap: wrap !important; }
.elementor-widget-wc-add-to-cart .woocommerce-variation-add-to-cart { flex-wrap: wrap !important; gap: 12px !important; }
.elementor-widget-wc-add-to-cart { width: 100%; }
.elementor-widget-wc-add-to-cart .single_add_to_cart_button { flex: 1 1 220px; min-width: 0 !important; min-height: 56px; margin: 0 !important; padding-inline: 16px !important; }
.elementor-widget-wc-add-to-cart .single_add_to_cart_button .elementor-button-content-wrapper { justify-content: center; }

/* „Passend für“ – Stufen als Chips mit Farbpunkt */
.stufen-liste { gap: 0 !important; font-size: 0 !important; margin-bottom: -8px; }
.stufen-liste a { display: inline-flex; align-items: center; gap: 6px; margin: 0 8px 8px 0; border: 1px solid var(--linie); background-color: var(--flaeche); border-radius: 999px; padding: 4px 12px; color: var(--tinte); text-decoration: none; font-size: 14px; line-height: 1.4; }
.stufen-liste a:hover { border-color: var(--waldgruen); color: var(--waldgruen); }
.stufen-liste a::before { content: ""; width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; background-color: var(--stufe-leitende); }
.stufen-liste a[href*="/stufe/woelflinge/"] { order: 1; }
.stufen-liste a[href*="/stufe/woelflinge/"]::before { background-color: var(--stufe-woelflinge); }
.stufen-liste a[href*="/stufe/jungpfadfinder/"] { order: 2; }
.stufen-liste a[href*="/stufe/jungpfadfinder/"]::before { background-color: var(--stufe-jungpfadfinder); }
.stufen-liste a[href*="/stufe/pfadfinder/"] { order: 3; }
.stufen-liste a[href*="/stufe/pfadfinder/"]::before { background-color: var(--stufe-pfadfinder); }
.stufen-liste a[href*="/stufe/rover/"] { order: 4; }
.stufen-liste a[href*="/stufe/rover/"]::before { background-color: var(--stufe-rover); }
.stufen-liste a[href*="/stufe/leitende/"] { order: 5; }
/* „Passend für“ ausblenden, wenn keine Stufe angehakt ist */
.stapel-eng:has(> .stufen-liste):not(:has(.stufen-liste a)) { display: none; }

/* WooCommerce-Blöcke: Warenkorb & Kasse */
.wc-block-components-button:not(.is-link), .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background-color: var(--rost) !important; color: var(--weiss) !important; border: none !important; border-radius: 4px !important; min-height: 54px; font-family: var(--schrift-ueberschrift) !important; font-weight: 700 !important; font-size: 20px !important; letter-spacing: 0.06em; text-transform: uppercase; }
.wc-block-components-button:not(.is-link):hover { background-color: var(--tinte) !important; }
.wc-block-components-product-name, .wc-block-cart a, .wc-block-checkout a, .wc-block-components-totals-coupon-link { color: var(--waldgruen) !important; }
.wc-block-components-product-name:hover { color: var(--tinte) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select select { border-color: var(--linie-kraeftig) !important; border-radius: 4px !important; background-color: var(--flaeche) !important; }
.wc-block-components-quantity-.elementor-kit-7 { border-color: var(--rahmen-button) !important; border-radius: 4px !important; }
.wc-block-components-sidebar, .wc-block-cart__sidebar { font-family: var(--schrift-text); }
.wc-block-cart-items__header, .wc-block-components-totals-item__label, .wc-block-components-title { font-family: var(--schrift-ueberschrift) !important; text-transform: uppercase; letter-spacing: 0.04em; }

/* Seiten-Template „Seite · Shop“ (Warenkorb, Kasse, Konto): Blöcke in voller Containerbreite */
.shop-inhalt .alignwide, .shop-inhalt .alignfull { margin-left: 0 !important; margin-right: 0 !important; max-width: 100% !important; width: auto !important; }

/* Shop-Leiste mobil: Kategorien als wischbare Zeile */
@media (max-width: 767px) {
  .shop-leiste .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .shop-leiste .elementor-nav-menu--main .elementor-item { padding: 8px 10px; white-space: nowrap; }
  .shop-leiste .elementor-nav-menu--main .elementor-nav-menu::-webkit-scrollbar { display: none; }
}

/* Leere Produktfelder ausblenden (z. B. Tipp ohne Inhalt) */
.tipp-box:has(> p:empty) { display: none; }

/* Kein seitliches Scrollen auf Mobilgeräten (ausgeklapptes Menü ragt sonst über den Rand) */
html, body { overflow-x: clip; }

/* Shop-Filter: aktiver Stufen-Filter und aktive Sortierung (Skript „Shop · Filter aktiv markieren“ setzt aria-current) */
.filter-chip[aria-current="page"] { background-color: var(--tinte) !important; border-color: var(--tinte) !important; color: var(--hintergrund) !important; font-weight: 600; }
.filter-chip[aria-current="page"] .chip-punkt { box-shadow: 0 0 0 2px var(--hintergrund); }
.filter-leiste p a[aria-current="page"] { color: var(--tinte); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* Ein Header für alles: Hinweisbanner + Shop-Leiste (Klasse nur-shop) erscheinen nur auf WooCommerce-Seiten; mobil/Tablet ohne Banner (Info steht auf den Produktseiten) */
body:not(.woocommerce-page) .elementor-location-header .nur-shop { display: none !important; }
@media (max-width: 1024px) { .elementor-location-header .info-balken.nur-shop { display: none !important; } }

/* Hauptmenü (Elementor-Widget „Menü“ im Header). Panel-Inhalte = Klassen nav-panel, nav-spalte, nav-link, nav-karte, nav-teaser */
.elementor-widget-n-menu .e-n-menu-toggle, .elementor-widget-n-menu .e-n-menu-dropdown-icon { background: transparent !important; border: none !important; box-shadow: none !important; color: var(--tinte) !important; }
.elementor-widget-n-menu .e-n-menu-toggle svg, .elementor-widget-n-menu .e-n-menu-dropdown-icon svg { fill: currentColor; }
.elementor-widget-n-menu .e-n-menu-title-text { font-family: var(--schrift-text); font-weight: 600; font-size: 16px; color: var(--text); }
.elementor-widget-n-menu .e-n-menu-title:has(.e-n-menu-dropdown-icon[aria-expanded="true"]) .e-n-menu-title-text { color: var(--waldgruen); }
/* Desktop: Seite abdunkeln, solange ein Panel offen ist (Klick daneben schließt) */
@media (min-width: 1025px) { body:has(.elementor-widget-n-menu .e-n-menu-dropdown-icon[aria-expanded="true"])::after { content: ""; position: fixed; inset: 0; z-index: 40; background-color: rgba(31,42,34,0.35); } }
/* Mobil/Tablet: Header bleibt oben, offenes Menü füllt den Bildschirm (81px = Header-Höhe mobil), Seite dahinter scrollt nicht */
@media (max-width: 1024px) {
  .elementor-location-header { position: sticky; top: 0; z-index: 100; }
  html:has(.e-n-menu-toggle[aria-expanded="true"]) { overflow: hidden !important; }
  .elementor-widget-n-menu .e-n-menu-toggle { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; }
  .elementor-widget-n-menu .e-n-menu-toggle svg { width: 26px; height: 26px; }
  .elementor-widget-n-menu .e-n-menu-wrapper { top: calc(100% + 17px) !important; height: calc(100dvh - 81px) !important; max-height: none !important; overflow-y: auto !important; overscroll-behavior: contain; background-color: var(--flaeche) !important; border-top: 1px solid var(--linie); box-shadow: 0 18px 40px rgba(31,42,34,0.18); }
  .elementor-widget-n-menu .e-n-menu-item { border-bottom: 1px solid var(--linie); }
  .elementor-widget-n-menu .e-n-menu-title { min-height: 56px; padding: 0 !important; justify-content: space-between !important; align-items: stretch !important; background-color: var(--flaeche) !important; }
  .elementor-widget-n-menu .e-n-menu-title-container { flex: 1 1 auto; display: flex; align-items: center; padding: 0 16px; }
  .elementor-widget-n-menu .e-n-menu-title-text { font-family: var(--schrift-ueberschrift); font-weight: 700; font-size: 22px !important; letter-spacing: 0.02em; text-transform: uppercase; color: var(--tinte); }
  .elementor-widget-n-menu .e-n-menu-dropdown-icon { flex: 0 0 56px; width: 56px !important; height: auto !important; margin-left: auto !important; display: flex !important; align-items: center; justify-content: center; }
  .elementor-widget-n-menu .e-n-menu-dropdown-icon svg { width: 14px; height: 14px; }
  .elementor-widget-n-menu .e-n-menu-content > .e-con { padding: 4px 16px 16px !important; background-color: var(--hintergrund); }
}

/* Kalender-Seite (Events Manager): Terminliste, Für-wen-Symbole, Legende, Abo-Liste. Inhalt im WordPress-Editor (Seite „Kalender“), Skript „Kalender · Jahr & Abo-Links“ */
.kalender { margin: 8px 0 48px; }
.kalender-titel { margin: 0 0 16px; }
.termine .em-view-container, .termine .em.em-list { display: block !important; margin: 0 !important; padding: 0 !important; gap: 0 !important; border: 0 !important; background: none !important; }
.termine-kopf, .termin { display: grid; grid-template-columns: minmax(0, 1fr) 210px 268px; gap: 8px 24px; align-items: center; }
.termine-kopf { padding: 0 0 10px; border-bottom: 2px solid var(--tinte); font-family: var(--schrift-ueberschrift); font-weight: 700; font-size: 15px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-gedaempft); }
.termin { padding: 16px 0; border-bottom: 1px solid var(--linie); }
.termin-name { font-weight: 600; font-size: 18px; line-height: 1.3; display: flex; flex-direction: column; gap: 2px; }
.termin-ort { font-weight: 400; font-size: 15px; color: var(--text-gedaempft); }
.termine .termin-name a { color: var(--tinte) !important; text-decoration: none !important; }
.termine .termin-name a:hover { color: var(--rost) !important; text-decoration: underline !important; }
.termin-datum { display: flex; flex-direction: column; line-height: 1.35; }
.termin-tage { font-weight: 600; color: var(--tinte); }
.termin-zeit { font-size: 15px; color: var(--text-gedaempft); }
.termin-wer { display: flex; flex-wrap: wrap; gap: 5px; }
.termine-leer, .termine .em-list > p { padding: 16px 0; margin: 0; color: var(--text-gedaempft); }
.wer { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; background-color: var(--tinte); color: var(--weiss); font-family: var(--schrift-ueberschrift); font-weight: 700; font-size: 16px; line-height: 1; }
.wer svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.wer-foerderverein svg { fill: currentColor; stroke: none; }
.wer-biber { background: url("/wp-content/uploads/2026/10/biber-erkennungsbild-dpsg.png") center / contain no-repeat; border-radius: 0; color: transparent; font-size: 0; } /* Biber: DPSG-Erkennungsbild Bibergruppe (Illustration: Josy Jones), Mediathek 2038 */
.legende-quelle { margin: 12px 0 0; font-size: 12px; color: var(--text-gedaempft); }
/* Stufen-Lilien: Form kommt aus der Maske (Mediathek: dpsg-lilie-maske.svg), Farbe = offizielle DPSG-Stufenfarbe (CD-Leitfaden) */
.wer.wer-lilie { border-radius: 0; -webkit-mask: url("/wp-content/uploads/2026/10/dpsg-lilie-maske.svg") center / contain no-repeat; mask: url("/wp-content/uploads/2026/10/dpsg-lilie-maske.svg") center / contain no-repeat; }
.wer-woelflinge { background-color: #FF6400; }
.wer-jungpfadfinder { background-color: #2F53A7; }
.wer-pfadfinder { background-color: #00823C; }
.wer-rover { background-color: #CC1F2F; }
.wer-leiter { background-color: #B1B9AD; }
.wer-eltern { background-color: #4F6470; }
.wer-foerderverein { background-color: var(--rost); }
.wer-alle { background-color: var(--waldgruen); }
.kalender-legende { margin-top: 20px; padding: 16px 20px; background-color: var(--flaeche); border: 1px solid var(--linie); border-radius: 6px; }
.kalender-legende h3 { margin: 0 0 10px; font-size: 18px; }
.kalender-legende ul { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 0; padding: 0; list-style: none; }
.kalender-legende li { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 15px; }
.abo-liste { margin: 20px 0 32px; padding: 0; list-style: none; border-top: 1px solid var(--linie); }
.abo-zeile { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 0; padding: 12px 0; border-bottom: 1px solid var(--linie); }
.abo-name { display: flex; align-items: center; gap: 12px; font-weight: 600; color: var(--tinte); }
.abo-aktionen { display: flex; flex-wrap: wrap; gap: 8px; }
.abo-btn, .abo-kopieren { display: inline-flex !important; align-items: center; justify-content: center; min-height: 40px; margin: 0 !important; padding: 0 16px !important; border-radius: 4px !important; font-family: var(--schrift-ueberschrift) !important; font-weight: 700 !important; font-size: 16px !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; text-decoration: none !important; line-height: 1 !important; cursor: pointer; }
.abo-btn { background-color: var(--rost) !important; color: var(--weiss) !important; border: 1px solid var(--rost) !important; }
.abo-btn:hover { background-color: var(--tinte) !important; border-color: var(--tinte) !important; }
.abo-kopieren { background-color: transparent !important; color: var(--tinte) !important; border: 1px solid var(--linie-kraeftig) !important; }
.abo-kopieren:hover, .abo-kopieren.ist-kopiert { border-color: var(--waldgruen) !important; color: var(--waldgruen) !important; }
@media (max-width: 767px) {
  .termine-kopf { display: none; }
  .termin { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 14px 0; }
  .termin-datum { flex-direction: row; flex-wrap: wrap; gap: 0 10px; }
  .abo-aktionen { width: 100%; }
  .abo-btn, .abo-kopieren { flex: 1 1 0; }
}

/* Termin-Karten auf Stufenseiten (Elementor-Widget „Shortcode“ mit Klasse termin-karten + stufe-…; Format wie Kalender) */
.termin-karten { --stufe-farbe: var(--waldgruen); width: 100%; }
.termin-karten.stufe-woelflinge { --stufe-farbe: var(--stufe-woelflinge); }
.termin-karten.stufe-jungpfadfinder { --stufe-farbe: var(--stufe-jungpfadfinder); }
.termin-karten.stufe-pfadfinder { --stufe-farbe: var(--stufe-pfadfinder); }
.termin-karten.stufe-rover { --stufe-farbe: var(--stufe-rover); }
.termin-karten .em-view-container, .termin-karten .em.em-list { display: block !important; margin: 0 !important; padding: 0 !important; gap: 0 !important; border: 0 !important; background: none !important; }
.termin-karte { display: flex; align-items: center; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--linie); }
.termin-karte-datum { display: flex; flex-direction: column; align-items: center; width: 64px; min-width: 64px; padding: 4px 0; border: 1px solid var(--linie); border-top: 4px solid var(--stufe-farbe); border-radius: 4px; background-color: var(--flaeche); line-height: 1.1; }
.termin-karte-tag { font-family: var(--schrift-ueberschrift); font-weight: 700; font-size: 22px; color: var(--tinte); }
.termin-karte-monat { font-size: 12px; text-transform: uppercase; color: var(--text-gedaempft); }
.termin-karte-text { display: flex; flex-direction: column; min-width: 0; }
.termin-karten .em .termin-karte-titel { font-family: var(--schrift-text); font-weight: 600; font-size: 18px; line-height: 1.3; color: var(--tinte) !important; text-decoration: none !important; }
.termin-karten .em .termin-karte-titel:hover { color: var(--rost) !important; text-decoration: underline !important; }
.termin-karte-info { font-size: 15px; color: var(--text-gedaempft); }
.termin-karten .em-list > p { margin: 0; padding: 14px 0; color: var(--text-gedaempft); }/* End custom CSS */