/* Zirbelstube: Korrekturen aus dem PageSpeed-/Lighthouse-Audit 09/2026 (Kontrast, Layout-Shift, Touch-Ziele).
   Ueberschreibt main.min.css gezielt, ohne das SCSS neu zu bauen. */

/* Kontrast nach WCAG AA (4,5:1): Brauntoene fuer Text auf Beige abgedunkelt (#996c4f hatte 3,6:1).
   Flaechen, Rahmen und Buttons bleiben im Original-Braun #996c4f. */
.content h1,
.content h2,
.content a,
.content .border1 .ge-content,
.content .border5,
.news .news-content,
.brown .navigation > li > a,
.zs-consent-placeholder {
    color: #835d44;
}
.slider .slick-slide h2,
.sliderhome .slick-slide h2 {
    color: #835d44;
}

/* Handy/Tablet: Navigation auf grauem Balken braucht noch dunkleres Braun (#d7d0cb Hintergrund) */
@media only screen and (max-width: 768px) {
    .white .navigation > li > a,
    .brown .navigation > li > a {
        color: #72513b;
    }
    .sideBar .white hr,
    .sideBar.brown hr {
        background-color: #72513b;
    }
}

/* Touch-Ziele mind. 24 px hoch (WCAG 2.5.8) */
.navigation > li > a {
    padding-top: 3px;
    padding-bottom: 3px;
}
@media only screen and (max-width: 768px) {
    .navigation > li > a {
        display: inline-block;
        padding: 4px 0;
    }
}

/* Bilder mit ergaenzten width/height-Attributen (templates/content.phtml) bleiben responsiv */
.content img.zs-dim {
    max-width: 100%;
    height: auto;
}

/* Social-Icons im Footer als Inline-SVG (vorher Icon-Font, 143 KB fuer zwei Symbole) */
.symbol-link .zs-social {
    display: inline-block;
    width: 3rem;
    height: 3rem;
    vertical-align: middle;
}
.wir-te img {
    height: auto;
}

/* Layout-Shift (CLS 0,6): slick blendet alle Slides aus, bis das Script am Seitenende laeuft - der Slider war
   bis dahin 0 px hoch und schob dann den Inhalt um eine Bildschirmhoehe nach unten. Erstes Slide sofort zeigen. */
.slider:not(.slick-initialized) > .slick-slide:first-child,
.sliderhome:not(.slick-initialized) > .slick-slide:first-child,
.slider:not(.slick-initialized) > a:first-child > .slick-slide,
.sliderhome:not(.slick-initialized) > a:first-child > .slick-slide {
    display: block;
    float: none;   /* slick.css laesst Slides floaten, dann bliebe der Container trotzdem 0 px hoch */
}

/* Touch-Ziele: Links in Texten bekommen unsichtbaren Innenabstand (vergroessert die Klickflaeche, Zeilenfall bleibt) */
.content p a {
    padding: 4px 0;
}
.zs-footer-links a,
.footer-border a[href^="mailto:"] {
    display: inline-block;
    line-height: 24px;
}
/* slick gibt Slidern mit Punkte-Navigation (ab 2 Slides) nach dem Start margin-bottom: 30px - vorab reservieren */
.slider:not(.slick-initialized):has(> :nth-child(2)),
.sliderhome:not(.slick-initialized):has(> :nth-child(2)) {
    margin-bottom: 30px;
}

/* Weitere Kontrast-Korrekturen (Unterseiten) */
.content .zs-consent-placeholder,
.content .zs-consent-placeholder p,
.content .zs-consent-placeholder strong {
    color: #835d44;
}
.contactform .required {
    color: #716341;               /* vorher #86754d, 3,5:1 */
}
.presse-date,
.presse-date small {
    color: #646364;               /* vorher #757475, 3,6:1 */
}

/* Radio-Buttons im Anfrageformular: Touch-Ziel mind. 24 px */
.contactform .radio label {
    padding-left: 34px;
    line-height: 24px;
}
.contactform .radio input[type="radio"] {
    width: 24px;
    height: 24px;
    margin: 0 0 0 -34px;
}

/* Umgestufte Ueberschriften (templates/content.phtml, Klasse = alte Ebene) sehen aus wie vorher:
   .content h2 (DIN Medium, Braun, Versalien) darf nicht auf ehemalige h3-h6 greifen */
.content h2.h3,
.content h2.h4,
.content h2.h5,
.content h2.h6 {
    font-family: inherit;
    color: inherit;
    text-transform: none;
    margin-top: 20px;
    margin-bottom: 10px;
}
.content h2.h3 { font-size: 24px; }
.content h2.h4 { font-size: 18px; margin-top: 10px; }
.content h2.h5 { font-size: 14px; margin-top: 10px; }
.content h2.h6 { font-size: 12px; margin-top: 10px; }

/* Presse-Datum: main.min.css setzt opacity .8, das hebt den Kontrast wieder auf */
.presse-date {
    opacity: 1;
}

/* Slider-Punkte: Touch-Ziel 24 x 24 px (vorher 20 x 20 ohne Abstand), Punkt selbst bleibt 8 px und mittig */
.slick-dots li,
.slider .slick-dots li,
.sliderhome .slick-dots li,
.voices .slick-dots li {
    width: 24px;
    height: 24px;
    margin: 0;
}
.slick-dots li button {
    width: 24px;
    height: 24px;
}
.slider .slick-dots li button:before,
.sliderhome .slick-dots li button:before,
.voices .slick-dots li button:before {
    top: 8px;
    left: 8px;
}
