body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
.download-element a{padding:3px 6px 3px 22px;background:url(../../assets/contao/images/iconPLAIN.svg) left center no-repeat}ul.enclosure{padding-left:0}li.download-element{list-style-type:none}.ext-xl a{background-image:url(../../assets/contao/images/iconXL.svg)}.ext-xls a{background-image:url(../../assets/contao/images/iconXLS.svg)}.ext-xlsx a{background-image:url(../../assets/contao/images/iconXLSX.svg)}.ext-hqx a{background-image:url(../../assets/contao/images/iconHQX.svg)}.ext-cpt a{background-image:url(../../assets/contao/images/iconCPT.svg)}.ext-bin a{background-image:url(../../assets/contao/images/iconBIN.svg)}.ext-doc a{background-image:url(../../assets/contao/images/iconDOC.svg)}.ext-docx a{background-image:url(../../assets/contao/images/iconDOCX.svg)}.ext-word a{background-image:url(../../assets/contao/images/iconWORD.svg)}.ext-cto a{background-image:url(../../assets/contao/images/iconCTO.svg)}.ext-dms a{background-image:url(../../assets/contao/images/iconDMS.svg)}.ext-lha a{background-image:url(../../assets/contao/images/iconLHA.svg)}.ext-lzh a{background-image:url(../../assets/contao/images/iconLZH.svg)}.ext-exe a{background-image:url(../../assets/contao/images/iconEXE.svg)}.ext-class a{background-image:url(../../assets/contao/images/iconCLASS.svg)}.ext-so a{background-image:url(../../assets/contao/images/iconSO.svg)}.ext-sea a{background-image:url(../../assets/contao/images/iconSEA.svg)}.ext-dll a{background-image:url(../../assets/contao/images/iconDLL.svg)}.ext-oda a{background-image:url(../../assets/contao/images/iconODA.svg)}.ext-pdf a{background-image:url(../../assets/contao/images/iconPDF.svg)}.ext-ai a{background-image:url(../../assets/contao/images/iconAI.svg)}.ext-eps a{background-image:url(../../assets/contao/images/iconEPS.svg)}.ext-ps a{background-image:url(../../assets/contao/images/iconPS.svg)}.ext-pps a{background-image:url(../../assets/contao/images/iconPPS.svg)}.ext-ppt a{background-image:url(../../assets/contao/images/iconPPT.svg)}.ext-pptx a{background-image:url(../../assets/contao/images/iconPPTX.svg)}.ext-smi a{background-image:url(../../assets/contao/images/iconSMI.svg)}.ext-smil a{background-image:url(../../assets/contao/images/iconSMIL.svg)}.ext-mif a{background-image:url(../../assets/contao/images/iconMIF.svg)}.ext-odc a{background-image:url(../../assets/contao/images/iconODC.svg)}.ext-odf a{background-image:url(../../assets/contao/images/iconODF.svg)}.ext-odg a{background-image:url(../../assets/contao/images/iconODG.svg)}.ext-odi a{background-image:url(../../assets/contao/images/iconODI.svg)}.ext-odp a{background-image:url(../../assets/contao/images/iconODP.svg)}.ext-ods a{background-image:url(../../assets/contao/images/iconODS.svg)}.ext-odt a{background-image:url(../../assets/contao/images/iconODT.svg)}.ext-wbxml a{background-image:url(../../assets/contao/images/iconWBXML.svg)}.ext-wmlc a{background-image:url(../../assets/contao/images/iconWMLC.svg)}.ext-dmg a{background-image:url(../../assets/contao/images/iconDMG.svg)}.ext-dcr a{background-image:url(../../assets/contao/images/iconDCR.svg)}.ext-dir a{background-image:url(../../assets/contao/images/iconDIR.svg)}.ext-dxr a{background-image:url(../../assets/contao/images/iconDXR.svg)}.ext-dvi a{background-image:url(../../assets/contao/images/iconDVI.svg)}.ext-gtar a{background-image:url(../../assets/contao/images/iconGTAR.svg)}.ext-inc a{background-image:url(../../assets/contao/images/iconINC.svg)}.ext-php a{background-image:url(../../assets/contao/images/iconPHP.svg)}.ext-php3 a{background-image:url(../../assets/contao/images/iconPHP3.svg)}.ext-php4 a{background-image:url(../../assets/contao/images/iconPHP4.svg)}.ext-php5 a{background-image:url(../../assets/contao/images/iconPHP5.svg)}.ext-phtml a{background-image:url(../../assets/contao/images/iconPHTML.svg)}.ext-phps a{background-image:url(../../assets/contao/images/iconPHPS.svg)}.ext-js a{background-image:url(../../assets/contao/images/iconJS.svg)}.ext-psd a{background-image:url(../../assets/contao/images/iconPSD.svg)}.ext-rar a{background-image:url(../../assets/contao/images/iconRAR.svg)}.ext-fla a{background-image:url(../../assets/contao/images/iconFLA.svg)}.ext-swf a{background-image:url(../../assets/contao/images/iconSWF.svg)}.ext-sit a{background-image:url(../../assets/contao/images/iconSIT.svg)}.ext-tar a{background-image:url(../../assets/contao/images/iconTAR.svg)}.ext-tgz a{background-image:url(../../assets/contao/images/iconTGZ.svg)}.ext-xhtml a{background-image:url(../../assets/contao/images/iconXHTML.svg)}.ext-xht a{background-image:url(../../assets/contao/images/iconXHT.svg)}.ext-zip a{background-image:url(../../assets/contao/images/iconZIP.svg)}.ext-m4a a{background-image:url(../../assets/contao/images/iconM4A.svg)}.ext-mp3 a{background-image:url(../../assets/contao/images/iconMP3.svg)}.ext-wma a{background-image:url(../../assets/contao/images/iconWMA.svg)}.ext-mpeg a{background-image:url(../../assets/contao/images/iconMPEG.svg)}.ext-wav a{background-image:url(../../assets/contao/images/iconWAV.svg)}.ext-ogg a{background-image:url(../../assets/contao/images/iconOGG.svg)}.ext-mid a{background-image:url(../../assets/contao/images/iconMID.svg)}.ext-midi a{background-image:url(../../assets/contao/images/iconMIDI.svg)}.ext-aif a{background-image:url(../../assets/contao/images/iconAIF.svg)}.ext-aiff a{background-image:url(../../assets/contao/images/iconAIFF.svg)}.ext-aifc a{background-image:url(../../assets/contao/images/iconAIFC.svg)}.ext-ram a{background-image:url(../../assets/contao/images/iconRAM.svg)}.ext-rm a{background-image:url(../../assets/contao/images/iconRM.svg)}.ext-rpm a{background-image:url(../../assets/contao/images/iconRPM.svg)}.ext-ra a{background-image:url(../../assets/contao/images/iconRA.svg)}.ext-bmp a{background-image:url(../../assets/contao/images/iconBMP.svg)}.ext-gif a{background-image:url(../../assets/contao/images/iconGIF.svg)}.ext-jpeg a{background-image:url(../../assets/contao/images/iconJPEG.svg)}.ext-jpg a{background-image:url(../../assets/contao/images/iconJPG.svg)}.ext-jpe a{background-image:url(../../assets/contao/images/iconJPE.svg)}.ext-png a{background-image:url(../../assets/contao/images/iconPNG.svg)}.ext-tiff a{background-image:url(../../assets/contao/images/iconTIFF.svg)}.ext-tif a{background-image:url(../../assets/contao/images/iconTIF.svg)}.ext-svg a{background-image:url(../../assets/contao/images/iconSVG.svg)}.ext-svgz a{background-image:url(../../assets/contao/images/iconSVGZ.svg)}.ext-webp a{background-image:url(../../assets/contao/images/iconWEBP.svg)}.ext-avif a{background-image:url(../../assets/contao/images/iconAVIF.svg)}.ext-heic a{background-image:url(../../assets/contao/images/iconHEIC.svg)}.ext-jxl a{background-image:url(../../assets/contao/images/iconJXL.svg)}.ext-eml a{background-image:url(../../assets/contao/images/iconEML.svg)}.ext-asp a{background-image:url(../../assets/contao/images/iconASP.svg)}.ext-css a{background-image:url(../../assets/contao/images/iconCSS.svg)}.ext-scss a{background-image:url(../../assets/contao/images/iconSCSS.svg)}.ext-less a{background-image:url(../../assets/contao/images/iconLESS.svg)}.ext-html a{background-image:url(../../assets/contao/images/iconHTML.svg)}.ext-htm a{background-image:url(../../assets/contao/images/iconHTM.svg)}.ext-md a{background-image:url(../../assets/contao/images/iconMD.svg)}.ext-shtml a{background-image:url(../../assets/contao/images/iconSHTML.svg)}.ext-txt a{background-image:url(../../assets/contao/images/iconTXT.svg)}.ext-text a{background-image:url(../../assets/contao/images/iconTEXT.svg)}.ext-log a{background-image:url(../../assets/contao/images/iconLOG.svg)}.ext-rtx a{background-image:url(../../assets/contao/images/iconRTX.svg)}.ext-rtf a{background-image:url(../../assets/contao/images/iconRTF.svg)}.ext-xml a{background-image:url(../../assets/contao/images/iconXML.svg)}.ext-xsl a{background-image:url(../../assets/contao/images/iconXSL.svg)}.ext-mp4 a{background-image:url(../../assets/contao/images/iconMP4.svg)}.ext-m4v a{background-image:url(../../assets/contao/images/iconM4V.svg)}.ext-mov a{background-image:url(../../assets/contao/images/iconMOV.svg)}.ext-wmv a{background-image:url(../../assets/contao/images/iconWMV.svg)}.ext-webm a{background-image:url(../../assets/contao/images/iconWEBM.svg)}.ext-qt a{background-image:url(../../assets/contao/images/iconQT.svg)}.ext-rv a{background-image:url(../../assets/contao/images/iconRV.svg)}.ext-avi a{background-image:url(../../assets/contao/images/iconAVI.svg)}.ext-ogv a{background-image:url(../../assets/contao/images/iconOGV.svg)}.ext-movie a{background-image:url(../../assets/contao/images/iconMOVIE.svg)}
.mod_visitors .invisible {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    float: left;
	width:0px;
	height:0px;
}
.mobile_menu{position:fixed;z-index:100;display:none}.mobile_menu .inner{height:100%;background:#000;overflow-y:scroll}.mobile_menu.active.position_left{box-shadow:2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_top{box-shadow:0 2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_right{box-shadow:-2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_bottom{box-shadow:0 -2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.no_shadow{box-shadow:none!important}.mobile_menu_trigger{display:none}.mobile_menu_wrapper{position:relative;width:100%;overflow:hidden}.mobile_menu_overlay{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:99}.mobile_menu_overlay.background{background:rgba(0,0,0,.5)}.mobile_menu li.submenu_hide>ul{display:none}.mobile_menu li.submenu_show>ul{display:block}body.ie8 .mobile_menu,body.ie8 .mobile_menu_trigger,body.ie9 .mobile_menu,body.ie9 .mobile_menu_trigger{display:none!important}
#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden;-webkit-transform:translate3d(0,0,0)}#cboxWrapper{max-width:none}#cboxOverlay{position:fixed;width:100%;height:100%}#cboxMiddleLeft,#cboxBottomLeft{clear:left}#cboxContent{position:relative}#cboxLoadedContent{overflow:auto;-webkit-overflow-scrolling:touch}#cboxTitle{margin:0}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%;height:100%}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer}.cboxPhoto{float:left;margin:auto;border:0;display:block;max-width:none;-ms-interpolation-mode:bicubic}.cboxIframe{width:100%;height:100%;display:block;border:0;padding:0;margin:0}#colorbox,#cboxContent,#cboxLoadedContent{box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}#cboxOverlay{background:#000;opacity:.9;filter:alpha(opacity = 90)}#colorbox{outline:0}#cboxContent{margin-top:20px;background:#000}.cboxIframe{background:#fff}#cboxError{padding:50px;border:1px solid #ccc}#cboxLoadedContent{border:5px solid #000;background:#fff}#cboxTitle{position:absolute;top:-20px;left:0;color:#ccc}#cboxCurrent{position:absolute;top:-20px;right:0;color:#ccc}#cboxLoadingGraphic{background:url(../../assets/colorbox/images/loading.gif) no-repeat center center}#cboxPrevious,#cboxNext,#cboxSlideshow,#cboxClose{border:0;padding:0;margin:0;overflow:visible;width:auto;background:0 0}#cboxPrevious:active,#cboxNext:active,#cboxSlideshow:active,#cboxClose:active{outline:0}#cboxSlideshow{position:absolute;top:-20px;right:90px;color:#fff}#cboxPrevious{position:absolute;top:50%;left:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top left;width:28px;height:65px;text-indent:-9999px}#cboxPrevious:hover{background-position:bottom left}#cboxNext{position:absolute;top:50%;right:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top right;width:28px;height:65px;text-indent:-9999px}#cboxNext:hover{background-position:bottom right}#cboxClose{position:absolute;top:5px;right:5px;display:block;background:url(../../assets/colorbox/images/controls.png) no-repeat top center;width:38px;height:19px;text-indent:-9999px}#cboxClose:hover{background-position:bottom center}
/* ==========================================================
   OrSchuhTec – orschuhtec-2026.css
   Contao 5.7 · neues Design (dunkel, Salbeigrün, Glas)
   Ersetzt: layout.css ("cssneu"), @media max-width:1225px,
            @media max-width:965px
   ==========================================================
   Inhalt
   1.  Variablen
   2.  Schriftarten (lokal)
   3.  Grundlayout & Hintergrund
   4.  Typografie
   5.  Links
   6.  Kopfbereich (Logo, Zeile)
   7.  Hauptnavigation mit Untermenü
   8.  Mobilmenü
   9.  Abschnitte (Artikel-Klassen)
   10. Buttons
   11. Karten & Raster
   12. Kapseln, Häkchenlisten, Eyebrow
   13. Hero
   14. Formulare (Formulargenerator)
   15. Aufklapp-Fragen (FAQ)
   16. News / Aktuelles
   17. Team-Karten
   18. Galerie & Lightbox
   19. Rundgang & Karte (Zwei-Klick)
   20. Soziales Engagement (Vereinslogos)
   21. Sitemap
   22. Fußzeile
   23. Module, Cookiebar, Sprachassistent
   24. Hilfsklassen
   25. Einblenden beim Scrollen
   26. Responsive (1225 px · 965 px · 600 px)
   27. Bewegung reduzieren
   ==========================================================
   Hinweise
   - Klassen aus der alten Datei (news-card, feature-card,
     faq-item, faq-nav, team-card, modern-gallery, sitemap-grid,
     abstand_oben, mitte usw.) bleiben erhalten und tragen den
     neuen Look. Bestehende Inhalte funktionieren weiter.
   - Orange (--accent-warm) nur für EIN Element pro Seite:
     Klasse "btn-accent".
   ========================================================== */


/* ==========================================================
   1. Variablen
   ========================================================== */
:root{
    /* Flächen */
    --bg:#0A0C09;
    --bg-band:#0B0F09;
    --bg-card:linear-gradient(160deg,rgba(168,187,116,.10),rgba(255,255,255,.025) 60%);
    --bg-card-hover:linear-gradient(160deg,rgba(168,187,116,.20),rgba(255,255,255,.04) 60%);
    --bg-glass:rgba(10,12,9,.92);

    /* Grün */
    --sage:#A8BB74;
    --sage-light:#C9D8A0;
    --sage-pale:#D8E4B4;
    --sage-mist:#E4EDC8;
    --sage-deep:#6F9B58;
    --sage-a06:rgba(168,187,116,.06);
    --sage-a12:rgba(168,187,116,.12);
    --sage-a22:rgba(168,187,116,.22);
    --sage-a35:rgba(168,187,116,.35);
    --sage-a50:rgba(168,187,116,.5);

    /* Text */
    --text:#E0E0E0;
    --text-muted:#B8B8B8;
    --text-strong:#FFFFFF;
    --ink:#0A0C09;

    /* Akzent (nur einmal pro Seite) */
    --accent-warm:#FFBC13;
    --accent-warm-hover:#FFD04D;

    /* Schrift */
    --font-text:'Open Sans',Arial,Verdana,sans-serif;
    --font-head:'Montserrat','Open Sans',Arial,sans-serif;

    /* Maße */
    --content:1200px;
    --gutter:32px;
    --radius-sm:8px;
    --radius-md:12px;
    --radius-lg:16px;
    --radius-pill:999px;
    --brand-h:104px;            /* Höhe Logo-Zeile, die beim Scrollen verschwindet */

    /* Schatten & Leuchten */
    --shadow-sm:0 4px 12px rgba(0,0,0,.25);
    --shadow-card:0 18px 40px rgba(0,0,0,.5);
    --glow:0 0 22px rgba(168,187,116,.28);
    --glow-strong:0 0 34px rgba(168,187,116,.55);

    --transition:.22s ease;

    /* Altnamen (Kompatibilität mit bestehender CSS-Logik) */
    --color-text:var(--text);
    --color-heading:var(--sage);
    --color-link:var(--sage);
    --color-link-hover:var(--sage-light);
    --color-accent:var(--sage);
    --color-accent-light:var(--sage-a35);
    --color-border:var(--sage-a22);
    --bg-dark:var(--bg);
    --shadow-lg:var(--shadow-card);
}


/* ==========================================================
   2. Schriftarten (lokal, keine Verbindung zu Google)
   Nur Dateien, die schon in files/themes/fonts/ liegen:
   - Open Sans 400 für Fließtext
   - Montserrat 400/500/600 für Überschriften, Menü, Buttons
   Open Sans 600/700 gibt es auf dem Server nicht. Damit der
   Browser keine unsaubere Kunstfett-Schrift rechnet, zeigt
   fetter Text automatisch Montserrat 600 (zweiter Eintrag
   "Open Sans" mit Gewicht 600–700 unten).
   ========================================================== */
@font-face{
    font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;
    src:url('../../files/themes/fonts/open-sans-v34-latin-regular.woff2') format('woff2'),
        url('../../files/themes/fonts/open-sans-v34-latin-regular.woff') format('woff');
}
@font-face{
    font-family:'Open Sans';font-style:normal;font-weight:600 700;font-display:swap;
    src:url('../../files/themes/fonts/montserrat-v25-latin-600.woff2') format('woff2'),
        url('../../files/themes/fonts/montserrat-v25-latin-600.woff') format('woff');
}
@font-face{
    font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;
    src:url('../../files/themes/fonts/montserrat-v25-latin-regular.woff2') format('woff2'),
        url('../../files/themes/fonts/montserrat-v25-latin-regular.woff') format('woff');
}
@font-face{
    font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;
    src:url('../../files/themes/fonts/montserrat-v25-latin-500.woff2') format('woff2'),
        url('../../files/themes/fonts/montserrat-v25-latin-500.woff') format('woff');
}
@font-face{
    font-family:'Montserrat';font-style:normal;font-weight:600 700;font-display:swap;
    src:url('../../files/themes/fonts/montserrat-v25-latin-600.woff2') format('woff2'),
        url('../../files/themes/fonts/montserrat-v25-latin-600.woff') format('woff');
}


/* ==========================================================
   3. Grundlayout & Hintergrund
   ========================================================== */
*,
*::before,
*::after{box-sizing:border-box;}

html{
    scroll-behavior:smooth;
    scroll-padding-top:110px;   /* Sprungziele nicht unter der festen Menüleiste */
    background:var(--bg);
}

body{
    margin:0;
    font:400 18px/1.6 var(--font-text);
    color:var(--text);
    background:   /* ruhiger Hintergrund mit weichen Lichtflächen (Raster am 8.11.2026 entfernt) */
        radial-gradient(800px 480px at 85% 0,rgba(168,187,116,.16),transparent 62%),
        radial-gradient(600px 400px at 0 40%,rgba(168,187,116,.07),transparent 60%),
        var(--bg);
    background-attachment:scroll;
    -webkit-font-smoothing:antialiased;
}

/* Contao-Container durchsichtig, damit das Raster durchscheint
   (die alte Datei hat sie flächig #151515 gefärbt) */
#wrapper,
#container,
#container .inside,
#main,
#main .inside,
.mod_article,
.mod_article .inside,
.inside,
.content,
section{
    background:transparent;
    color:var(--text);
}

#main > .inside{
    padding:0;
}

img{
    display:block;
    max-width:100%;
    height:auto;
}

iframe{
    width:100%;
    height:30rem;
    border:0;
}

figure,
figure a{
    margin:0;
    border:none!important;
}

#logo{background:none!important;}

/* Sprunglink "Navigation überspringen" nur bei Tastaturfokus zeigen */
.invisible{
    position:absolute!important;
    width:1px;height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
}
a.invisible:focus{
    position:fixed!important;
    left:16px;top:16px;
    width:auto;height:auto;
    clip:auto;
    z-index:100;
    padding:10px 18px;
    background:var(--sage);
    color:var(--ink);
    border-radius:var(--radius-pill);
}


/* ==========================================================
   4. Typografie
   ========================================================== */
h1,h2,h3,h4,h5,h6{
    color:var(--sage)!important;
    font-family:var(--font-head);
    font-weight:500;
    letter-spacing:-.02em;
    line-height:1.2;
}

/* Verlauf in großen Überschriften */
h1,
h2,
.h-grad{
    background:linear-gradient(95deg,var(--sage-mist) 0%,var(--sage) 55%,var(--sage-deep) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent!important;
}

h1{margin:0 0 1.25rem;font-size:clamp(2rem,1.3rem + 2vw,2.75rem);}
h2{margin:0 0 1rem;font-size:clamp(1.65rem,1.2rem + 1.2vw,2.25rem);}
h3{margin:0 0 .6rem;font-size:1.4rem;color:var(--sage-light)!important;}
h4{margin:0 0 .5rem;font-size:1.15rem;color:var(--sage-light)!important;}
h6{margin:1.5rem 0 .5rem;font-size:1.15rem;}

/* zentrierte Überschrift, Verlauf läuft über die Textbreite */
.hc,
.mitte h1,
.mitte h2{
    width:fit-content;
    max-width:100%;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center;
}

h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{
    color:inherit!important;
    font-weight:inherit!important;
    border:none!important;
    -webkit-text-fill-color:inherit;
}

/* Contao verlinkt Modul-Überschriften automatisch – deaktiviert */
h2 a{pointer-events:none;}

p{margin:0 0 1rem;line-height:1.6;}
p,li{color:var(--text);}

ul{margin:0 0 1rem 1.25rem;padding:0;line-height:1.5;list-style:disc;}
li{margin-bottom:.5rem;}

strong,b{font-weight:700;color:var(--text-strong);}

.lead{font-size:1.15rem;}
.muted,.muted p{color:var(--text-muted);}


/* ==========================================================
   5. Links
   ========================================================== */
a{
    color:var(--sage);
    font-weight:700;
    text-decoration:none;
    border-bottom:1px dotted currentColor;
    transition:color var(--transition),border-color var(--transition),background var(--transition),box-shadow var(--transition),transform var(--transition);
}
a:hover{
    color:var(--sage-light);
    border-bottom-style:solid;
}

/* Fließtext-Links (alte Datei: blau #6fb1ff) */
.ce_text a,
.content-text a,
.content a,
.mod_article a{
    color:var(--sage);
    text-decoration:underline;
    text-underline-offset:3px;
    border-bottom:none;
}
.ce_text a:hover,
.content-text a:hover,
.content a:hover,
.mod_article a:hover{color:var(--sage-light);}

/* Tastaturfokus gut sichtbar */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
    outline:3px solid var(--accent-warm);
    outline-offset:3px;
}


/* ==========================================================
   6. Kopfbereich
   Logo + Zeile zentriert; nur die Menüleiste bleibt beim
   Scrollen stehen (#header klebt um --brand-h nach oben
   versetzt, die Logo-Zeile scrollt dadurch weg).
   ========================================================== */
#header{
    position:sticky;
    top:calc(-1 * var(--brand-h));
    z-index:50;
    background:rgba(10,12,9,.72);
    -webkit-backdrop-filter:blur(18px) saturate(1.4);
    backdrop-filter:blur(18px) saturate(1.4);
}
#header .inside{background:transparent;}

#head1,
#head2{
    max-width:var(--content);
    margin:0 auto;
    padding:14px var(--gutter) 12px;
}

.header-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:24px;
    min-height:calc(var(--brand-h) - 26px);
}

.header-logo{flex:0 0 auto;border:none!important;}
.header-logo img{
    width:auto;
    height:76px;
    filter:drop-shadow(0 0 16px rgba(168,187,116,.35));
    transition:transform var(--transition);
}
.header-logo:hover img{transform:scale(1.03);}

.header-info{
    display:flex;
    align-items:center;
    gap:24px;
}

.header-title{
    border-left:1px solid rgba(168,187,116,.45);
    padding-left:24px;
}
.header-title h2,
.header-title p{
    margin:0;
    font:500 14px/1.6 var(--font-head);
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--text)!important;
    background:none;
    -webkit-text-fill-color:currentColor;
}
.header-title p:last-child{color:var(--sage)!important;}

/* Telefon/Kontakt im Kopf entfällt im neuen Design
   (Telefon steht im Hero und im Termin-Bereich).
   Zum Wiedereinblenden diese Regel löschen. */
.header-contact{display:none;}


/* ==========================================================
   7. Hauptnavigation (Contao-Navigationsmodul, 2 Ebenen)
   Erwartet: <nav class="mod_navigation" id="hauptnavigation">
             ul.level_1 > li(.submenu) > a|strong
             ul.level_2 (Untermenü)
   Termin-Button: Menüpunkt mit CSS-Klasse "nav-cta".
   ========================================================== */
#hauptnavigation{
    position:relative;
    padding:12px var(--gutter);
    background:var(--bg-glass);
    border-top:1px solid var(--sage-a22);
}
#hauptnavigation::after{          /* wandernde Leuchtlinie */
    content:"";
    position:absolute;left:0;right:0;bottom:0;
    height:1px;
    background:linear-gradient(90deg,transparent,var(--sage),transparent);
    background-size:200% 100%;
    animation:oc-sweep 7s linear infinite;
}
@keyframes oc-sweep{to{background-position:-200% 0;}}

#hauptnavigation ul{list-style:none;margin:0;padding:0;}
#hauptnavigation li{margin:0;}

#hauptnavigation .level_1{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:8px;
    max-width:var(--content);
    margin:0 auto;
}

#hauptnavigation .level_1 > li{position:relative;}

#hauptnavigation .level_1 > li > a,
#hauptnavigation .level_1 > li > strong{
    display:inline-flex;
    align-items:center;
    padding:10px 17px;
    border:1px solid rgba(168,187,116,.3);
    border-radius:var(--radius-pill);
    background:rgba(168,187,116,.08);
    color:#E8EFD4;
    font-weight:600;
    font-size:17px;
    line-height:1.3;
    text-decoration:none;
}
#hauptnavigation .level_1 > li > a:hover{
    background:rgba(168,187,116,.22);
    border-color:var(--sage);
    color:#fff;
    box-shadow:0 0 18px var(--sage-a35);
}

/* aktive Seite und Pfad */
#hauptnavigation .level_1 > li > strong.active,
#hauptnavigation .level_1 > li > a.trail,
#hauptnavigation .level_1 > li.trail > a{
    background:var(--sage);
    border-color:var(--sage);
    color:var(--ink);
    box-shadow:0 0 22px rgba(168,187,116,.45);
}

/* Pfeil bei Punkten mit Untermenü */
#hauptnavigation .level_1 > li.submenu > a::after,
#hauptnavigation .level_1 > li.submenu > strong::after{
    content:"";
    width:6px;height:6px;
    margin-left:9px;
    border:solid currentColor;
    border-width:0 2px 2px 0;
    transform:translateY(-2px) rotate(45deg);
    opacity:.75;
}

/* Untermenü */
#hauptnavigation .level_2{
    position:absolute;
    left:50%;
    top:calc(100% + 10px);
    z-index:60;
    min-width:270px;
    padding:8px;
    display:flex;
    flex-direction:column;
    gap:2px;
    background:rgba(12,15,10,.97);
    border:1px solid var(--sage-a35);
    border-radius:var(--radius-lg);
    box-shadow:0 18px 40px rgba(0,0,0,.55),0 0 30px rgba(168,187,116,.12);
    opacity:0;
    visibility:hidden;
    transform:translate(-50%,6px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
#hauptnavigation .level_2::before{   /* Brücke, damit Hover nicht abreißt */
    content:"";
    position:absolute;left:0;right:0;top:-14px;height:14px;
}
#hauptnavigation li.submenu:hover > .level_2,
#hauptnavigation li.submenu:focus-within > .level_2,
#hauptnavigation li.submenu.is-open > .level_2{      /* is-open: per Skript (Tablet, Esc) */
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
}
#hauptnavigation .level_2 a,
#hauptnavigation .level_2 strong{
    display:block;
    padding:9px 14px;
    border:0;
    border-radius:10px;
    color:var(--text);
    font-weight:500;
    font-size:16px;
    white-space:nowrap;
    text-decoration:none;
}
#hauptnavigation .level_2 a:hover{
    background:rgba(168,187,116,.18);
    color:#fff;
}
#hauptnavigation .level_2 strong.active{
    background:rgba(168,187,116,.1);
    color:var(--sage-light);
    font-weight:600;
}

/* 3. Ebene (z. B. Karriere › Stellenanzeige): eingerückt im Untermenü */
#hauptnavigation .level_3{
    position:static;
    display:flex;
    flex-direction:column;
    gap:2px;
    margin:2px 0 4px 14px;
    padding:0 0 0 8px;
    border-left:1px solid var(--sage-a22);
    list-style:none;
}
#hauptnavigation .level_3 a,
#hauptnavigation .level_3 strong{font-size:15px;padding:7px 12px;}

/* "Termin vereinbaren" als Leuchtkapsel */
#hauptnavigation .level_1 > li.nav-cta > a,
#hauptnavigation .level_1 > li.nav-cta > strong{
    margin-left:6px;
    background:rgba(168,187,116,.14);
    border-color:var(--sage);
    box-shadow:0 0 18px rgba(168,187,116,.3);
}
#hauptnavigation .level_1 > li.nav-cta > a:hover{
    background:var(--sage);
    color:var(--ink);
    box-shadow:var(--glow-strong);
}

/* Contao setzt in layout.css .block{overflow:hidden}. Das schneidet
   das Untermenü am Rand der Menüleiste ab (und Leuchteffekte an
   Artikelkanten). Hier wieder freigeben. */
#header .block,
#hauptnavigation .mod_navigation,
#main .mod_article.block,
#footer .block{overflow:visible;}

/* Alt: Superfish-Menü der bisherigen Seite */
.sf-menu a,
.sf-menu strong{padding:10px 17px;}


/* ==========================================================
   8. Mobilmenü (bestehende Lösung #menue / .mobile_menu)
   ========================================================== */
#menue{
    display:none;
    border:1px solid var(--sage-a50);
    border-radius:var(--radius-sm);
    background:var(--sage-a12);
    color:var(--text);
    padding:6px 16px;
    font:700 16px/1.6 var(--font-text);
}
#menue:hover{cursor:pointer;background:rgba(168,187,116,.2);}

.mobile_menu .inner{
    background:rgba(16,20,12,.98)!important;
    color:var(--text);
}
.mobile_menu ul{list-style:none;margin:0;padding:0;}
.mobile_menu li{margin:0;border-top:1px solid rgba(168,187,116,.15);}
.mobile_menu a,
.mobile_menu strong{
    display:block;
    padding:14px 20px;
    color:var(--text);
    font-weight:700;
    border:0;
    text-decoration:none;
}
.mobile_menu .level_2 a,
.mobile_menu .level_2 strong{padding-left:36px;font-weight:600;font-size:16px;}
.mobile_menu .level_3 a,
.mobile_menu .level_3 strong{padding-left:52px;font-weight:500;font-size:15px;}
.mobile_menu strong.active{color:var(--sage-light);background:rgba(168,187,116,.1);}
.mobile_menu a:hover{background:rgba(168,187,116,.12);color:var(--sage-light);}

.schliessen{
    position:absolute;
    right:2rem;
    top:.25rem;
    color:var(--text);
}


/* ==========================================================
   9. Abschnitte (CSS-Klasse am Artikel bzw. an der
   Elementgruppe eintragen)
   sec        – normaler Abschnitt, Inhalt max. 1200 px
   sec-band   – dunkles Band mit Leuchtkanten
   sec-soft   – zartes Glasband
   sec-center – Inhalte zentriert
   ========================================================== */
.sec,
.mod_article.sec > .inside{
    max-width:var(--content);
    margin:0 auto;
    padding:72px var(--gutter);
}
.mod_article.sec{max-width:none;padding:0;}   /* Abstand nur am inneren Container */

.sec-band{
    background:linear-gradient(180deg,rgba(4,6,3,.85),rgba(14,20,10,.85))!important;
    box-shadow:inset 0 1px 0 var(--sage-a22),inset 0 -1px 0 var(--sage-a22);
}
.sec-band > .inside{
    max-width:var(--content);
    margin:0 auto;
    padding:72px var(--gutter);
}

.sec-soft{
    background:rgba(168,187,116,.035)!important;
    border-top:1px solid rgba(168,187,116,.18);
    border-bottom:1px solid rgba(168,187,116,.18);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
}
.sec-soft > .inside{
    max-width:var(--content);
    margin:0 auto;
    padding:56px var(--gutter);
}

/* Contao 5 gibt Artikel ohne inneres .inside aus:
   Abstand dann direkt am Artikel, Bänder bleiben volle Breite */
.mod_article.sec:not(:has(> .inside)){
    max-width:var(--content);
    margin:0 auto;
    padding:72px var(--gutter);
}
.mod_article.sec-band:not(:has(> .inside)){
    padding:72px max(var(--gutter),calc((100% - var(--content)) / 2 + var(--gutter)));
}
.mod_article.sec-soft:not(:has(> .inside)){
    padding:56px max(var(--gutter),calc((100% - var(--content)) / 2 + var(--gutter)));
}

.sec-center,
.sec-center p{text-align:center;}
.sec-center p,
.sec-center .lead{max-width:820px;margin-left:auto;margin-right:auto;}
/* Karten, Formulare und Listen bleiben auch in zentrierten Abschnitten linksbündig */
.sec-center .card,
.sec-center .card p,
.sec-center .mod_form,
.sec-center .mod_form p,
.sec-center .faq-item,
.sec-center .faq-item p{text-align:left;max-width:none;}


/* ==========================================================
   10. Buttons
   Contao: Element "Hyperlink" mit CSS-Klasse am Element
   (z. B. "btn btn-primary") – Regeln greifen auf <a> innen
   und auf <a class="btn ..."> direkt.
   ========================================================== */
.btn > a,
a.btn,
.btn-row a,
button.submit,
.widget-submit button,
input[type=submit],
input[type=reset]{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:48px;
    text-align:center;
    padding:13px 26px;
    border:0;
    border-radius:var(--radius-pill);
    font:700 17px/1.3 var(--font-text);
    letter-spacing:.01em;
    text-decoration:none!important;
    cursor:pointer;
    transition:transform var(--transition),box-shadow var(--transition),background var(--transition),color var(--transition);
}

/* Primär: Salbeigrün */
.btn-primary > a,
a.btn-primary,
button.submit,
.widget-submit button,
input[type=submit]{
    background:linear-gradient(135deg,var(--sage-pale),var(--sage));
    color:var(--ink)!important;
    -webkit-text-fill-color:var(--ink);
    box-shadow:var(--glow);
}
.btn-primary > a:hover,
a.btn-primary:hover,
button.submit:hover,
.widget-submit button:hover,
input[type=submit]:hover{
    background:var(--sage-pale);
    box-shadow:var(--glow-strong);
    transform:translateY(-2px);
}

/* Umriss */
.btn-outline > a,
a.btn-outline,
input[type=reset]{
    background:var(--sage-a06);
    border:1px solid rgba(168,187,116,.55);
    color:var(--text)!important;
}
.btn-outline > a:hover,
a.btn-outline:hover{
    background:var(--sage);
    border-color:var(--sage);
    color:var(--ink)!important;
    box-shadow:0 0 28px rgba(168,187,116,.45);
    transform:translateY(-2px);
}

/* Orange – nur EIN Element pro Seite */
.btn-accent > a,
a.btn-accent{
    background:var(--accent-warm);
    color:var(--ink)!important;
    box-shadow:0 0 28px rgba(255,188,19,.3);
}
.btn-accent > a:hover,
a.btn-accent:hover{
    background:var(--accent-warm-hover);
    box-shadow:0 0 38px rgba(255,188,19,.5);
    transform:translateY(-2px);
}

.btn > a:active,
a.btn:active,
.widget-submit button:active{transform:scale(.98);}

/* mehrere Buttons nebeneinander (Elementgruppe "btn-row") */
.btn-row{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    align-items:center;
}
.sec-center .btn-row,
.btn-row.mitte{justify-content:center;}
.btn,
.btn-row > *{margin:0;}


/* ==========================================================
   11. Karten & Raster
   grid-2 / grid-3 / grid-4 an einer Elementgruppe,
   Kinder bekommen "card". Ganze Karte klickbar: "card-link"
   (HTML-Element mit <a class="card card-link">).
   ========================================================== */
.grid-2,.grid-3,.grid-4{
    display:grid;
    gap:24px;
    margin:28px 0;
}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}

.card,
.feature-card,
.news-card,
.team-card,
.faq-item,
.faq-nav a{
    background:var(--bg-card);
    border:1px solid var(--sage-a22);
    border-radius:var(--radius-lg);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
}

.card{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:28px;
    position:relative;
    text-align:left;
}
.card h3{margin:0;}
.card p{margin:0;}
.card > *:last-child{margin-bottom:0;}

/* Strich-Symbol oben in der Karte (inline-SVG im HTML-Element) */
.card .icon{width:34px;height:34px;color:var(--sage);}

/* Strich-Symbole in Karten: <span class="icon icon-NAME" aria-hidden="true"></span>
   (Contao lässt im HTML-Element kein <svg> zu, daher per CSS-Maske) */
.card .icon[class*="icon-"]{display:block;width:34px;height:34px;background:var(--sage);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;}
.icon-einlage{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3c-2.5 0-4 2.5-4 6 0 5 2 12 6 12 2.2 0 3-1.6 3-3.5 0-2-1-3-1-5.5S13 8 13 6c0-1.8-2-3-5-3z'/%3E%3Cpath d='M7 9h3'/%3E%3C/svg%3E");}
.icon-schuh{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 16v-5l4-1 3-4h3l1 4 5 2c1.5.6 2 1.5 2 3v1H3z'/%3E%3Cpath d='M3 19h18'/%3E%3C/svg%3E");}
.icon-werkzeug{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 7l3-3 3 3-3 3'/%3E%3Cpath d='M17 4L6 15'/%3E%3Cpath d='M4 17l3 3'/%3E%3Cpath d='M3 21l3-3'/%3E%3C/svg%3E");}
.icon-schutz{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 5-3 8.5-7 10-4-1.5-7-5-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");}

/* ganze Karte als Link */
a.card-link,
.card-link > a{
    display:flex;
    flex-direction:column;
    gap:10px;
    color:var(--text)!important;
    font-weight:400;
    text-decoration:none!important;
    border-bottom:1px solid var(--sage-a22);
}
a.card-link:hover,
.card-link:hover,
.feature-card:hover,
.news-card:hover,
.team-card:hover,
.faq-nav a:hover{
    background:var(--bg-card-hover);
    border-color:var(--sage)!important;
    box-shadow:0 0 0 1px var(--sage-a50),0 0 44px rgba(168,187,116,.25),var(--shadow-card);
    transform:translateY(-6px);
}
.card .more,
.card-link .more{
    margin-top:auto;
    padding-top:8px;
    color:var(--sage);
    font-weight:700;
    transition:padding var(--transition);
}
.card-link:hover .more{padding-left:8px;}

/* Bild oben in einer Karte (randlos) */
.card-media{padding:0;overflow:hidden;}
.card-media img{width:100%;height:200px;object-fit:cover;}
.card-media .card-body{padding:24px 28px 28px;display:flex;flex-direction:column;gap:10px;}

/* Altklasse: Feature-Card */
.feature-card{
    display:flex;
    flex-direction:column;
    height:100%;
    padding:30px;
    transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition),background var(--transition);
}
.feature-card h3{margin:0 0 16px;}
.feature-card p{margin:0;flex:1;color:var(--text);line-height:1.7;}
.feature-card a{align-self:flex-start;}


/* ==========================================================
   12. Kapseln, Häkchenlisten, Eyebrow
   ========================================================== */
/* Kapseln: Liste mit Klasse "chips" (Textelement) */
.chips ul,
ul.chips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:12px 0;
    padding:0;
    list-style:none;
}
.sec-center .chips ul,
.sec-center ul.chips{justify-content:center;}
.chips li,
.chip{
    margin:0;
    padding:9px 18px;
    border:1px solid var(--sage-a35);
    border-radius:var(--radius-pill);
    background:var(--sage-a06);
    color:var(--text);
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
}
.chips a,
a.chip{
    display:inline-block;
    color:var(--text);
    font-weight:400;
    text-decoration:none;
    border:0;
}
.chips li:has(a):hover,
a.chip:hover{
    background:var(--sage);
    border-color:var(--sage);
    box-shadow:0 0 22px rgba(168,187,116,.4);
}
.chips li:has(a):hover a,
a.chip:hover{color:var(--ink);}

/* Häkchenliste: Liste mit Klasse "checklist" */
.checklist ul,
ul.checklist{
    list-style:none;
    margin:12px 0;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    gap:10px 24px;
}
.checklist.vertical ul,
ul.checklist.vertical{flex-direction:column;gap:8px;}
.sec-center .checklist ul{justify-content:center;}
.checklist li{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0;
    font-weight:600;
    text-align:left;
}
.checklist li::before{
    content:"";
    flex:none;
    width:7px;height:14px;
    margin:0 4px;
    border:solid var(--sage);
    border-width:0 3px 3px 0;
    transform:rotate(45deg) translateY(-3px);
}

/* Eyebrow-Pille "Meisterbetrieb seit 1927" */
.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin:0 0 6px;
    padding:6px 16px;
    border:1px solid rgba(168,187,116,.4);
    border-radius:var(--radius-pill);
    background:rgba(168,187,116,.08);
    color:var(--sage)!important;
    font:600 13px/1.4 var(--font-head);
    letter-spacing:.2em;
    text-transform:uppercase;
}
.eyebrow::before{
    content:"";
    width:8px;height:8px;
    border-radius:50%;
    background:var(--sage);
    box-shadow:0 0 10px 2px rgba(168,187,116,.8);
}
.eyebrow p{margin:0;color:inherit!important;font:inherit;letter-spacing:inherit;}

/* Vertrauenszeile unter dem Hero */
.trustbar ul{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px 40px;
    margin:0;
    padding:0;
    list-style:none;
    color:var(--sage);
    font-weight:600;
}
.trustbar li{margin:0;color:var(--sage);}


/* ==========================================================
   13. Hero (Artikel- oder Gruppen-Klasse "hero")
   ========================================================== */
.hero > .inside,
.hero{
    max-width:var(--content);
    margin:0 auto;
    padding:72px var(--gutter) 48px;
}
.hero-split{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    gap:56px;
    align-items:center;
}
.hero p{font-size:1.15rem;}
.hero-photo img{
    width:100%;
    height:440px;
    object-fit:cover;
    object-position:50% 75%;
    border-radius:22px;
    border:1px solid rgba(168,187,116,.45);
    box-shadow:0 0 70px rgba(168,187,116,.22),0 30px 60px rgba(0,0,0,.55);
}
.hero .hint{font-size:15px;color:var(--text-muted);}


/* ==========================================================
   14. Formulare (Contao-Formulargenerator)
   ========================================================== */
.mod_form,
.ce_form,
.form-card{
    padding:32px;
    background:var(--bg-card);
    border:1px solid var(--sage-a22);
    border-radius:var(--radius-lg);
}
.mod_form form,
.ce_form form{display:flex;flex-direction:column;gap:18px;}

.widget{margin:0;}
label,
legend{
    display:block;
    margin-bottom:6px;
    color:var(--text);
    font-weight:600;
}
.mandatory,
span.mandatory{color:var(--sage-light);}

input,
textarea,
select{
    width:100%;
    max-width:none;
    min-height:50px;
    margin:0;
    padding:12px 14px;
    background:rgba(10,12,9,.6);
    color:var(--text);
    font:400 18px/1.4 var(--font-text);
    border:1px solid var(--sage-a35);
    border-radius:10px;
    transition:border-color var(--transition),box-shadow var(--transition);
}
input:hover,
textarea:hover,
select:hover{border-color:var(--sage);}
input:focus,
textarea:focus,
select:focus{
    border-color:var(--sage);
    box-shadow:0 0 18px var(--sage-a22);
}
input::placeholder,
textarea::placeholder{color:#8F978A;}
select option{background:#151515;color:var(--text);}

textarea{min-height:150px;resize:vertical;}

/* Checkboxen */
input[type=checkbox],
input[type=radio]{
    width:22px;
    height:22px;
    min-height:0;
    padding:0;
    margin:3px 12px 0 0;
    flex:none;
    accent-color:var(--sage);
    cursor:pointer;
}
.checkbox_container,
fieldset{border:0;margin:0;padding:0;}
.checkbox_container span,
.widget-checkbox span{
    display:flex;
    align-items:flex-start;
    margin-bottom:8px;
}
.checkbox_container label,
.widget-checkbox span label{
    display:inline;
    margin:0;
    font-weight:400;
}

/* Spamschutz-Frage */
.widget-captcha .captcha_text{
    display:block;
    margin:0 0 8px;
    font-size:15px;
    color:var(--text-muted);
}
.widget-captcha input{max-width:260px;}

/* Hinweise und Fehler */
.form-hint,
.explanation{font-size:15px;color:var(--text-muted);}
p.error{
    margin:0 0 6px;
    color:#FFB4A8;
    font-weight:600;
}
input.error,
textarea.error,
select.error{border-color:#FFB4A8;}

.widget-submit{margin-top:4px;}
.widget-submit button{margin:0;}


/* ==========================================================
   15. Aufklapp-Fragen (FAQ, <details class="faq-item">)
   ========================================================== */
.ce_headline{margin:50px 0 20px;}

.faq-item{
    margin:14px 0;
    overflow:hidden;
    transition:border-color var(--transition),box-shadow var(--transition);
}
.faq-item:hover{transform:none;}
.faq-item[open]{border-color:var(--sage-a50);box-shadow:var(--shadow-card);}

.faq-item summary{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:20px 24px;
    color:var(--text);
    font-size:1.08rem;
    font-weight:600;
    line-height:1.45;
    list-style:none;
    cursor:pointer;
    user-select:none;
    transition:color var(--transition),background var(--transition);
}
.faq-item summary::-webkit-details-marker,
.faq-item summary::marker{display:none;content:"";}
.faq-item summary:hover{color:var(--sage-light);}

/* runder Plus-Knopf */
.faq-item summary::after{
    content:"+";
    flex:none;
    display:grid;
    place-items:center;
    width:36px;height:36px;
    border:1px solid var(--sage-a50);
    border-radius:50%;
    color:var(--sage);
    font-size:22px;
    line-height:1;
    transition:background var(--transition),box-shadow var(--transition);
}
.faq-item[open] summary::after{content:"–";}
.faq-item summary:hover::after{
    background:rgba(168,187,116,.18);
    box-shadow:0 0 16px rgba(168,187,116,.4);
}
.faq-item[open] summary{
    background:rgba(168,187,116,.06);
    border-bottom:1px solid var(--sage-a22);
}
.faq-item summary:focus-visible{outline-offset:-3px;}

.faq-answer{
    padding:22px 24px;
    line-height:1.7;
    color:var(--text);
}
.faq-answer p{margin:0 0 14px;max-width:820px;}
.faq-answer p:last-child{margin-bottom:0;}
.faq-answer ul{margin:14px 0 14px 24px;padding:0;}
.faq-answer li{margin:6px 0;}
.faq-answer strong{color:var(--sage-light);}

/* FAQ-Sprungnavigation (Kapseln) */
.faq-nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    margin:28px 0 48px;
}
.faq-nav a{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:9px 18px;
    border-radius:var(--radius-pill);
    color:var(--text);
    font-weight:600;
    text-decoration:none;
    border-bottom:1px solid var(--sage-a22);
}
.faq-nav a:hover{transform:translateY(-2px);}
.faq-dot{
    flex-shrink:0;
    width:8px;height:8px;
    border-radius:50%;
    background:var(--sage);
    box-shadow:0 0 10px 2px rgba(168,187,116,.6);
    transition:transform var(--transition);
}
.faq-nav a:hover .faq-dot{transform:scale(1.4);}


/* ==========================================================
   16. News / Aktuelles
   ========================================================== */
.mod_newslist{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}
.mod_newslist > h2,
.mod_newslist > .pagination{grid-column:1/-1;}

.mod_newslist .layout_latest,
.news-card{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin:0;
    padding:0 0 28px;
    overflow:hidden;
    background:var(--bg-card);
    border:1px solid var(--sage-a22);
    border-radius:var(--radius-lg);
    transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition),background var(--transition);
}
.mod_newslist .layout_latest > *:not(figure),
.news-card > *:not(.ce_image):not(.content-image):not(figure){padding:0 28px;}
.mod_newslist .layout_latest figure img,
.news-card img{
    width:100%;
    height:200px;
    object-fit:cover;
    border-radius:0;
    box-shadow:none;
    transition:transform .5s ease;
}
.mod_newslist .layout_latest:hover,
.news-card:hover{
    background:var(--bg-card-hover);
    border-color:var(--sage);
    box-shadow:0 0 0 1px var(--sage-a50),0 0 44px rgba(168,187,116,.25),var(--shadow-card);
    transform:translateY(-6px);
}
.news-card:hover img,
.mod_newslist .layout_latest:hover img{transform:scale(1.03);}
.mod_newslist .info,
.news-card .info,
.news-date{
    display:block!important;   /* alte Datei blendete .info aus – Datum soll sichtbar sein */
    margin:20px 0 0;
    font:600 13px var(--font-head);
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--text-muted);
}
.mod_newslist h2,
.news-card h2,
.news-card h3{
    margin:0;
    font-size:1.3rem;
    background:none;
    -webkit-text-fill-color:currentColor;
    color:var(--sage-light)!important;
}
.mod_newslist .more a,
.news-card .more a{color:var(--sage);}

/* Altvariante: kleines Bild links */
.news-card-small{flex-direction:row;padding:28px;gap:24px;}
.news-card-small > *{padding:0!important;}
.news-card-small img{height:auto;}


/* ==========================================================
   17. Team-Karten
   ========================================================== */
.team-card{
    margin:24px 0;
    padding:36px;
    transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition),background var(--transition);
}
.team-card::after{content:"";display:block;clear:both;}
.team-card .image_container,
.team-card figure{float:right;margin:0 0 24px 32px;}
.team-card img{
    width:240px;
    border-radius:18px;
    border:1px solid var(--sage-a35);
    box-shadow:0 10px 28px rgba(0,0,0,.35);
}
.team-card h3{margin:0 0 6px;font-size:1.8rem;}
.team-position{
    margin:0 0 22px;
    color:var(--sage);
    font:600 14px var(--font-head);
    letter-spacing:.14em;
    text-transform:uppercase;
}
.team-card p{margin-bottom:16px;line-height:1.75;}


/* ==========================================================
   18. Galerie & Lightbox (Colorbox)
   ========================================================== */
.modern-gallery > ul,
.content-gallery > ul,
.ce_gallery > ul{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    margin:0;
    padding:0;
    list-style:none;
}
.modern-gallery > ul > li,
.content-gallery > ul > li,
.ce_gallery > ul > li{margin:0;padding:0;}

.modern-gallery figure,
.content-gallery figure,
.ce_gallery figure{margin:0;display:flex;flex-direction:column;gap:10px;}

.modern-gallery .image_container,
.modern-gallery figure > a,
.content-gallery figure > a,
.ce_gallery figure > a{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:14px;
    border:0!important;
}
.modern-gallery img,
.content-gallery img,
.ce_gallery img{
    width:100%;
    aspect-ratio:4/3;
    height:auto;
    object-fit:cover;
    border-radius:14px;
    box-shadow:var(--shadow-sm);
    transition:transform .3s ease,box-shadow .3s ease;
}
.modern-gallery figure > a:hover img,
.content-gallery figure > a:hover img,
.ce_gallery figure > a:hover img,
.modern-gallery img:hover{
    transform:translateY(-4px);
    box-shadow:0 0 0 1px var(--sage),0 0 36px rgba(168,187,116,.3),0 16px 32px rgba(0,0,0,.5);
}
/* Lupen-Knopf beim Hover */
.modern-gallery figure > a::after,
.content-gallery figure > a::after,
.ce_gallery figure > a::after{
    content:"";
    position:absolute;
    right:12px;bottom:12px;
    width:40px;height:40px;
    border-radius:50%;
    background:var(--sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A0C09' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4.5 4.5M11 8.5v5M8.5 11h5'/%3E%3C/svg%3E") center/20px no-repeat;
    opacity:0;
    transform:scale(.8);
    transition:opacity .25s ease,transform .25s ease;
}
.modern-gallery figure > a:hover::after,
.modern-gallery figure > a:focus-visible::after,
.content-gallery figure > a:hover::after,
.content-gallery figure > a:focus-visible::after,
.ce_gallery figure > a:hover::after,
.ce_gallery figure > a:focus-visible::after{opacity:1;transform:none;}

.modern-gallery figcaption,
.content-gallery figcaption,
.ce_gallery figcaption{
    margin:0;
    text-align:left;
    font-size:16px;
    font-weight:600;
    line-height:1.4;
    color:var(--sage-light);
}

/* Lightbox */
#cboxOverlay{background:rgba(5,7,4,.88);}
#cboxContent,#cboxLoadedContent{background:transparent;}
#cboxTitle,
#cboxCurrent{
    padding:.35rem .75rem;
    background:rgba(10,12,9,.85);
    color:var(--text);
    border-radius:var(--radius-sm);
}
#cboxPrevious,#cboxNext,#cboxClose{color:var(--sage);}


/* ==========================================================
   19. Rundgang & Karte (Zwei-Klick-Platzhalter)
   ========================================================== */
#orschuhtec-rundgang,
.rgp,
.map-consent{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:16px;
    aspect-ratio:16/9;
    padding:32px;
    text-align:center;
    border-radius:var(--radius-lg);
    border:1px solid var(--sage-a35);
    overflow:hidden;
}
/* Vorschaubild: Pfad zu rundgang-vorschau.jpg ggf. anpassen */
#orschuhtec-rundgang,
.rgp{
    background:
        radial-gradient(ellipse 60% 70% at 50% 50%,rgba(10,12,9,.86),rgba(10,12,9,.62) 100%),
        url('../../files/OrSchuhTec/downloads/360%20Grad-Rundgang.webp') center/cover no-repeat;
}
.map-consent{
    aspect-ratio:auto;
    min-height:380px;
    background:
        repeating-linear-gradient(135deg,rgba(168,187,116,.06) 0 12px,transparent 12px 24px),
        rgba(168,187,116,.04);
    border-style:dashed;
}
#orschuhtec-rundgang p,
.map-consent p{max-width:560px;margin:0;}

.ring-360{
    display:grid;
    place-items:center;
    width:76px;height:76px;
    border:1.5px solid var(--sage);
    border-radius:50%;
    color:var(--sage-light);
    font:500 20px var(--font-head);
    box-shadow:0 0 24px rgba(168,187,116,.3);
}

/* geladener Rundgang */
.rundgang-iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}

/* Rundgang-Karte mit Foto */
.rgimg{position:relative;overflow:hidden;min-height:220px;}
.rgimg img{
    position:absolute;inset:0;
    width:100%;height:100%;
    object-fit:cover;
    transition:transform .5s ease;
}
.card-link:hover .rgimg img{transform:scale(1.04);}
.rg360{
    position:absolute;
    left:14px;top:14px;
    padding:5px 12px;
    border-radius:var(--radius-pill);
    background:rgba(10,12,9,.72);
    border:1px solid rgba(168,187,116,.6);
    color:var(--sage-mist);
    font:600 13px var(--font-head);
    letter-spacing:.12em;
}


/* ==========================================================
   20. Soziales Engagement (Vereinslogos)
   ========================================================== */
.vl{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:44px;
    margin-top:8px;
}
.vlogo{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    color:var(--text)!important;
    font-weight:600;
    font-size:15px;
    text-decoration:none!important;
    border:0!important;
}
.vlogo img{
    width:124px;height:124px;
    border-radius:50%;
    box-shadow:0 0 0 1px var(--sage-a50),0 0 0 7px rgba(168,187,116,.07),0 0 34px rgba(168,187,116,.18);
    transition:transform .25s ease,box-shadow .25s ease;
}
.vlogo:hover img,
.vlogo:focus-visible img{
    transform:translateY(-4px);
    box-shadow:0 0 0 2px var(--sage),0 0 0 9px var(--sage-a12),0 0 44px var(--sage-a35);
}
.vlogo:hover span{color:var(--sage-light);}


/* Google-Bewertungen (Elfsight-Widget, lädt über platform.js im Layout).
   Eigene Überschrift steht im Seiten-Design davor, daher den Titel
   des Widgets ausblenden (es-… sind die festen Klassen von Elfsight). */
[class*="elfsight-app-"] .es-widget-title{display:none;}
[class*="elfsight-app-"]{margin-top:8px;}


/* ==========================================================
   21. Sitemap
   ========================================================== */
.sitemap-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    margin:32px 0 56px;
}
.mod_sitemap ul{list-style:none;margin:0;padding:0;}
.mod_sitemap li{margin:0;}
.mod_sitemap a,
.sitemap-list a{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:9px 10px;
    margin:0 -10px;
    border-radius:10px;
    color:var(--text);
    font-weight:400;
    text-decoration:none;
    border:0;
}
.mod_sitemap a::after,
.sitemap-list a::after{content:"→";color:var(--sage);transition:transform var(--transition);}
.mod_sitemap a:hover,
.sitemap-list a:hover{background:var(--sage-a12);color:#fff;}
.mod_sitemap a:hover::after,
.sitemap-list a:hover::after{transform:translateX(4px);}
.mod_sitemap .level_2 a{padding-left:24px;font-size:16px;}


/* ==========================================================
   22. Fußzeile
   ========================================================== */
#footer{
    border-top:1px solid rgba(168,187,116,.25);
    background:transparent;
}
#footer .inside{
    max-width:var(--content);
    margin:0 auto;
    padding:24px var(--gutter);
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:16px;
    font-size:15px;
    color:var(--text);
}
#footer p{margin:0;}
#footer a,
#footer a:visited{
    color:var(--sage);
    font-weight:400;
    border-bottom:1px solid rgba(168,187,116,.45);
}
#footer a:hover,
#footer a:focus{
    color:var(--sage-light);
    border-bottom-color:var(--sage-light);
}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 20px;}
/* Cookie-Einstellungen als Knopf (Contao Cookiebar, Klasse ccb-trigger) wie ein Link */
#footer .ccb-trigger{
    appearance:none;
    margin:0;
    padding:0;
    min-height:0;
    background:none;
    border:0;
    border-bottom:1px solid rgba(168,187,116,.45);
    border-radius:0;
    color:var(--sage);
    font:inherit;
    font-weight:400;
    cursor:pointer;
}
#footer .ccb-trigger:hover,
#footer .ccb-trigger:focus-visible{color:var(--sage-light);border-bottom-color:var(--sage-light);}


/* ==========================================================
   23. Module, Cookiebar, Sprachassistent
   ========================================================== */
.mod_rocksolid_slider img{width:100%;}   /* alter Slider, im neuen Layout nicht genutzt */
.mod_cookiebarOpener{display:inline-block;overflow:visible;}

/* Contao Cookiebar (Oveleon) im Dunkel-Look */
.contao-cookiebar .cc-inner{
    background:rgba(12,15,10,.97)!important;
    color:var(--text)!important;
    border:1px solid var(--sage-a35);
    border-radius:var(--radius-lg);
    box-shadow:0 18px 40px rgba(0,0,0,.55);
}
.contao-cookiebar .cc-btn{
    border-radius:var(--radius-pill)!important;
    font-weight:700;
}
.contao-cookiebar .cc-btn.success{
    background:linear-gradient(135deg,var(--sage-pale),var(--sage))!important;
    border-color:var(--sage)!important;
    color:var(--ink)!important;
}

/* KI-Sprachassistent (IONOS) – sitzt fest unten,
   dort nichts anderes fest positionieren */
ai-voicereceptionist{
    --accent:#A8BB74;
    --bg:#0F130C;
    --fg:#E0E0E0;
    --pill-bg:rgba(16,20,12,.96);
    --pill-border:rgba(168,187,116,.4);
    --shadow:0 8px 24px rgba(0,0,0,.45),0 0 24px rgba(168,187,116,.18);
    font-family:inherit;
}


/* ==========================================================
   24. Hilfsklassen (alte Namen beibehalten)
   ========================================================== */
#statistik{display:none;}          /* Besucherzähler entfällt */
.abstand_oben{margin-top:2rem;}
.abstand_uo{margin:2rem 0;}
.clearing{clear:both;}
.farbe{color:var(--text-muted);}
.link_ohne{border:none!important;}
.mitte{text-align:center;}
.tab{display:inline-block;width:6rem;}
.ph-stripes{
    background:repeating-linear-gradient(135deg,rgba(168,187,116,.06) 0 12px,transparent 12px 24px),rgba(168,187,116,.04);
    border:1px dashed var(--sage-a35);
}


/* ==========================================================
   25. Einblenden beim Scrollen
   Nur aktiv, wenn das Skript <html> die Klasse "js-reveal"
   gibt – ohne Skript bleibt alles sichtbar.
   ========================================================== */
.js-reveal .rv{
    opacity:0;
    transform:translateY(36px);
    transition:opacity .7s ease,transform .7s ease;
}
.js-reveal .rv.is-visible{
    opacity:1;
    transform:none;
}
/* Mit Esc geschlossenes Untermenü bleibt zu, solange der Fokus darin ist */
#hauptnavigation li.submenu.is-closed > .level_2{
    opacity:0!important;
    visibility:hidden!important;
}
@media print{
    .js-reveal .rv{opacity:1!important;transform:none!important;}
}


/* ==========================================================
   26. Responsive
   ========================================================== */

/* ---- bis 1225 px (ersetzt alte Datei max-width:1225px) ---- */
@media screen and (max-width:1225px){
    :root{--gutter:24px;}

    .header-logo img{height:66px;}
    #hauptnavigation .level_1 > li > a,
    #hauptnavigation .level_1 > li > strong{padding:9px 14px;font-size:16px;}

    .grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
    .hero-split{gap:36px;}
    .hero-photo img{height:380px;}
}

/* ---- bis 965 px (ersetzt alte Datei max-width:965px) ---- */
@media screen and (max-width:965px){
    :root{--brand-h:88px;}

    body{font-size:17px;line-height:1.55;}

    /* Kopf: Logo links, Menü-Knopf rechts, Zeile ausgeblendet */
    #head1,
    #head2{padding:12px 20px;}
    .header-brand{justify-content:space-between;gap:16px;}
    .header-logo img{height:56px;}
    .header-title{display:none;}

    /* Desktop-Leiste aus, Mobilmenü an */
    #hauptnavigation{display:none;}
    #menue{
        display:inline-flex;
        align-items:center;
        float:none;
        margin:0;
        min-height:48px;
    }
    /* Menüknopf in der Logozeile, rechts, senkrecht mittig
       (Contao gibt ihn als eigenen Block unter #head2 aus) */
    #header .mod_mobile_menu{
        position:absolute;
        top:0;
        right:20px;
        bottom:0;
        display:flex;
        align-items:center;
    }
    .footer-links{justify-content:center;}
    #header{top:0;}

    .sec,
    .mod_article.sec > .inside,
    .sec-band > .inside,
    .sec-soft > .inside,
    .hero > .inside,
    .hero,
    .mod_article.sec:not(:has(> .inside)),
    .mod_article.sec-band:not(:has(> .inside)),
    .mod_article.sec-soft:not(:has(> .inside)){padding:44px 20px;}

    .grid-2,
    .grid-3{grid-template-columns:1fr;gap:14px;}
    .grid-4{grid-template-columns:1fr;}

    .hero-split{grid-template-columns:1fr;gap:24px;}
    .hero-photo img{height:240px;border-radius:14px;}

    .card{padding:20px;}
    .card.card-media{padding:0;}
    .card-media .card-body{padding:20px;}

    .btn-row{flex-direction:column;align-items:stretch;}
    .btn > a,
    a.btn,
    .btn-row a{width:100%;}

    .mod_newslist{grid-template-columns:1fr;}
    .modern-gallery > ul,
    .content-gallery > ul,
    .ce_gallery > ul{grid-template-columns:1fr 1fr;gap:12px;}
    .sitemap-grid{grid-template-columns:1fr;}

    .mod_form,
    .ce_form,
    .form-card{padding:20px;}

    .team-card{padding:22px;}
    .team-card .image_container,
    .team-card figure{float:none;margin:0 0 20px;}
    .team-card img{width:100%;max-width:320px;}

    #orschuhtec-rundgang,
    .rgp{aspect-ratio:auto;min-height:300px;padding:28px 20px;}

    .vl{gap:28px;}
    .vlogo img{width:104px;height:104px;}

    #footer .inside{flex-direction:column;align-items:center;text-align:center;padding:24px 20px 96px;} /* Platz für Sprachassistent */

    .sticky-wrapper{height:auto!important;}
}

/* ---- bis 600 px ---- */
@media screen and (max-width:600px){
    h1{font-size:2rem;}
    h2{font-size:1.65rem;}
    .eyebrow{letter-spacing:.12em;font-size:12px;}

    .faq-item summary{padding:16px 18px;font-size:1rem;}
    .faq-answer{padding:18px;}
    .faq-nav{justify-content:flex-start;}

    .modern-gallery > ul > li:first-child,
    .content-gallery > ul > li:first-child,
    .ce_gallery > ul > li:first-child{grid-column:1/-1;}

    .news-card-small{flex-direction:column;}
    .trustbar ul{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center;}
}


/* ==========================================================
   27. Bewegung reduzieren
   ========================================================== */
@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{
        animation:none!important;
        transition:none!important;
    }
    .js-reveal .rv{opacity:1;transform:none;}
}


/* ==========================================================
   28. Entwurfs-Bausteine (Klasse "dsec" am Artikel)
   Abschnitte der Unterseiten werden 1:1 aus den Entwürfen
   übernommen (inline-Layout). Diese Regeln bilden die Klassen
   der Entwürfe nach (.c Karte, .b/.p/.o Knöpfe, .k Kapsel,
   .h Überschrift, .ck Häkchen, .f Formular, .gi/.zm Galerie …),
   nur innerhalb von .dsec, damit nichts anderes betroffen ist.
   Automatisch erzeugt (seiten/compat_css.py).
   ========================================================== */
.dsec{color:var(--text);}
.dsec > section,.dsec > div{box-sizing:border-box;}
.dsec a{color:#A8BB74}
.dsec a:hover{color:#C9D8A0}
.dsec .b{display:inline-block;padding:15px 26px;border-radius:8px;font-weight:700;text-decoration:none;font-size:17px}
.dsec .p{background:#A8BB74;color:#151515}
.dsec .p:hover{background:#C9D8A0;color:#151515}
.dsec .o{border:2px solid #E0E0E0;color:#E0E0E0}
.dsec .c{background:#202020;border:1px solid #3A3A3A;border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:10px}
.dsec .c h3{margin:0;font:600 22px var(--font-text);color:#A8BB74}
.dsec .c p{margin:0}
.dsec .h{margin:0;font:300 36px/1.2 var(--font-text);color:#A8BB74}
.dsec section{scroll-margin-top:110px}
.dsec a,.dsec .c,.dsec .b,.dsec .k,.dsec summary{transition:all .2s ease}
.dsec .b:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.35)}
.dsec .o:hover{background:#A8BB74;color:#151515;border-color:#A8BB74}
.dsec a.c{text-decoration:none;color:#E0E0E0}
.dsec a.c:hover{color:#E0E0E0;transform:translateY(-6px);border-color:#A8BB74;background:#242a1f;box-shadow:0 14px 30px rgba(0,0,0,.45)}
.dsec a.c .m{font-weight:700;color:#A8BB74;margin-top:auto;transition:padding .2s}
.dsec a.c:hover .m{padding-left:8px}
.dsec .k{padding:9px 18px;border:1px solid #4A4A4A;border-radius:999px;text-decoration:none;color:#E0E0E0}
.dsec .k:hover{background:#A8BB74;color:#151515;border-color:#A8BB74}
.dsec details{border-bottom:1px solid #3A3A3A}
.dsec summary{cursor:pointer;padding:18px 0;font-weight:600;font-size:19px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.dsec summary::-webkit-details-marker{display:none}
.dsec summary::after{content:"+";color:#A8BB74;font-size:28px;line-height:1}
.dsec details[open] summary::after{content:"–"}
.dsec summary:hover{color:#A8BB74}
.dsec details p{margin:0 0 18px;max-width:760px}
.dsec .hc{text-align:center;width:fit-content;max-width:100%;margin-inline:auto!important}
.dsec .h,.dsec h1{font-family:var(--font-head)!important;font-weight:500!important;letter-spacing:-.02em;background:linear-gradient(95deg,#E4EDC8 0%,#A8BB74 55%,#6F9B58 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
.dsec .c h3{font-family:var(--font-head);font-weight:500;color:#C9D8A0}
.dsec .c{background:linear-gradient(160deg,rgba(168,187,116,.10),rgba(255,255,255,.025) 60%)!important;border:1px solid rgba(168,187,116,.22)!important;border-radius:16px;backdrop-filter:blur(10px);position:relative}
.dsec a.c:hover{background:linear-gradient(160deg,rgba(168,187,116,.20),rgba(255,255,255,.04) 60%)!important;border-color:#A8BB74!important;box-shadow:0 0 0 1px rgba(168,187,116,.5),0 0 44px rgba(168,187,116,.25),0 18px 40px rgba(0,0,0,.5)!important}
.dsec .b{border-radius:999px;letter-spacing:.01em}
.dsec .p{background:linear-gradient(135deg,#D8E4B4,#A8BB74);box-shadow:0 0 22px rgba(168,187,116,.28)}
.dsec .p:hover{background:#D8E4B4;box-shadow:0 0 34px rgba(168,187,116,.6)!important}
.dsec .p[style*="FFBC13"]{box-shadow:0 0 28px rgba(255,188,19,.3)}
.dsec .p[style*="FFBC13"]:hover{background:#FFD04D!important;box-shadow:0 0 38px rgba(255,188,19,.5)!important}
.dsec .o{border:1px solid rgba(168,187,116,.55);background:rgba(168,187,116,.06)}
.dsec .o:hover{box-shadow:0 0 28px rgba(168,187,116,.45)!important}
.dsec .k{background:rgba(168,187,116,.06);border:1px solid rgba(168,187,116,.35)!important;backdrop-filter:blur(8px)}
.dsec .k:hover{box-shadow:0 0 22px rgba(168,187,116,.4)}
.dsec section[style*="#202020"],.dsec div[style*="background:#202020;border-top"],.dsec div[style*="background:#202020;border-block"]{background:rgba(168,187,116,.035)!important;border-color:rgba(168,187,116,.18)!important;backdrop-filter:blur(6px)}
.dsec section[style*="#0D0D0D"],.dsec div[style*="background:#0D0D0D"]{background:linear-gradient(180deg,rgba(4,6,3,.85),rgba(14,20,10,.85))!important;box-shadow:inset 0 1px 0 rgba(168,187,116,.25),inset 0 -1px 0 rgba(168,187,116,.25)}
.dsec div[style*="background:#2A2A2A"],.dsec div[style*="background:#202020;border-radius"]{background:repeating-linear-gradient(135deg,rgba(168,187,116,.06) 0 12px,transparent 12px 24px),rgba(168,187,116,.04)!important;border:1px dashed rgba(168,187,116,.35)}
.dsec section p[style*="letter-spacing:.04em"]{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:6px 16px;border:1px solid rgba(168,187,116,.4);border-radius:999px;background:rgba(168,187,116,.08);font:600 13px var(--font-head);letter-spacing:.2em!important}
.dsec section p[style*="letter-spacing:.04em"]::before{content:"";width:8px;height:8px;border-radius:50%;background:#A8BB74;box-shadow:0 0 10px 2px rgba(168,187,116,.8)}
.dsec img[style*="height:440px"]{border-radius:22px!important;border:1px solid rgba(168,187,116,.45);box-shadow:0 0 70px rgba(168,187,116,.22),0 30px 60px rgba(0,0,0,.55)}
.dsec div[style*="font:300 44px"]{font:500 52px var(--font-head)!important;background:linear-gradient(180deg,#E4EDC8,#6F9B58);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-bottom:8px;margin-bottom:10px;border-bottom:1px solid rgba(168,187,116,.35)}
.dsec strong[style*="font-size:30px"]{font-family:var(--font-head);text-shadow:0 0 18px rgba(168,187,116,.6)}
.dsec details{border-bottom:1px solid rgba(168,187,116,.22)}
.dsec summary::after{width:36px;height:36px;flex:none;display:grid;place-items:center;border:1px solid rgba(168,187,116,.5);border-radius:50%;font-size:22px}
.dsec summary:hover::after{background:rgba(168,187,116,.18);box-shadow:0 0 16px rgba(168,187,116,.4)}
.dsec .ck{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 24px}
.dsec .ck li{display:flex;align-items:center;gap:12px;font-weight:600;text-align:left}
.dsec .ck li::before{content:"";width:7px;height:14px;flex:none;border:solid #A8BB74;border-width:0 3px 3px 0;transform:rotate(45deg) translateY(-3px);margin:0 4px 0 4px}
.dsec .f{display:flex;flex-direction:column}
.dsec .f label{display:block;font-weight:600;margin-bottom:6px}
.dsec .f label span[aria-hidden]{color:#C9D8A0}
.dsec .f input:not([type=checkbox]),.dsec .f select,.dsec .f textarea{width:100%;box-sizing:border-box;min-height:50px;padding:12px 14px;border-radius:10px;border:1px solid rgba(168,187,116,.35);background:rgba(10,12,9,.6);color:#E0E0E0;font:400 18px var(--font-text);transition:border-color .2s,box-shadow .2s}
.dsec .f input::placeholder,.dsec .f textarea::placeholder{color:#8F978A}
.dsec .f select option{background:#151515;color:#E0E0E0}
.dsec .f textarea{resize:vertical;min-height:140px}
.dsec .f input:not([type=checkbox]):hover,.dsec .f select:hover,.dsec .f textarea:hover{border-color:#A8BB74}
.dsec .f input:focus,.dsec .f select:focus,.dsec .f textarea:focus{outline:3px solid #FFBC13;outline-offset:2px;border-color:#A8BB74;box-shadow:0 0 18px rgba(168,187,116,.25)}
.dsec .f .hint{margin:6px 0 0;font-size:15px;color:#B8B8B8}
.dsec .f .g2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.dsec .f .cb{display:flex;gap:12px;align-items:flex-start;font-weight:400;margin:0;cursor:pointer}
.dsec .dt{margin:0!important;font:600 13px var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:#B8B8B8}
.dsec .f .cb input{width:22px;height:22px;flex:none;margin:3px 0 0;accent-color:#A8BB74;cursor:pointer}
.dsec .tocbox{position:sticky;top:96px}
.dsec .toc{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px;font-size:15px}
.dsec .toc a{display:block;padding:6px 10px;margin:0 -10px;border-radius:8px;color:#E0E0E0;text-decoration:none}
.dsec .toc a:hover{background:rgba(168,187,116,.12);color:#fff}
.dsec .lt{display:flex;flex-direction:column;gap:12px}
.dsec .ls{padding:22px 0;border-bottom:1px solid rgba(168,187,116,.18);scroll-margin-top:100px}
.dsec .ls h2{margin:0 0 10px;font:500 24px/1.3 var(--font-head);color:#C9D8A0}
.dsec .ls p{margin:0 0 10px;max-width:760px}
.dsec .ph{padding:14px 16px;border:1px dashed rgba(168,187,116,.4);border-radius:10px;background:rgba(168,187,116,.05);color:#B8B8B8;font-size:16px}
.dsec .tocm summary{padding:0;font:500 20px var(--font-head);color:#C9D8A0}
.dsec .tocm .toc{margin-top:12px}
.dsec .dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:4px 0 0}
.dsec .dl dt{color:#B8B8B8}
.dsec .dl dd{margin:0;font-weight:600}
.dsec .ll,.dsec .sl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.dsec .sl{gap:2px}
.dsec .sl a{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;margin:0 -10px;border-radius:10px;color:#E0E0E0;text-decoration:none}
.dsec .sl a::after{content:"→";color:#A8BB74;transition:transform .2s}
.dsec .sl a:hover{background:rgba(168,187,116,.12);color:#fff}
.dsec .sl a:hover::after{transform:translateX(4px)}
.dsec .c p strong{color:#E0E0E0}
.dsec .gf{margin:0;display:flex;flex-direction:column;gap:10px}
.dsec .gf figcaption{font-size:16px;color:#C9D8A0;font-weight:600}
.dsec .gi{position:relative;display:block;text-decoration:none;border-radius:14px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.dsec .gi>div{border-radius:14px}
.dsec .gi:hover{transform:translateY(-4px);box-shadow:0 0 0 1px #A8BB74,0 0 36px rgba(168,187,116,.3),0 16px 32px rgba(0,0,0,.5)}
.dsec .zm{position:absolute;right:12px;bottom:12px;width:40px;height:40px;border-radius:50%;background:#A8BB74;display:grid;place-items:center;opacity:0;transform:scale(.8);transition:all .25s ease}
.dsec .gi:hover .zm,.dsec .gi:focus-visible .zm{opacity:1;transform:none}
.dsec nav[aria-label] .k{font-size:15px;padding:8px 14px}
.dsec nav[aria-label] .k{font-size:17px;padding:9px 18px}
.dsec .rgimg{position:relative;overflow:hidden}
.dsec .rgimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.dsec a.c:hover .rgimg img{transform:scale(1.04)}
.dsec .rg360{position:absolute;left:14px;top:14px;padding:5px 12px;border-radius:999px;background:rgba(10,12,9,.72);border:1px solid rgba(168,187,116,.6);color:#E4EDC8;font:600 13px var(--font-head);letter-spacing:.12em;backdrop-filter:blur(6px)}

/* Entwurfs-Abschnitte: Handy/Tablet (inline-Layout der Desktop-Entwürfe einfangen) */
@media screen and (max-width:965px){
    .dsec [style*="grid-template-columns"]{grid-template-columns:1fr!important;gap:16px!important;}
    .dsec [style*="padding:72px 32px"],.dsec [style*="padding:80px 32px"],.dsec [style*="padding:56px 32px"],.dsec [style*="padding:64px 32px"],
    .dsec [style*="padding:40px 32px"],.dsec [style*="padding:24px 32px"],.dsec [style*="padding:32px 32px"],.dsec [style*="padding:72px 32px 40px"]{padding-left:20px!important;padding-right:20px!important;}
    .dsec [style*="padding:72px"],.dsec [style*="padding:80px"]{padding-top:44px!important;padding-bottom:44px!important;}
    .dsec h1,.dsec [style*="font:500 48px"],.dsec [style*="font:500 52px"],.dsec [style*="font:300 48px"]{font-size:2rem!important;line-height:1.2!important;}
    .dsec .h,.dsec h2{font-size:1.65rem!important;}
    .dsec h1,.dsec h2,.dsec h3,.dsec p,.dsec li{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;}
    .dsec [style*="grid-template-columns"] > *{min-width:0;}
    .dsec [style*="flex-direction:row"],.dsec [style*="display:flex;gap"]{flex-wrap:wrap!important;}
    .dsec [style*="white-space:nowrap"]{white-space:normal!important;}
    .dsec img[style*="height:440px"]{height:240px!important;}
    .dsec .b{display:block;text-align:center;}
    .dsec .f .g2{grid-template-columns:1fr;}
    .dsec .tocbox{position:static;}
    .dsec [style*="min-width"]{min-width:0!important;}
    .dsec [style*="width:"]:not(img):not(.ic){max-width:100%;}
}

/* Ergänzungen 8.11.2026: Symbole (Contao filtert <svg>) und Kartenschrift */
.dsec .ic{display:inline-block;flex:none;vertical-align:middle;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;}
.dsec a.c{font-weight:400;}
.ic-11b1fddb{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 8h3l2-2h6l2 2h3v11H4z'%3E%3C/path%3E%3Ccircle cx='12' cy='13' r='3.5'%3E%3C/circle%3E%3C/svg%3E");}
.ic-1f6ac4cc{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.4' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12l5 5 9-10'%3E%3C/path%3E%3C/svg%3E");}
.ic-2c8b3662{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 4L3 6v14l6-2 6 2 6-2V4l-6 2z'%3E%3C/path%3E%3Cpath d='M9 4v14M15 6v14'%3E%3C/path%3E%3C/svg%3E");}
.ic-329ae4be{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 4v16M7 20h10M5 8h14M5 8l-2.5 6a2.5 2 0 0 0 5 0zM19 8l-2.5 6a2.5 2 0 0 0 5 0z'%3E%3C/path%3E%3C/svg%3E");}
.ic-3eb4b12d{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 21c-2 0-3-2-3-5s1-6 1-8 1-4 3-4 3 2 3 4-1 4-1 6 1 3 1 4-2 3-4 3z'%3E%3C/path%3E%3Ccircle cx='15.5' cy='5' r='1.3'%3E%3C/circle%3E%3Ccircle cx='18' cy='7.5' r='1.1'%3E%3C/circle%3E%3Ccircle cx='19.3' cy='10.6' r='1'%3E%3C/circle%3E%3C/svg%3E");}
.ic-4b46aff7{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='9'%3E%3C/circle%3E%3Cpath d='M12 7v5l3 2'%3E%3C/path%3E%3C/svg%3E");}
.ic-4cd78127{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='6.5'%3E%3C/circle%3E%3Cpath d='M16 16l4.5 4.5M11 8.5v5M8.5 11h5'%3E%3C/path%3E%3C/svg%3E");}
.ic-567d529e{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21s-6.5-5.6-6.5-10.5a6.5 6.5 0 0 1 13 0C18.5 15.4 12 21 12 21z'%3E%3C/path%3E%3Ccircle cx='12' cy='10.5' r='2.3'%3E%3C/circle%3E%3C/svg%3E");}
.ic-6230b26c{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3c3 4 6 7 6 11a6 6 0 0 1-12 0c0-4 3-7 6-11z'%3E%3C/path%3E%3C/svg%3E");}
.ic-69921686{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='9'%3E%3C/circle%3E%3Cpath d='M8 14c1 2 7 2 8 0M9 9h.01M15 9h.01'%3E%3C/path%3E%3C/svg%3E");}
.ic-6e0087e3{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 17l5-5 4 4 7-8'%3E%3C/path%3E%3C/svg%3E");}
.ic-728940f9{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 11l9-7 9 7v9H3z'%3E%3C/path%3E%3Cpath d='M9 20v-6h6v6'%3E%3C/path%3E%3C/svg%3E");}
.ic-78e8f085{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9' cy='9' r='3'%3E%3C/circle%3E%3Ccircle cx='17' cy='10' r='2.5'%3E%3C/circle%3E%3Cpath d='M3 19c0-3.3 2.7-6 6-6s6 2.7 6 6M15 19c.3-2 1.8-3.5 4-3.5'%3E%3C/path%3E%3C/svg%3E");}
.ic-86cb752c{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='6' cy='16' r='3.5'%3E%3C/circle%3E%3Ccircle cx='18' cy='16' r='3.5'%3E%3C/circle%3E%3Cpath d='M6 16l3.5-7h6L18 16M9.5 9L12 16h-6M14 6h2.5'%3E%3C/path%3E%3C/svg%3E");}
.ic-89db95fc{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.6 2.6-2.4-.6-.6-2.4z'%3E%3C/path%3E%3C/svg%3E");}
.ic-8a636d96{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='9'%3E%3C/circle%3E%3Cpath d='M12 7v5M12 16h.01'%3E%3C/path%3E%3C/svg%3E");}
.ic-90857637{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 5l11 7-11 7z'%3E%3C/path%3E%3C/svg%3E");}
.ic-9957453b{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2z'%3E%3C/path%3E%3Cpath d='M4 21V5'%3E%3C/path%3E%3C/svg%3E");}
.ic-999efeb5{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 8l-4 4 4 4M15 8l4 4-4 4'%3E%3C/path%3E%3C/svg%3E");}
.ic-9a4e7255{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21s-6-6-6-11a6 6 0 0 1 12 0c0 5-6 11-6 11z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='2'%3E%3C/circle%3E%3C/svg%3E");}
.ic-b290af8c{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5h16v11H9l-5 4z'%3E%3C/path%3E%3C/svg%3E");}
.ic-b382bb7d{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3l8 4v5c0 5-3.5 8-8 9-4.5-1-8-4-8-9V7z'%3E%3C/path%3E%3C/svg%3E");}
.ic-babfb04e{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 16v-3l2-5h14l2 5v3z'%3E%3C/path%3E%3Cpath d='M3 13h18'%3E%3C/path%3E%3Ccircle cx='7.5' cy='17.5' r='1.6'%3E%3C/circle%3E%3Ccircle cx='16.5' cy='17.5' r='1.6'%3E%3C/circle%3E%3C/svg%3E");}
.ic-c2104a4f{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='9' r='6'%3E%3C/circle%3E%3Cpath d='M8.5 14L7 22l5-3 5 3-1.5-8'%3E%3C/path%3E%3C/svg%3E");}
.ic-c2295245{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12l5 5 9-10'%3E%3C/path%3E%3C/svg%3E");}
.ic-c40d7ac0{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='9'%3E%3C/circle%3E%3Cpath d='M12 11v6M12 7.5v.5'%3E%3C/path%3E%3C/svg%3E");}
.ic-ca0ba547{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 11l9-7 9 7v9H3z'%3E%3C/path%3E%3Cpath d='M10 20v-5h4v5'%3E%3C/path%3E%3C/svg%3E");}
.ic-cfd85385{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 20s-7-4.5-7-10a4 4 0 0 1 7-2.5A4 4 0 0 1 19 10c0 5.5-7 10-7 10z'%3E%3C/path%3E%3C/svg%3E");}
.ic-dd39373c{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 4h3.5l2 5-2.4 1.5a11 11 0 0 0 5.4 5.4L15 13.5l5 2V19a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'%3E%3C/path%3E%3C/svg%3E");}
.ic-dfad1e17{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect height='15' rx='2' width='16' x='4' y='5'%3E%3C/rect%3E%3Cpath d='M4 10h16M9 3v4M15 3v4'%3E%3C/path%3E%3C/svg%3E");}
.ic-e07a3dd2{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 7a6 6 0 1 0 0 10M5 10h9M5 14h9'%3E%3C/path%3E%3C/svg%3E");}
.ic-f4437002{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='9'%3E%3C/circle%3E%3Cpath d='M8 12h8'%3E%3C/path%3E%3C/svg%3E");}
.ic-f6128951{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect height='15' rx='2' width='14' x='5' y='3'%3E%3C/rect%3E%3Cpath d='M5 11h14M8 18v2.5M16 18v2.5'%3E%3C/path%3E%3Ccircle cx='8.5' cy='14.5' r='.6'%3E%3C/circle%3E%3Ccircle cx='15.5' cy='14.5' r='.6'%3E%3C/circle%3E%3C/svg%3E");}
.ic-f901e88f{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='13' cy='4.5' r='1.8'%3E%3C/circle%3E%3Cpath d='M10 21l2-6 3 3v3M12 15l1-6-3 1.5-1.5 3M13 9l2 3 2.5 1'%3E%3C/path%3E%3C/svg%3E");}
.ic-fe4684c1{--ic:url("data:image/svg+xml,%3Csvg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 3h9l3 3v15H6z'%3E%3C/path%3E%3Cpath d='M9 10h6M9 14h6M9 18h4'%3E%3C/path%3E%3C/svg%3E");}

/* ==========================================================
   29. Symbole ohne Font Awesome (Menüknopf, Instagram)
   Font Awesome wird im neuen Layout nicht mehr extern geladen;
   die beiden genutzten Symbole zeichnet eine CSS-Maske.
   ========================================================== */
.fa-bars,.fa-instagram{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.2em;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;font-style:normal;}
.fa-bars::before,.fa-instagram::before{content:none!important;}
.fa-bars{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E");}
.fa-instagram{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='.6' fill='black'/%3E%3C/svg%3E");}
/* Schließen-Knopf im Mobilmenü: war ein grauer Standardknopf mit kaum sichtbarem „x“ */
.mobile_menu .schliessen{display:grid;place-items:center;width:40px;height:40px;padding:0;top:.6rem;right:1rem;border:1px solid var(--sage-a50);border-radius:var(--radius-sm);background:var(--sage-a12);color:transparent;font-size:0;cursor:pointer;}
.mobile_menu .schliessen::before{content:"";width:18px;height:18px;background:var(--text);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/contain no-repeat;}
.mobile_menu .schliessen:hover{background:rgba(168,187,116,.2);}

/* ==========================================================
   30. Bilder in den Entwurfs-Abschnitten
   Vorher hatten alle Bilder eine feste Höhe (200–300 px) mit
   object-fit:cover. Hochformate und Freisteller wurden dadurch
   stark beschnitten (bis 70 %), mobil wurden sie riesig.
   ========================================================== */
/* a) Fotos: natürliches Seitenverhältnis, nur sehr hohe Bilder werden begrenzt */
.dsec img[style*="object-fit:cover"]{height:auto!important;max-height:340px;}
/* b) Galerie-Kacheln: einheitliches 4:3-Raster (Großansicht zeigt das ganze Bild) */
.dsec .gf img[style*="object-fit:cover"]{aspect-ratio:4/3;height:auto!important;max-height:none;}
/* c) Freisteller, Messbilder und Zeitungsartikel: ganz zeigen, auf hellem Grund */
.dsec img[src*="/Hersteller/Ganter/"],
.dsec img[src*="/Hersteller/Meindl/"],
.dsec img[src*="/Hersteller/Berkemann/"],
.dsec img[src*="/Druckmessung/Fu"],
.dsec img[src*="/Druckmessung/Gangbild"],
.dsec img[src*="/Artikel/"]{object-fit:contain!important;background:#F4F4F0;padding:10px;box-sizing:border-box;height:260px!important;max-height:none;}
/* Bild in einer Karte, das zur Großansicht verlinkt */
.dsec a.bz{display:block;border-radius:10px;overflow:hidden;cursor:zoom-in;}
.dsec a.bz:hover img,.dsec a.bz:focus-visible img{outline:2px solid #A8BB74;outline-offset:-2px;}
@media screen and (max-width:965px){
    /* Bildpaare (Markenschuhe) bleiben nebeneinander statt bildschirmbreit */
    .dsec [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr 1fr!important;gap:10px!important;}
    .dsec [style*="grid-template-columns:repeat(3,1fr)"]:has(> .gf){grid-template-columns:1fr 1fr!important;gap:12px!important;}
    .dsec img[src*="/Hersteller/Ganter/"],.dsec img[src*="/Hersteller/Meindl/"],.dsec img[src*="/Hersteller/Berkemann/"]{height:170px!important;padding:6px;}
    .dsec .gf figcaption{font-size:14px;}
    .dsec img[style*="object-fit:cover"]{max-height:300px;}
}

/* ==========================================================
   31. Fußzeile zentriert und gegliedert (Modul 19)
   Zeilen: Name · Kontakt · Links · Copyright
   ========================================================== */
#footer .inside{display:block;text-align:center;padding:40px var(--gutter) 32px;}
#footer .fz{display:flex;flex-direction:column;align-items:center;gap:16px;}
#footer .fz-name{font:500 18px/1.4 var(--font-head);color:#E4EDC8;}
#footer .fz-name span{display:block;font:400 14px/1.5 var(--font-text);color:#B8B8B8;margin-top:2px;}
#footer .fz-kontakt{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 28px;}
#footer .fz-kontakt .ic{width:16px;height:16px;color:var(--sage);margin-right:6px;vertical-align:-3px;}
#footer .fz-kontakt span,#footer .fz-kontakt a{white-space:nowrap;}
#footer .footer-links{justify-content:center;gap:10px 26px;width:100%;max-width:820px;padding-top:16px;border-top:1px solid rgba(168,187,116,.18);}
#footer .footer-copy{font-size:13px;color:#8F978A;}
#footer .fz-ic{display:inline-block;width:16px;height:16px;margin-right:6px;vertical-align:-3px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;}
#footer .fz-ort{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");}
#footer .fz-tel{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E");}
#footer .fz-mail{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");}
#footer .fz-kontakt span{color:#E0E0E0;}
#footer .fz-kontakt .fz-ic{color:var(--sage);}
@media screen and (max-width:965px){
    #footer .inside{padding:32px 20px 104px;} /* Platz für den Sprachassistenten */
    #footer .fz-kontakt{flex-direction:column;gap:10px;}
    #footer .footer-links{gap:10px 20px;}
}

/* ==========================================================================
   32. Startseite „Handwerk & Rundgang“: Bildflächen 16:10 (9. November 2026)
   Werkzeugfoto (1450×1085) und Rundgang-Foto (1000×568) möglichst ganz zeigen,
   beide Karten gleich hoch.
   ========================================================================== */
#handwerk .rgimg{min-height:0;aspect-ratio:16/10;}

