/*
Theme Name: Das hier installieren - Divi Child
Theme URI: https://diviextended.com/
Version: 1.0
Description: Child Theme of Divi
Author: Divi Extended
Template: Divi
*/

@import url("../Divi/style.css");



/* =========================================================
   1) Global: Textumbruch und Silbentrennung
   ========================================================= */

body {
  hyphens: auto;
  overflow-wrap: break-word;
  word-break: normal;
}




/* =========================================================
   2) Header / Navigation: Mobile Layout, Farben, Suche
   ========================================================= */

/* 2.1 Mobile Navi: Row Layout (Header Row als Flex) */
.et_pb_row_0_tb_header {
  display: flex;
  justify-content: space-between;
}

/* 2.2 Mobile Navi: Icon Farben (Burger, Cart, Search, Close Search) */
.et_pb_menu .et_mobile_nav_menu,
.et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar:before,
.et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__cart-button, 
.et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__search-button, 
.et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__close-search-button {
  color: #fff !important;
}

/* 2.3 Search Icon: Desktop standardmäßig ausblenden */
.et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__search-button {
  display: none !important;
}

/* 2.4 Header Wrap Verhalten bei <= 980px (Search Icon einblenden, Search Wrap ausblenden) */
@media only screen and (max-width: 980px) {
    .et-l.et-l--header .et_pb_menu_0_tb_header .et_pb_menu__wrap {
    justify-content: flex-end !important;
    }
    .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__search-button {
  display: flex !important;
}
    .et-l.et-l--header .et_pb_row_0_tb_header .header-search-wrap {
      display: none !important;
    }
}

/* 2.5 Header Row: kein Umbruch bei <= 767px */
@media only screen and (max-width: 767px) {
    .et_pb_row_0_tb_header {
        flex-wrap:nowrap !important;
    }
}

/* 2.6 Mobile Menu Panel: Breite und Position */
.et_mobile_nav_menu .et_mobile_menu {
      width: 300px;
          max-width: 80vw;
    left: auto;
    right: -20%;
}




/* =========================================================
   3) Mobile Submenu: Toggle Pfeil, Click Area, Open/Close Logik
   ========================================================= */

@media (max-width: 980px) {

  /* 3.1 Link als Bezugspunkt (Padding für Toggle Area rechts) */
  .mobile_nav.opened .et_mobile_menu .menu-item-has-children > a {
    position: relative;
    padding-right: 52px;
  }

  /* 3.2 Klickbarer Pfeilbereich */
  .mobile_nav.opened .et_mobile_menu .sub-menu-toggle {
    position: absolute;
    right: 0;
    top: 0;
    width: 52px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 3;
  }

  /* 3.3 Divi Icon */
  .mobile_nav.opened .et_mobile_menu .sub-menu-toggle:before {
    font-family: "ETmodules";
    content: "\33";
    font-size: 18px;
    line-height: 1;
    color: #ffffff;
  }

  /* 3.4 Drehen wenn offen */
  .mobile_nav.opened .et_mobile_menu .menu-item-has-children.open > a .sub-menu-toggle {
    transform: rotate(180deg);
  }
}


@media (max-width: 980px) {

  /* 3.5 Divi forced-open aushebeln: Submenus standardmäßig zu */
  .et-l.et-l--header .mobile_nav.opened .et_mobile_menu li.menu-item-has-children > ul.sub-menu {
    display: none !important;
    visibility: visible !important;
  }

  /* 3.6 Nur öffnen wenn .open gesetzt ist */
  .et-l.et-l--header .mobile_nav.opened .et_mobile_menu li.menu-item-has-children.open > ul.sub-menu {
    display: block !important;
  }

}





/* ============================================================
   4) Divi Header Search: Click Toggle via Divi Interaction Attribute
   Voraussetzung im Builder:
   - Column:   class="header-search-wrap"
   - Icon:     class="header-search-trigger"
   - Search:   class="header-search"
   Divi Interaction setzt am Icon: show="search-show"
   ============================================================ */


/* 4.1 Layout / Positionierung */
.header-search-wrap {
  position: relative;
}

.header-search-wrap .header-search-trigger .et-pb-icon {
    cursor: pointer;
}

/* 4.2 Search Container: standardmäßig verborgen (Dropdown) */
.header-search {
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 8px;
  z-index: 9999;
  pointer-events: none;
  display: none;
}

/* 4.3 Sichtbar, wenn Divi das Attribut am Icon setzt */
.header-search-wrap .header-search[show="open"] {
  display: block;
  pointer-events: auto;
}

/* 4.4 Search Modul: Container Styling */
.header-search-wrap .et_pb_search.et_pb_module.header-search {
    border: 0;
}

/* 4.5 Search Input Styling */
.header-search-wrap .et_pb_search.et_pb_module.header-search input.et_pb_s,
.header-search-wrap .et_pb_search.et_pb_module.header-search .et_pb_searchform input.et_pb_s {
  width: 260px;
  box-sizing: border-box;
  padding: 7px 15px;
  border-radius: 25px;
  height: 30px;
  border: 2px solid var(--gcid-secondary-color);
  background: var(--gcid-primary-color) ;
  color: #fff;
  outline: none;
}

/* 4.6 Placeholder */
.header-search input.et_pb_s::placeholder,
.header-search input[type="search"]::placeholder,
.header-search input[type="text"]::placeholder {
  color: #004550;
  opacity: 0.7;
}

/* 4.7 Optional: Box um das Feld (Form wrapper spacing) */
.header-search form.et_pb_searchform > div {
  margin: 0;
}

/* 4.8 Submit Button sichtbar machen und positionieren */
.header-search .et_pb_searchsubmit {
  display: block !important;
  width: 77px;
  height: 42px;
  background: var(--gcid-secondary-color)  !important;
  border:2px solid var(--gcid-secondary-color) !important;
  color: #fff  !important;

  cursor: pointer;
  font-size: 0;
  color: transparent;
  position: absolute;
  top: 0;
  right: 0;

  border-radius: 25px;
}

.header-search .et_pb_searchsubmit:hover {
  color: var(--gcid-primary-color) !important;
}

/* 4.9 Mobile Anpassungen */
@media (max-width: 767px) {
  .header-search {
    right: 0;
    left: auto;
  }

  .header-search input.et_pb_s,
  .header-search input[type="search"],
  .header-search input[type="text"] {
    width: 220px;
    font-size: 16px;
  }
}




/* =========================================================
   5) CleverReach Newsletter Form: Divi Button Look (Pill Layout)
   Ziel: Input + Button als pill, Button rechts, bündig
   ========================================================= */

/* 5.1 Layout: Input + Button nebeneinander */
body #page-container form.cr_form .editable_content {
  display: flex;
  column-gap: 20px;
  row-gap: 5px;
  align-items: stretch;
  flex-wrap: wrap;
}

.editable_content > .cr_form-component--email,
.editable_content > .cr_form-component--submit {
  flex: 1 1 auto !important;
}

/* 5.2 Zusatzzeile (Hinweis / DSGVO etc.) */
.editable_content > .cr_ipe_item {
  flex: 0 0 100%;
  color:#fff;
}
.editable_content > .cr_ipe_item a {
  color: #fff;
  font-weight: 800;
}

/* 5.3 Beide Komponenten: keine Standard-Margins */
body #page-container form.cr_form .cr_form-component--email,
body #page-container form.cr_form .cr_form-component--submit {
  margin: 0;
}

/* 5.4 Maxbreite für E-Mail Feld */
body #page-container form.cr_form .cr_form-component--email {
    width: 100%;
    max-width: 500px;
}

/* 5.5 Label ausblenden (Placeholder-Look) */
body #page-container form.cr_form .cr_form-component--email label {
  display: none !important;
}

/* 5.6 Input Styling */
body #page-container form.cr_form input.cr_form-input[type="email"] {
  height: 40px;
  line-height: 37px;

  padding: 0 18px;

  font-weight: 400;
  font-size: 14px;

  border: 2px solid var(--gcid-lkdf3jz6ms);
  border-radius: 100px;

  background: transparent;
  color:var(--gcid-lkdf3jz6ms);

  outline: none;
  box-sizing: border-box;
  width: 100%;
}

/* 5.7 Placeholder Farbe */
body #page-container form.cr_form input.cr_form-input[type="email"]::placeholder {
  color: #668f96;
  opacity: 1;
}

/* 5.8 Submit Button Styling */
body #page-container form.cr_form button.cr_form-block.cr_button {
  height: 40px;
  line-height: 37px;

  padding: 0 22px;

  font-weight: 700;
  font-size: 14px;

  color: var(--gcid-primary-color);
  background: var(--gcid-lkdf3jz6ms);

  border: 2px solid var(--gcid-lkdf3jz6ms);
  border-radius: 100px;

  cursor: pointer;
  box-sizing: border-box;
  white-space: nowrap;
}

/* 5.9 Hover */
body #page-container form.cr_form button.cr_form-block.cr_button:hover {
  background: var(--gcid-secondary-color);
  border-color: var(--gcid-secondary-color);
}

/* 5.10 Fokuszustände */
body #page-container form.cr_form input.cr_form-input[type="email"]:focus {
  border-color: var(--gcid-lkdf3jz6ms);
}
body #page-container form.cr_form button.cr_form-block.cr_button:focus {
  outline: none;
}

/* 5.11 Mobile: untereinander */
@media (max-width: 767px) {
  body #page-container form.cr_form .editable_content {
    flex-direction: column;
    gap: 10px;
  }
}




/* =========================================================
   6) CleverReach Newsletter Form: Color Swap für cr_font-light
   Regel: lkdf3jz6ms <-> primary-color
   ========================================================= */

body #page-container form.cr_form.cr_font-light input.cr_form-input[type="email"] {
  border-color: var(--gcid-primary-color) !important;
  color: var(--gcid-primary-color) !important;
}

body #page-container form.cr_form.cr_font-light button.cr_form-block.cr_button {
  background: var(--gcid-primary-color) !important;
  border-color: var(--gcid-primary-color) !important;
  color: var(--gcid-lkdf3jz6ms) !important;
}

/* Fokuszustand geswapped */
body #page-container form.cr_form.cr_font-light input.cr_form-input[type="email"]:focus {
  border-color: var(--gcid-primary-color) !important;
}

/* Hover: secondary-color bleibt, Textfarbe konsistent */
body #page-container form.cr_form.cr_font-light button.cr_form-block.cr_button:hover {
  background: var(--gcid-secondary-color) !important;
  border-color: var(--gcid-secondary-color) !important;
  color: var(--gcid-lkdf3jz6ms) !important;
}




/* =========================================================
   7) Divi Builder UI: Elemente ausblenden
   ========================================================= */

.non_sortable {
  display: none !important;
}




/* =========================================================
   8) Accordion: Icon im offenen Zustand wieder aktivieren
   ========================================================= */

.et_pb_accordion .et_pb_accordion_item.et_pb_toggle_open .et_pb_toggle_title:before{
  display: inline-block !important;
  content: "\33" !important; /* Beispiel: Minus Icon */
  font-family: "ETmodules" !important;
  transform: rotate(180deg);
  transition-duration: .25s;
}




/* =========================================================
   9) Tabs: Styling (Border Line, Active State, Füll-Element)
   ========================================================= */

/* 9.1 Tabs: Grundreset */
ul.et_pb_tabs_controls, 
.et_pb_tabs_controls li.et_pb_tab_nav_item,
ul.et_pb_tabs_controls:after {
  border: 0 !important;
  background: none !important;
}

.et_pb_tabs_controls li.et_pb_tab_nav_item{
  height: auto !important;
}

/* 9.2 Tabs: Flex Layout */
.et_pb_tabs_controls {
  display: flex;
  align-items: flex-end;
}

.et_pb_tab_nav_item {
  float: none !important;
}

/* 9.3 Tab Link Default */
.et_pb_tab_nav_item a {
  padding: 5px 5px !important;
  width: 105px;
  max-width: 100%;
  text-align: center;
  background: transparent;
  border-style: solid;
  border-color: var(--gcid-primary-color);
  border-bottom-width: 2px;
}

/* 9.4 Tab Link Active */
.et_pb_tab_nav_item.et_pb_tab_active a {
  border-style: solid;
  border-color: var(--gcid-primary-color);
  border-bottom-width: 0px;
  border-top-width: 2px;
  border-right-width: 2px;
  border-left-width: 2px;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}

/* 9.5 Tabs als Flex, damit ein Füll-Element möglich ist */
ul.et_pb_tabs_controls {
  display: flex;
  position: relative;
}

/* 9.6 Füll-Element für durchgehende Linie rechts */
ul.et_pb_tabs_controls::after {
  content: "";
  flex: 1 1 auto;                 /* füllt den Rest bis zum Ende */
  border-bottom: 2px solid var(--gcid-primary-color) !important;
  align-self: flex-end;           /* sitzt unten auf der gleichen Linie */
  min-width: 0;
  top: auto;
}

/* 9.7 Tab Link: Zentrierung und Ellipsis */
.et_pb_tab_nav_item a{
  width: 105px;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* 9.8 Hover Farben */
.et_pb_tabs .et_pb_tabs_controls .et_pb_tab_nav_item:hover a {
  color: var(--gcid-secondary-color) !important;
}
.et_pb_tabs .et_pb_tabs_controls .et_pb_tab_nav_item.et_pb_tab_active:hover a {
  color: var(--gcid-primary-color) !important;
}




/* =========================================================
   10) Gallery: Titel/Caption ausblenden, Pagination Styling
   ========================================================= */

.et_pb_gallery_grid .et_pb_gallery_title,
.et_pb_gallery_grid .et_pb_gallery_caption {
  display: none;
}

.et_pb_gallery .et_pb_gallery_pagination {
  border: none !important;
  margin-top: 10px !important;
}

.et_pb_gallery .et_pb_gallery_pagination ul li a {
  color: var(--gcid-rrroufi1on);
}




/* =========================================================
   11) Lightbox (Magnific Popup): Hintergrund, Spacing, Controls
   ========================================================= */

.mfp-bg {
  background: var(--gcid-primary-color);
}

img.mfp-img {
  padding: 70px 0;
}

.mfp-figure:after {
  top:70px;
  bottom: 70px;
}

.mfp-bottom-bar {
  margin-top:-60px;
}

.mfp-title {
  padding-right: 70px;
}

.mfp-counter {
  color: #fff;
}

.mfp-arrow {
  opacity: .7;
}

.mfp-iframe-holder .mfp-close, 
.mfp-image-holder .mfp-close {
  font-size: 35px;
  top:20px;
  opacity: .7;
  font-weight: 500;
  cursor: pointer !important;
}

.mfp-wrap .mfp-close:active {
  top: 10px;
}

.mfp-arrow:hover,
.mfp-iframe-holder .mfp-close:hover, 
.mfp-image-holder .mfp-close:hover {
  opacity: 1;
}




/* =========================================================
   12) Grid Module: Bildcontainer 1:1, Object Fit Cover
   ========================================================= 

.et_grid_module .et_pb_image_container {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.et_grid_module .et_pb_image_container a {
  height: 100%;
}

.et_grid_module .et_pb_image_container img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

*/




/* =========================================================
   13) Kontakt Slider: Modul Styling (Padding, Margin, Background)
   ========================================================= 

.kontakt-slider-jolle .et_pb_group {
  background-color: var(--gcid-1bdk6m7hnw);
  margin-right: 5px !important;
  margin-left: 5px !important;
  padding-top: 40px !important;
  padding-right: 40px !important;
  padding-bottom: 40px !important;
  padding-left: 40px !important;
}
*/