/*
 Theme Name:   Twenty Twenty-Five Child
 Theme URI:    https://example.com/twentytwentyfive-child/
 Description:  Child Theme für Twenty Twenty-Five
 Author:       Salesmachine GmbH
 Author URI:   http://www.salesmachine.biz
 Template:     twentytwentyfive
 Version:      1.0.0
 Text Domain:  twentytwentyfive-child
*/

/*--------------------------Global----------------------------*/

@font-face {
    font-family: "Raleway";
    src: url("fonts/Raleway-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Raleway";
    src: url("fonts/Raleway-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Raleway";
    src: url("fonts/Raleway-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Raleway";
    src: url("fonts/Raleway-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Roboto";
    src: url("fonts/Roboto-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: "Raleway", sans-serif !important;
}

.n2-ss-slider,
.n2-ss-slider * {
    font-family: "Raleway", sans-serif !important;
}

strong,
b {
  font-weight: bold !important;
}

a {
  outline: none;
  text-decoration: none;
}

h1, h2, h3 {
    color: #222;
}

main a {
    color: #01A7E5;
}

main a:hover {
    text-decoration: underline;
}

main .wp-block-button__link:hover,
main .wp-block-post-title a:hover {
    text-decoration: none;
}

main p,
main li,
main table {
    font-size: 1.1rem;
    color: #222;
    line-height: 1.5;
    font-family: "Roboto", sans-serif !important;
}

.wp-block-button__link {
    background: #01A7E5;
    padding: 15px 30px 15px 30px;
    border: 1px solid #fff;
    border-radius: 3px;
    font-size: 1rem;
    font-weight: bold;
    text-transform: uppercase;
}

.wp-block-button__link:hover {
    background: #212121 !important;
}

.textelement {
  padding-top: 3em !important;
  padding-bottom: 3em !important;
  max-width: 1000px !important;
  margin-block-start: 0;
}

.textelement h1 {
    width: 1250px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.textelement-small {
  padding-top: 3em !important;
  padding-bottom: 2em !important;
  max-width: 1000px !important;
  margin-block-start: 0;
}

#wpfront-scroll-top-container {
    width: 46px !important;
    height: 46px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: #373737 !important;
    border-radius: 3px;
    transition: background-color 0.25s ease;
}

#wpfront-scroll-top-container:hover {
    background: #01A7E5 !important;
}

#wpfront-scroll-top-container img {
    width: 20px !important;
    height: 20px !important;
    object-fit: contain;
}

.tab-element {
  padding-bottom: 3em !important;
  margin-block-start: 0;
}

.space-top {
    padding-top: 3em !important;
    max-width: 1000px !important;
    margin-block-start: 0;
}

.space-bottom {
    padding-bottom: 3em !important;
    max-width: 1000px !important;
    margin-block-start: 0;
}

.space-bottom-small {
    padding-bottom: 1rem !important;
    max-width: 1000px !important;
    margin-block-start: 0;
}

.achter {
  padding-bottom: 3em !important;
  margin-block-start: 0;
}

.achter p {
    line-height: 1;
}

.impressum {
  padding-top: 3em !important;
  padding-bottom: 3em !important;
  max-width: 1000px !important;
  margin-block-start: 0;
}

/*-------------------------- Header ----------------------------*/

/*
.wp-block-site-logo img {
    padding-top: 5px;
    margin-top: -10px;
}
*/

.wp-site-blocks {
    position: relative;
}

/* Header liegt ÜBER dem Slider */
header.wp-block-template-part {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.35) 0%,
        rgba(0, 0, 0, 0) 100%
    ) !important;
    transition: background 0.3s ease;
}

/* Gutenberg-Hintergründe transparent */
header.wp-block-template-part > *,
header.wp-block-template-part .wp-block-group {
    background-color: transparent !important;
}

/* Kein Abstand zwischen Header und Inhalt */
header.wp-block-template-part + main,
main.wp-block-group {
    margin-top: 0 !important;
}

/* Slider direkt oben beginnen lassen */
main > .wp-block-post-content,
.entry-content,
.wp-block-post-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Abstand zwischen Menüeinträgen */
header.wp-block-template-part .wp-block-navigation__container {
    gap: 5px;
}

/* Menülinks */
header.wp-block-template-part .wp-block-navigation-item__content {
    display: block;
    position: relative;
    color: #fff !important;
    font-weight: bold;
    text-decoration: none !important;
    font-size: 1rem;
    line-height: 1;
    padding: 10px 10px;
    transition: background-color 0.25s ease;
    border-radius: 3px;
    /*margin-top: -20px;*/
}

/* Hover */
header.wp-block-template-part
.wp-block-navigation-item__content:hover {
    background: #01A7E5;
    color: #fff !important;
}

/* Aktiver Menüpunkt */
header.wp-block-template-part
.current-menu-item
.wp-block-navigation-item__content,
header.wp-block-template-part
.current-menu-ancestor
.wp-block-navigation-item__content {
    background: #01A7E5;
    color: #fff !important;
}

/* Nur auf Seite ID 32
.page-id-32 header.wp-block-template-part .wp-block-site-logo img,
.page-id-32 footer.wp-block-template-part .wp-block-site-logo img  {
    opacity: 0;
}

/* alternatives Logo 
.page-id-32 header.wp-block-template-part .wp-block-site-logo a,
.page-id-32 footer.wp-block-template-part .wp-block-site-logo a {
    display: block;
    width: 300px;
    height: auto;
    background-image: url('/wp-content/uploads/2026/08/Logo-LICHTKRAFT.WEISS_.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}



/* Nur auf Seite ID 71 
.page-id-71 header.wp-block-template-part .wp-block-site-logo img,
.page-id-71 footer.wp-block-template-part .wp-block-site-logo img  {
    opacity: 0;
}

/* alternatives Logo 
.page-id-71 header.wp-block-template-part .wp-block-site-logo a,
.page-id-71 footer.wp-block-template-part .wp-block-site-logo a {
    display: block;
    width: 300px;
    height: auto;
    background-image: url('/wp-content/uploads/2026/09/Logo-LICHTKRAFT.BLAU_.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}


/* Nur auf Seite ID 76 
.page-id-76 header.wp-block-template-part .wp-block-site-logo img,
.page-id-76 footer.wp-block-template-part .wp-block-site-logo img  {
    opacity: 0;
}

/* alternatives Logo 
.page-id-76 header.wp-block-template-part .wp-block-site-logo a,
.page-id-76 footer.wp-block-template-part .wp-block-site-logo a {
    display: block;
    width: 300px;
    height: auto;
    background-image: url('/wp-content/uploads/2026/09/Logo-blau-grau.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}


/*
/* Nur auf Seite ID 75 
.page-id-75 header.wp-block-template-part .wp-block-site-logo img,
.page-id-75 footer.wp-block-template-part .wp-block-site-logo img  {
    opacity: 0;
}

/* alternatives Logo 
.page-id-75 header.wp-block-template-part .wp-block-site-logo a,
.page-id-75 footer.wp-block-template-part .wp-block-site-logo a {
    display: block;
    width: 300px;
    height: auto;
    background-image: url('/wp-content/uploads/2026/09/Logo-LICHTKRAFT-WEISS-bG.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Nur auf Seite ID 74 
.page-id-74 header.wp-block-template-part .wp-block-site-logo img,
.page-id-74 footer.wp-block-template-part .wp-block-site-logo img  {
    opacity: 0;
}

/* alternatives Logo 
.page-id-74 header.wp-block-template-part .wp-block-site-logo a,
.page-id-74 footer.wp-block-template-part .wp-block-site-logo a {
    display: block;
    width: 300px;
    height: auto;
    background-image: url('/wp-content/uploads/2026/09/Logo-LICHTKRAFT-BG.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
*/

/* ==========================================================
   HEADER VARIANTE 2 – SEITE 71
   Topbar blau / Hauptheader weiß
========================================================== */

/* Topbar auf allen Seiten ausblenden */
header.wp-block-template-part .header-topbar {
    display: none !important;
}

/*
/* Gesamter Header 
body.page-id-71 header.wp-block-template-part {
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}


/* ----------------------------------------------------------
   TOPBAR
---------------------------------------------------------- 

body.page-id-71 header.wp-block-template-part .header-topbar {
    display: flex !important;
    width: 100% !important;
    background: #01A7E5 !important;
    color: #fff !important;
    padding: 3px 0 !important;
    margin: 0 !important;
}

/* Gruppen INNERHALB der Topbar nicht wieder weiß färben 
body.page-id-71 header.wp-block-template-part
.header-topbar .wp-block-group {
    background: transparent !important;
}

/* Text + Links in Topbar 
body.page-id-71 header.wp-block-template-part .header-topbar p,
body.page-id-71 header.wp-block-template-part .header-topbar a {
    color: #fff !important;
}


/* ----------------------------------------------------------
   HAUPTHEADER
---------------------------------------------------------- */

header.wp-block-template-part .header-main {
    margin-block-start: 0 !important;
}
/*
body.page-id-76 header.wp-block-template-part .header-main,
body.page-id-74 header.wp-block-template-part .header-main {
    background: #fff !important;
    margin-block-start: 0 !important;
}

body.page-id-71 header.wp-block-template-part .header-main {
    background: #181818 !important;
    margin-block-start: 0 !important;
}

/*
body.page-id-71
header.wp-block-template-part
.header-main
> .wp-block-group.alignwide,
body.page-id-76
header.wp-block-template-part
.header-main
> .wp-block-group.alignwide,
body.page-id-74
header.wp-block-template-part
.header-main
> .wp-block-group.alignwide {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}


/* Navigation 
body.page-id-76 header.wp-block-template-part
.wp-block-navigation-item__content,
body.page-id-74 header.wp-block-template-part
.wp-block-navigation-item__content {
    color: #222 !important;
    background: transparent !important;
}


/* Hover + aktiver Menüpunkt 
body.page-id-76 header.wp-block-template-part
.wp-block-navigation-item__content:hover,

body.page-id-76 header.wp-block-template-part
.current-menu-item
.wp-block-navigation-item__content,


body.page-id-76 header.wp-block-template-part
.current-menu-ancestor
.wp-block-navigation-item__content,

body.page-id-74 header.wp-block-template-part
.wp-block-navigation-item__content:hover,

body.page-id-74 header.wp-block-template-part
.current-menu-item
.wp-block-navigation-item__content,


body.page-id-74 header.wp-block-template-part
.current-menu-ancestor
.wp-block-navigation-item__content{
    color: #01A7E5 !important;
    background: transparent !important;
}

*/

/* --------------------------
   Telefon + Mail Topbar
--------------------------- */

/* "Telefon:" und "Mail:" ausblenden 
.page-id-71 .header-topbar p:nth-child(1) strong,
.page-id-71 .header-topbar p:nth-child(2) strong {
    font-size: 0;
}

/* Telefonnummer + E-Mail wieder anzeigen 
.page-id-71 .header-topbar p:nth-child(1) strong a,
.page-id-71 .header-topbar p:nth-child(2) strong a {
    font-size: 0.8rem;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}


/* Telefon-Icon 
.page-id-71 .header-topbar p:nth-child(1) strong a::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url('/wp-content/uploads/2026/09/phone-call.png')
                center / contain no-repeat;
}


/* Mail-Icon 
.page-id-71 .header-topbar p:nth-child(2) strong a::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url('/wp-content/uploads/2026/09/mail1.png')
                center / contain no-repeat;
}

/* ------------------------------------------------
   Desktop Untermenü
-------------------------------------------------- */

.wp-block-navigation__submenu-icon {
    display: none !important;
}

/* Untermenü-Box */
.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
    min-width: 215px !important;
    width: 215px !important;
    padding: 18px 0 16px !important;
    background: #fff !important;
    border: 0 !important;
    border-top: 7px solid #01A7E5 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* einzelne Menüpunkte */
.wp-block-navigation .has-child
.wp-block-navigation__submenu-container
.wp-block-navigation-item {
    width: 100% !important;
    background: transparent !important;
}

/* Links */
.wp-block-navigation .has-child
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content {
    display: block !important;
    width: 100% !important;
    padding: 10px 24px !important;
    color: #999 !important;
    background: transparent !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

/* Hover */
.wp-block-navigation .has-child
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content:hover {
    color: #01A7E5 !important;
    background: transparent !important;
}

/* Aktiver Unterpunkt */
.wp-block-navigation .has-child
.wp-block-navigation__submenu-container
.current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .has-child
.wp-block-navigation__submenu-container
.current-menu-ancestor > .wp-block-navigation-item__content {
    color: #01A7E5 !important;
    background: transparent !important;
}

/* Untermenü nach RECHTS ausrichten */
.wp-block-navigation .has-child {
    position: relative;
}

.wp-block-navigation .has-child > .wp-block-navigation__submenu-container {
    left: 0 !important;
    right: auto !important;
}

.wp-block-navigation .has-child {
    position: relative;
}

.wp-block-navigation .has-child::after {
    content: "";
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    height: 20px;
    background: transparent;
}

.wp-block-navigation .has-child > .wp-block-navigation__submenu-container {
    margin-top: 0 !important;
    transform: translateY(17px);
}


/* Untermenüpunkt für Balken vorbereiten */
.wp-block-navigation .has-child
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content {
    position: relative;
}

/* Blauer Balken LINKS beim Hover */
.wp-block-navigation .has-child
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: #01A7E5;
    opacity: 0;
    transition: opacity 0.2s ease;
}

/* Balken beim Hover anzeigen */
.wp-block-navigation .has-child
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content:hover::before {
    opacity: 1;
}

/* Balken auch beim aktuell ausgewählten Punkt */
.wp-block-navigation .has-child
.wp-block-navigation__submenu-container
.current-menu-item > .wp-block-navigation-item__content::before {
    opacity: 1;
}

/* 2. Hauptmenüpunkt */
.wp-block-navigation > .wp-block-navigation-item:nth-child(2)
> .wp-block-navigation__submenu-container {
    width: 385px !important;
}

/* 3. Hauptmenüpunkt */
.wp-block-navigation > .wp-block-navigation-item:nth-child(3)
> .wp-block-navigation__submenu-container {
    width: 265px !important;
}

/* 6. Hauptmenüpunkt */
.wp-block-navigation > .wp-block-navigation-item:nth-child(6)
> .wp-block-navigation__submenu-container {
    width: 100px !important;
    min-width: 100px !important;
}

/* Header nach dem Scrollen */
header.wp-block-template-part.is-scrolled {
    background: rgba(0, 0, 0, 0.7) !important;
}

/*
@media (min-width: 1200px) {
    /* Hauptmenü im Sticky Header 
    header.wp-block-template-part.is-scrolled
    .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
        color: #999 !important;
    }

    /* Hover, aktuelle Seite und aktiver Oberpunkt 
    header.wp-block-template-part.is-scrolled
    .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,

    header.wp-block-template-part.is-scrolled
    .wp-block-navigation__container > .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,

    header.wp-block-template-part.is-scrolled
    .wp-block-navigation__container > .wp-block-navigation-item.current-menu-parent > .wp-block-navigation-item__content,

    header.wp-block-template-part.is-scrolled
    .wp-block-navigation__container > .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content {
        color: #fff !important;
    }
}
*/

/* Innere Header-Zeile kleiner */
header.wp-block-template-part.is-scrolled
.wp-block-group.alignwide {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

/* Logo im Sticky Header kleiner */
header.wp-block-template-part.is-scrolled
.wp-block-site-logo img {
    max-height: 60px;
    width: auto;
}

/*
header.wp-block-template-part.is-scrolled .wp-block-site-logo img {
    opacity: 0;
}

header.wp-block-template-part.is-scrolled .wp-block-site-logo a {
    background-image: url('/wp-content/uploads/2026/09/Logo-LICHTKRAFT.BLAU_.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
*/

/*-------------------------- Slider ----------------------------*/

/* Alle Hintergrundbilder dauerhaft abdunkeln */
.n2-ss-slide-backgrounds img {
    filter: brightness(70%) !important;
}

.n2-bullet {
    width: 18px !important;
    height: 18px !important;
    padding: 0 !important;
    margin: 0 6px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.45) !important;
    border: 2px solid transparent !important;
    box-sizing: border-box !important;
}

/* Aktiver Punkt: weißer Ring + weißer Punkt innen */
.n2-bullet.n2-active {
    background: #fff !important;
    /* Abstand zwischen Innenpunkt und Ring */
    border: 2px solid rgba(0, 0, 0, 0) !important;
    /* äußerer weißer Ring */
    box-shadow: 0 0 0 2px #fff !important;
    background-clip: content-box !important;
}


/*-------------------------- Kacheln ----------------------------*/

.kachel-row {
  gap: 0 !important;
  align-items: stretch !important;
  margin-block-start: 0 !important;
  height: clamp(320px, 32vw, 520px) !important;
}

.kachel-row > .wp-block-column {
  margin: 0 !important;
  padding: 0 !important;
  height: 100% !important;
}

.kachel-text > .wp-block-group {
  max-width: min(700px, 80%);
  /*width: 100%;*/
  margin: 0 auto !important;
  /*padding-left: 30px;*/
  /*padding-right: 30px;*/
  /*margin-top: -50px;*/
}

.kachel-text {
  /*background: #575756 !important;*/
  background: #01A7E5 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  height: 100% !important;
}

.kachel-text h2 {
  color: #fff !important;
  /*font-size: 2.1em !important;*/
  margin: 0 0 clamp(12px, 1.6vw, 20px) 0 !important;
  text-transform: uppercase !important;
  /*font-weight: 300;*/
  line-height: 1.2;
  /*padding-left: clamp(28px, 7vw, 150px) !important;
  padding-right: clamp(28px, 7vw, 150px) !important;*/
}

.kachel-text p {
  color: #fff !important;
  font-size: 1.1rem;
  margin: 0 !important;
  font-family: "Roboto", sans-serif !important;
 /*padding-left: clamp(28px, 7vw, 150px) !important;
  padding-right: clamp(28px, 7vw, 150px) !important;*/
}

.kachel-text ul,
.kachel-text ol {
  max-width: none !important;
  width: 100% !important;
  padding-left: 15px;
  /*padding-right: clamp(28px, 7vw, 150px) !important;*/
}

.kachel-text li {
  color: #fff !important;
  font-size: 1.1rem;
  line-height: 1.2;
  font-family: "Roboto", sans-serif !important;
}

.kachel-text p strong,
.kachel-text p b,
.kachel-text li strong,
.kachel-text li b {
  font-weight: bold !important;
}

.kachel-image figure,
.kachel-image .wp-block-image,
.kachel-image img {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  display: block !important;
}

/*.kachel-text .wp-block-buttons {
  padding-left: clamp(28px, 7vw, 150px) !important;
  padding-right: clamp(28px, 7vw, 150px) !important;
}*/

.kachel-text .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  margin-left: 0 !important;
}

.kachel-text .wp-block-button__link {
  border: 1px solid white;
  color: #fff;
  background: transparent;
  display: inline-block;
  padding: 10px 40px;
  text-transform: uppercase;
  font-size: 1rem;
  position: relative;
  box-shadow: none !important;
  overflow: hidden;
  border-radius: 3px !important;
}

.kachel-text .wp-block-button__link:hover {
  background: #212121 !important; 
}

.kachel-image img {
  object-fit: cover !important;
}

.kachel-text-weiss > .wp-block-group {
  max-width: min(700px, 80%);
  /*width: 100%;*/
  margin: 0 auto !important;
  /*padding-left: 30px;*/
  /*padding-right: 30px;*/
  /*margin-top: -50px;*/
}

.kachel-text-weiss {
  /*background: #575756 !important;*/
  background: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  height: 100% !important;
}

.kachel-text-weiss h2 {
  color: #222 !important;
  /*font-size: 2.1em !important;*/
  margin: 0 0 clamp(12px, 1.6vw, 20px) 0 !important;
  text-transform: uppercase !important;
  /*font-weight: 300;*/
  line-height: 1.2;
  /*padding-left: clamp(28px, 7vw, 150px) !important;
  padding-right: clamp(28px, 7vw, 150px) !important;*/
}

.kachel-text-weiss p {
  color: #222 !important;
  font-size: 1.1rem;
  margin: 0 !important;
 /*padding-left: clamp(28px, 7vw, 150px) !important;
  padding-right: clamp(28px, 7vw, 150px) !important;*/
}

.kachel-text-weiss ul,
.kachel-text-weiss ol {
  max-width: none !important;
  width: 100% !important;
  padding-left: 15px;
  /*padding-right: clamp(28px, 7vw, 150px) !important;*/
}

.kachel-text-weiss li {
  color: #222 !important;
  font-size: 1.1rem;
  line-height: 1.2;
}

.kachel-text-weiss p strong,
.kachel-text-weiss p b,
.kachel-text-weiss li strong,
.kachel-text-weiss li b {
  font-weight: bold !important;
}

.kachel-text-weiss .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  margin-left: 0 !important;
}

.kachel-text-weiss .wp-block-button__link {
  border: 1px solid white;
  color: #fff;
  background: #01A7E5;
  display: inline-block;
  padding: 10px 40px;
  text-transform: uppercase;
  font-size: 1.1rem;
  position: relative;
  box-shadow: none !important;
  overflow: hidden;
  border-radius: 3px !important;
}

.kachel-text-weiss .wp-block-button__link:hover {
  background: #212121 !important; 
}


/* ================================================== Gutenberg Akkordeon ================================================== */

.wp-block-accordion:first-of-type {
    padding-top: 1rem;
}

/* einzelner Akkordeon-Punkt */
.wp-block-accordion-item {
    margin-bottom: 10px;
}


/* Überschrift */
.wp-block-accordion-heading {
    margin: 0 !important;
}


/* kompletter klickbarer Balken */
.wp-block-accordion-heading__toggle {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 48px;
    padding: 0 18px 0 64px !important;
    background: #f6f6f5 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #555 !important;
    font-size: 1.1rem !important;
    font-weight: 400 !important;
    text-align: left;
    cursor: pointer;
    border-radius: 3px !important;
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
    text-decoration: none;
}

/* Titel */
.wp-block-accordion-heading__toggle-title {
    flex: 1;
    color: inherit !important;
}

/* ========================================
   BLAUES FELD LINKS
======================================== */

/* Plus-/Minus-Feld */
.wp-block-accordion-heading__toggle-icon {
    position: absolute;
    left: 0;
    top: 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 !important;
    background: #01A7E5;
    color: #fff !important;
    font-size: 0;
    /* WordPress-Drehung verhindern */
    transform: none !important;
    rotate: none !important;
    transition: none !important;
}

/* WordPress-Icon komplett ausblenden */
.wp-block-accordion-heading__toggle-icon svg {
    display: none !important;
}

/* geschlossen = PLUS */
.wp-block-accordion-heading__toggle-icon::before {
    content: "+" !important;
    display: block;
    color: #fff;
    font-size: 30px;
    font-weight: 300;
    line-height: 1;
    transform: none !important;
    rotate: none !important;
    transition: none !important;
}

/* geöffnet = MINUS */
.wp-block-accordion-heading__toggle[aria-expanded="true"]
.wp-block-accordion-heading__toggle-icon::before {
    content: "−" !important;
    transform: none !important;
    rotate: none !important;
}

/* Auch im geöffneten Zustand jede WP-Rotation verhindern */
.wp-block-accordion-heading__toggle[aria-expanded="true"]
.wp-block-accordion-heading__toggle-icon {
    transform: none !important;
    rotate: none !important;
}

/* vorhandenes WP Icon verstecken */
.wp-block-accordion-heading__toggle-icon svg {
    display: none !important;
}

/* ========================================
   GEÖFFNET
======================================== */

.wp-block-accordion-heading__toggle[aria-expanded="true"]
.wp-block-accordion-heading__toggle-icon::before {
    content: "−";
}

/* optional: Titel geöffnet blau */
.wp-block-accordion-heading__toggle[aria-expanded="true"] {
    color: #555 !important;
}

/*
.kontaktanfrage .wp-block-button__link:hover {
    background: #01A7E5 !important;
    color: #fff !important;
}
*/


/*-------------------------- Kontaktformular ----------------------------*/

.kontakt {
  padding-top: 3em !important;
  padding-bottom: 3em !important;
  max-width: 1200px !important;
  margin-block-start: 0;
}

.kontakt p {
    font-family: "Raleway", sans-serif !important;
}

.kontakt-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 30px;
  row-gap: 24px;
}

.kontakt-form-field label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 7px;
  font-size: 15px;
  color: #5d5d5d;
  font-weight: 600;
}

.kontakt-form-field label::before {
  content: "";
  width: 12px;
  height: 12px;
  background: #01A7E5;
  border-radius: 3px;
  display: inline-block;
  flex-shrink: 0;
}

.kontakt-form-field label span {
  color: #5d5d5d;
  font-weight: 700;
  font-size: 2.2rem !important;
  font-weight: bold !important;
  line-height: 0;
  margin-left: -4px;
  margin-top: 5px;
}

.kontakt-form-field input,
.kontakt-form-field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cfcfcf;
  background: #fff;
  color: #555;
  font-size: 15px;
  padding: 10px 12px;
  border-radius: 2px;
  outline: none;
}

.kontakt-form-field input {
  height: 38px;
}

.kontakt-form-field textarea {
  min-height: 330px;
  resize: vertical;
}

.kontakt-form-field p {
  margin-top: 0;
  margin-bottom: 0;
}

.kontakt-form-field br {
  display: none;
}

.kontakt-form-message {
  margin-top: 24px;
}

.kontakt-form-submit {
  margin-top: 28px;
}

.kontakt-form-submit input[type="submit"] {
  background: #01A7E5;
  color: #fff;
  border: none;
  padding: 12px 35px;
  font-size: 1.1rem;
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
}

.kontakt-form-submit input[type="submit"]:hover {
  background: #212121;
}

@media (max-width: 767px) {
  .kontakt-form-grid {
    grid-template-columns: 1fr;
    row-gap: 18px;
  }

  .kontakt-form-field textarea {
    min-height: 220px;
  }
}


/*-------------------------- Blog ----------------------------*/

:where(.wp-site-blocks) > * {
    margin-block-start: 0 !important;
}

.wp-block-post {
    background: #fff;
    border: 1px solid #01A7E5;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    height: 100%;
    display: grid;
    grid-template-rows: 120px auto 45px;
}

.wp-block-post:hover {
    box-shadow: 0 0 30px 0 rgba(0,0,0,.15);
}

.wp-block-post-title {
    margin: 0;
    padding: 30px 20px 0;
}

.wp-block-post-title a {
    color: #222;
    text-decoration: none;
    font-weight: 600;
    font-size: 22px;
    line-height: 1.15;
    display: block;
}

.wp-block-read-more {
    color: #01A7E5;
    font-style: italic;
    text-decoration: underline;
    padding: 0 20px 24px;
    font-size: 16px;
    font-weight: 400;
    align-self: end;
}

.wp-block-post-date {
    border-top: 1px solid #222;
    padding: 14px 20px;
    color: #999;
    font-size: 12px;
}

/*-------------------------- Footer ----------------------------*/

footer {
    margin-block-start: 0;
}

footer .wp-block-site-logo {
    margin-left: -41px;
}

/* Listenpunkte entfernen */
footer .wp-block-list {
    list-style: none !important;
    padding-left: 0 !important;
}

/* Horizontale Linien zwischen den Links */
footer .wp-block-list li {
    position: relative;
    border-bottom: 1px dotted #404040;
}

/* Links */
footer .wp-block-list li a {
    display: block;
    position: relative;
    padding: 6px 0;
    text-decoration: none;
    transition: color 0.2s ease;
}

/* Blauer Strich links */
footer .wp-block-list li a::before {
    content: "";
    position: absolute;
    left: -10px;
    top: 50%;
    width: 3px;
    height: 0;
    background: #01A7E5;
    transform: translateY(-50%);
    /*transition: height 0.2s ease;*/
}

/* Hover */
footer .wp-block-list li a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Blauen Strich einblenden */
footer .wp-block-list li a:hover::before {
    height: 18px;
}

/* ========================================
   Linien zwischen den Footer-Spalten
======================================== */

footer .wp-block-columns > .wp-block-column {
    position: relative;
}

/* Linie vor Spalte 2 und 3 */
footer .wp-block-columns > .wp-block-column:not(:first-child) {
    border-left: 1px solid #404040;
    padding-left: 50px;
}

/* etwas Abstand rechts */
footer .wp-block-columns > .wp-block-column:not(:last-child) {
    padding-right: 50px;
}

footer p a:hover {
    text-decoration: underline;
    color: #fff;
}

/*-------------------------- Responsive ----------------------------*/

@media (max-width: 1700px) {
    .n2-ss-slider [class*="-heading"]:not(a) {
        padding: 0 !important;
    }

    .tab-element {
        max-width: 1150px !important;
    }

    .n2-ss-slider a[class*="-heading"] {
        margin-left: -100px !important;
    }
}

@media (max-width: 1600px) {
    header.wp-block-template-part .wp-block-navigation-item__content {
        font-size: 0.875rem;
    }

    header.wp-block-template-part .wp-block-navigation__container {
        gap: 2px;
    }
}

@media (max-width: 1490px) {
    .kachel-text h2 {
        font-size: 1.1rem;
    }
}

@media (max-width: 1400px) {
    header.wp-block-template-part .wp-block-navigation__container {
        gap: 1px;
    }
}

@media (max-width: 1390px) {
    header.wp-block-template-part .wp-block-navigation-item__content,
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
        font-size: 0.75rem !important;
    }
}

@media (max-width: 1300px) {
  .kachel-text > .wp-block-group {
    margin: 0 auto !important;
  }

  .wp-block-site-logo img {
    width: 230px !important;
  }
}

@media (max-width: 1220px) {
    .wp-block-post-title a {
        font-size: 18px;
    }

    .wp-block-post {
        grid-template-rows: 150px 90px 45px;
    }

    header.wp-block-template-part .wp-block-navigation-item__content,
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
        font-size: 0.74rem !important;
    }
}

/* Doppelklick bei Tablet-Menü */
@media (min-width: 1199px) and (max-width: 1280px) {
    header
    .wp-block-navigation__container
    > .wp-block-navigation-item.has-child.is-tablet-open
    > .wp-block-navigation__submenu-container {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}

@media (max-width: 1199px) {
    .kachel-text > .wp-block-group {
        padding-left: 0;
        padding-right: 0;
        padding-top: 10px;
        padding-bottom: 10px
    }

    .kachel-text h2 {
        font-size: 1.1rem;
    }

    .kachel-row {
        flex-direction: column !important;
    }

    .kachel-image {
        order: 1 !important;
    }

    .kachel-text {
        order: 2 !important;
    }

    .kachel-row {
        height: auto !important;
        min-height: 320px !important;
        align-items: stretch !important;
    }

    .kachel-row > .wp-block-column {
        height: auto !important;
    }

    .kachel-image figure,
    .kachel-image .wp-block-image,
    .kachel-image img {
        height: 450px !important;
        overflow: hidden;
    }

    .kachel-image .nextend-arrow img {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        object-fit: cover !important;
    }

    /* -----------------------------------------------------
       BURGER
    ----------------------------------------------------- */

    .wp-block-navigation__responsive-container-open {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: 0 !important;
        color: #fff !important;
    }

    .wp-block-navigation__responsive-container-open svg {
        width: 35px !important;
        height: 35px !important;
        fill: #fff !important;
        stroke: #fff !important;
    }

    /*
    header.wp-block-template-part.is-scrolled .wp-block-navigation__responsive-container-open {
        color: #01A7E5 !important;
    }

    header.wp-block-template-part.is-scrolled .wp-block-navigation__responsive-container-open svg {
        fill: #01A7E5 !important;
        stroke: #01A7E5 !important;
    }
    */

    /* -----------------------------------------------------
       MENÜ SOLANGE GESCHLOSSEN
    ----------------------------------------------------- */

    .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: none !important;
    }


    /* -----------------------------------------------------
       MENÜ GEÖFFNET
    ----------------------------------------------------- */

    .wp-block-navigation__responsive-container.is-menu-open {
        display: flex !important;
        position: fixed !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 999999 !important;
        background: #fff !important;
        padding: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }


    /* Dialog */
    .wp-block-navigation__responsive-dialog {
        width: 100% !important;
        min-height: 100% !important;
    }


    /* -----------------------------------------------------
       INHALT
    ----------------------------------------------------- */

    .wp-block-navigation__responsive-container-content {
        display: block !important;
        width: 100% !important;
        padding: 90px 30px 40px !important;
        box-sizing: border-box !important;
    }


    /* -----------------------------------------------------
       X
    ----------------------------------------------------- */

    .wp-block-navigation__responsive-container-close {
        position: absolute !important;
        top: 20px !important;
        right: 25px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        color: #222 !important;
        z-index: 10 !important;
    }

    .wp-block-navigation__responsive-container-close svg {
        width: 35px !important;
        height: 35px !important;
    }


    /* =====================================================
       MENÜLISTE
    ===================================================== */

    .wp-block-navigation__responsive-container.is-menu-open {
        display: flex !important;
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: min(90vw, 420px) !important;
        height: 100% !important;
        z-index: 999999 !important;
        background: #fff !important;
        padding: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        box-shadow: -4px 0 18px rgba(0, 0, 0, 0.18) !important;
    }

    .wp-block-navigation__responsive-dialog {
        width: 100% !important;
        min-height: 100% !important;
    }

    /* Hauptlinks */
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container
    > .wp-block-navigation-item
    > .wp-block-navigation-item__content {
        display: block !important;
        width: 100% !important; 
        box-sizing: border-box !important;
        color: #999 !important;
        background: transparent !important;
        font-size: 1rem !important;
        font-weight: 400 !important;
        text-decoration: none !important;
    }

    /* Hover */
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container
    > .wp-block-navigation-item
    > .wp-block-navigation-item__content:hover {
        color: #01A7E5 !important;
    }

    /* aktueller Menüpunkt */
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container
    > .current-menu-item
    > .wp-block-navigation-item__content {
        color: #01A7E5 !important;
    }


    /* -----------------------------------------------------
       ERSTMAL ALLE UNTERMENÜS AUS
    ----------------------------------------------------- */

    .wp-block-navigation > .wp-block-navigation-item:nth-child(2) > .wp-block-navigation__submenu-container,
    .wp-block-navigation > .wp-block-navigation-item:nth-child(3) > .wp-block-navigation__submenu-container {
        width: revert !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container {
        display: none !important;
    }

    /* Elternpunkt mit Untermenü */
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item.has-child {
        position: relative !important;
    }

    /* Toggle/Pfeil rechts */
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-submenu__toggle {
        display: flex !important;
        position: absolute !important;
        top: -15px !important;
        right: -15px !important;
        width: 44px !important;
        height: 44px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        color: #999 !important;
        cursor: pointer !important;
        z-index: 10;
    }

    /* Pfeil */
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-submenu__toggle svg {
        display: block !important;
        width: 18px !important;
        height: 18px !important;
        fill: none !important;
        stroke: currentColor !important;
        transition: transform .25s ease;
    }

    /* Untermenü geschlossen */
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item.has-child
    > .wp-block-navigation__submenu-container {
        display: none !important;
        position: static !important;
        /*width: 100% !important;*/
        margin: 0 !important;
        padding: 0 0 25px 20px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    /* Untermenü geöffnet */
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-submenu__toggle[aria-expanded="true"]
    + .wp-block-navigation__submenu-container {
        display: block !important;
    }

    /* Alternative, falls noch das <a> zwischen Button und UL sitzt */
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-submenu__toggle[aria-expanded="true"]
    ~ .wp-block-navigation__submenu-container {
        display: block !important;
    }

    /* Pfeil beim Öffnen drehen */
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-submenu__toggle[aria-expanded="true"] svg {
        transform: rotate(180deg) !important;
        color: #01A7E5 !important;
    }

    /* Untermenülinks */
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content {
        padding: 5px 15px !important;
        color: #999 !important;
        font-size: 0.875rem !important;
        font-weight: 400 !important;
        background: transparent !important;
    }

    /* Hover + aktiv */
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content:hover,

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container
    .current-menu-item
    > .wp-block-navigation-item__content {
        color: #01A7E5 !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container {
        align-items: stretch !important;
        justify-content: flex-start !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item {
        width: 100% !important;
        text-align: left !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item__content {
        width: 100% !important;
        text-align: left !important;
        justify-content: flex-start !important;
    }

     /* Kein Outline / Focus-Rahmen im Mobile-Menü */
    .wp-block-navigation__responsive-container *:focus,
    .wp-block-navigation__responsive-container *:focus-visible,
    .wp-block-navigation__responsive-container *:active {
        outline: none !important;
        box-shadow: none !important;
        border-color: transparent !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    /* Links & Buttons zusätzlich absichern */
    .wp-block-navigation__responsive-container a,
    .wp-block-navigation__responsive-container button {
        outline: none !important;
        box-shadow: none !important;
        border: 0 !important;
    }

    /* Aktueller Hauptpunkt */
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container
    > .current-menu-item
    > .wp-block-navigation-item__content,
    /* Oberpunkt eines aktiven Unterpunktes */
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container
    > .current-menu-ancestor
    > .wp-block-navigation-item__content,
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container
    > .current_page_ancestor
    > .wp-block-navigation-item__content {
        color: #01A7E5 !important;
    }

    .n2-ss-section-main-content {
        padding-left: 100px !important;
        padding-right: 100px !important;
    }

    .n2-ss-slider [class*="-heading"]:not(a) {
        padding: 0 !important;
    }

    .n2-ss-slider a[class*="-heading"] {
        margin-left: 0 !important;
    }

    .n2-ss-slider .n2-ss-layer {
        --margin-left: 0 !important;
    }

    .n2-ss-slider .n2-ss-layer br {
        display: none;
    }

    .n2-ss-layer-col.n2-ss-layer-with-background {
        padding: 0 !important;
        margin-left: -10px !important;
    }
    
    .textelement h1 {
        width: unset;
    }

    h1 {
        font-size: 1.5rem;
    }

    h2 {
        font-size: 1.3rem;
    }

    p, li,
    .wp-block-accordion-heading__toggle {
        font-size: clamp(15px, 1.05vw, 16px) !important;
    }

    .wp-block-button__link {
        padding: 10px 40px;
        font-size: clamp(15px, 1.05vw, 16px) !important;
    }

    .n2-ss-slider .n2-ss-layer[data-sstype="col"] {
        flex-direction: row !important;
    }

    .n2-ss-slider .n2-ss-layer:not([data-sstype="col"]) {
        align-self: baseline !important;
    }

    footer .wp-block-site-logo {
        margin-left: 0;
    }

}


@media (max-width: 780px) {
    .kachel-row {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        min-height: 0 !important;
    }

    .kachel-row > .wp-block-column {
        width: 100% !important;
        flex-basis: 100% !important;
        height: auto !important;
    }

    .kachel-image {
        order: 1 !important;
    }

    .kachel-text {
        order: 2 !important;
        min-height: 320px !important;
        height: auto !important;
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    .kachel-image figure,
    .kachel-image .wp-block-image,
    .kachel-image img {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        object-fit: cover !important;
    }

    /* Linie vor Spalte 2 und 3 */
    footer .wp-block-columns > .wp-block-column:not(:first-child) {
        border-left: none;
        padding-left: 0;
    }

    /* etwas Abstand rechts*/
    footer .wp-block-columns > .wp-block-column:not(:last-child) {
        padding-right: 0;
    }
    
    .kontaktanfrage {
        padding-bottom: 2rem;
    }

    .wp-block-post {
        grid-template-rows: 120px auto 45px;
    }

    .wp-container-core-post-template-is-layout-da7eb480 {
        grid-template-columns: 1fr;
    }

    .achter .wp-block-columns {
        gap: 10px;
    }
}


@media (max-width: 710px) {
    .n2-ss-section-main-content {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }
}


@media (max-width: 480px) {
    .n2-ss-slider h1[class*="-heading"]:not(a) {
        padding-top: 2rem !important;
    }

    .beispielrechnung-titel,
    .lichtkraft-beispielrechnung td {
        font-size: 1.1rem !important;
    }
}