/* ==========================================================================
   Barrierefreiheit (WCAG 2.1 AA) – Ergänzungen zum Theme
   Wird nach custom.css geladen.
   ========================================================================== */


/* ----- Sichtbarer Tastaturfokus (WCAG 2.4.7) -----
   style.css entfernt den Fokusrahmen global (outline: none). Für Tastatur-
   nutzer wird er hier wieder eingeblendet; Mausklicks bleiben ohne Rahmen. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible,
[role="slider"]:focus-visible {
    outline: 3px solid #003a57 !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 5px #fff !important;
}


/* ----- Skip-Link „Zum Inhalt springen“ (WCAG 2.4.1) ----- */
.skip-link {
    position: absolute;
    top: -100px;
    left: 16px;
    z-index: 100000;
    padding: 12px 20px;
    background-color: #003a57;
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    border-radius: 0 0 4px 4px;
    text-decoration: none;
}

.skip-link:focus,
.skip-link:focus-visible {
    top: 0;
    color: #fff;
    text-decoration: underline;
}

#main-content:focus,
#main-content:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}


/* ----- Untermenüs per Tastatur erreichbar (WCAG 2.1.1) -----
   Desktop: Untermenü öffnet auch, wenn der Fokus im Menüpunkt liegt.
   Escape schließt es wieder (a11y.js setzt dann .submenu-closed). */
@media (min-width: 992px) {
    .navbar .navbar-nav .nav-item:focus-within ul.sub-menu {
        top: 100%;
        opacity: 1;
        visibility: visible;
    }

    .navbar .navbar-nav .nav-item.submenu-closed ul.sub-menu {
        top: 110%;
        opacity: 0;
        visibility: hidden;
    }
}

/* Mobil: Auf-/Zuklappen-Schalter liegt jetzt neben statt im Link */
.navbar .navbar-nav .nav-item .sub-nav-toggler {
    z-index: 2;
}


/* ----- Überschriften-Ebenen: neue Tags, bisherige Optik ----- */

/* Startseite: Leistungen (vorher h4) */
.singel-services .services-cont h3 {
    font-size: 20px;
    padding-bottom: 7px;
}

/* News- und Projekt-Kacheln (vorher h5) */
.singel-blog .blog-cont h2,
.singel-blog .blog-cont h3 {
    font-size: 18px;
    padding-bottom: 8px;
}

/* News-Datum auf dem Vorschaubild (vorher h3) */
.singel-blog .blog-thum .date span.date-day {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 35px;
    line-height: 1.2;
    color: #fff;
    padding-bottom: 0;
    margin-bottom: -5px;
}

/* Footer-Spaltentitel (vorher h5) */
.footer-title h2 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 18px;
    position: relative;
    padding-bottom: 7px;
}

.footer-address ul li .address .footer-org {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.2;
    color: #2c2d3e;
    margin: 0;
}

/* Abschnittsüberschriften der Inhaltselemente (vorher h4) */
.dce-heading {
    font-size: 20px;
}

/* Zwischenüberschriften im Fließtext (vorher h3/h4, jetzt h2):
   - Standard in Textelementen wie vorher h3 (Karriere, Notdienst)
   - in HTML-Elementen sowie auf Impressum (18), Datenschutz (19),
     Standrohrvermietung (30) und Barrierefreiheit (52) wie vorher h4 */
.blog-details .blog-details-content h2 {
    font-size: 25px;
    color: #2c2d3e;
    padding-bottom: 14px;
}

.dce-text .blog-details-content h2 {
    font-size: 28px;
    color: #006e94;
    padding-bottom: 0;
}

.page-18 .dce-text .blog-details-content h2,
.page-19 .dce-text .blog-details-content h2,
.page-30 .dce-text .blog-details-content h2,
.page-52 .dce-text .blog-details-content h2 {
    font-size: 25px;
    color: #2c2d3e;
    padding-bottom: 14px;
}

/* h3 im Fließtext wie vorher h5 */

.dce-text .blog-details-content h3 {
    font-size: 18px;
    color: #006e94;
    padding-bottom: 0;
}

/* FAQ-Akkordeon und Ladepunkte-Liste (vorher h5) */
.faq-page-content .card .card-header h2,
.faq-page-content .card .card-header h3 {
    font-size: 18px;
}

/* Download-Liste (vorher h3, ist aber keine Überschrift) */
.download-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.2;
    color: #006e94;
    margin: 0;
}

.download-title span {
    font-weight: 400;
    color: #2c2d3e;
}

/* Ansprechpartner-Kacheln: Name (vorher h4), Abteilung (vorher h6) */
.singel-pricing h3.contact-name {
    font-size: 25px;
    color: #2c2d3e;
    font-weight: 600;
    padding-bottom: 10px;
    position: static;
    display: block;
    -webkit-transition: all 0.4s linear;
    transition: all 0.4s linear;
}

.singel-pricing .contact-dept {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.2;
    color: #006e94;
    margin: 0;
    padding-bottom: 10px;
}

.singel-pricing:hover h3.contact-name,
.singel-pricing:hover .contact-dept {
    color: #fff;
}

/* Tarifrechner: Ergebniszeilen (vorher h4) */
.tarif-result {
    font-size: 20px;
}

/* PV-Anlagen Detailansicht: Kennwerte (vorher h5, sind aber keine Überschriften) */
.singel-client .client-thum .client-head .client-label {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.2;
    color: #006e94;
    margin: 0;
    padding-bottom: 5px;
}

/* Inhaltselement-Überschriften (z. B. „Anfahrt“ über Karten): h2 statt h4, gleiche Optik */
.frame > header h2 {
    font-size: 20px;
}
