/**
 * Theme Name:     Divi Child Seelenweite
 * Author:         Elegant Themes
 * Template:       Divi
 * Text Domain:	   divi-child-seelenweite
 * Description:    Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
 */
/* Normale Menülinks verstecken */
/*.et_pb_menu .et_pb_menu__menu {
  display: none !important;
}*/

/* Hamburger auf Desktop anzeigen 
.et_pb_menu .et_mobile_nav_menu {
  display: flex !important;
}*/

/* Klickbereich*/
.et_pb_menu .mobile_nav {
  position: relative;
  padding: 0px 8px !important;
  box-sizing: content-box !important;
  cursor: pointer;
}


/* Dropdown-Menü */
.et_pb_menu .et_mobile_menu {
  position: absolute !important;
  right: 0 !important;
  left: auto !important;
  width: 300px;
  padding: 0 5px;
  display: block !important;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  pointer-events: none;
  margin-top: -4px;
  z-index: 10000;
}

.et_pb_menu .mobile_nav.opened .et_mobile_menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  pointer-events: all;
}

/* Bullets entfernen */
.et_mobile_menu,
.et_mobile_menu li {
  list-style: none !important;
  padding-left: 0 !important;
}

/* mobile_menu_bar zurücksetzen — SVG übernimmt */
.mobile_menu_bar {
  display: block !important;
  width: 40px !important;
  height: 40px !important;
  background: none !important;
  position: relative !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: visible !important;
  margin-top: -3px;
}

.et_pb_column_2_tb_header {
	background-color:transparent !important;
}

.mobile_menu_bar::before,
.mobile_menu_bar::after {
  display: none !important;
}

/* SVG Animation */
.ham {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 400ms;
  user-select: none;
}

.line {
  fill: none;
  transition: stroke-dasharray 1s, stroke-dashoffset 1s;
  stroke: white;
  stroke-width: 5.5;
  stroke-linecap: round;
}

.ham6 .top    { stroke-dasharray: 40 172; }
.ham6 .middle { stroke-dasharray: 40 111; }
.ham6 .bottom { stroke-dasharray: 40 172; }

.ham6.fs .top    { stroke-dashoffset: -132px; }
.ham6.fs .middle { stroke-dashoffset: -71px; }
.ham6.fs .bottom { stroke-dashoffset: -132px; }

@media (max-width: 600px) {
  .et_pb_menu .et_mobile_nav_menu {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
  }

  .et_pb_menu .et_mobile_menu {
    position: fixed !important;
    top: 40px !important;
    right: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height:100%;
    background-color: #0089A6 !important;
    padding: 0 !important;
    border-top: none !important;
    border-radius: 0 0 4px 4px;
  }

  .et_pb_menu .et_mobile_menu li {
    padding: 8px 12px !important;
  }
	
  .et_pb_menu .et_mobile_menu li {
    padding: 16px 12px !important;
    text-align: center;
    font-size: 1.4rem;
  }
  .et-l--footer .et_mobile_nav_menu {
    display: none !important;
  }
  .et-l--header .et_mobile_menu li a {
     font-size: 1.5rem !important;
    padding: 12px 0 !important;
    display: block;
  }
}
@media (min-width: 600px) {
  .et-l--header .et_mobile_menu li a {
    font-size: 1rem !important;
    padding: 5px 10px !important;
    display: block;
  }
}

/* Hero Image Background Zoom */

.et_builder_inner_content {
  overflow-x: hidden;
}

.bg-zoom {
  overflow: hidden;
  position: relative;
}

.bg-zoom::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  animation: zoom-bg 3s ease 1s forwards;
  z-index: 0;
}

.bg-zoom > * {
  position: relative;
  z-index: 1;
}

.bg-zoom .et_pb_bottom_inside_divider {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 2 !important;
}

@keyframes zoom-bg {
  from { transform: translateX(0) scale(1); }
  to { transform: translateX(250px) scale(1.5); }
}

@media (max-width: 980px) {
  @keyframes zoom-bg {
    from { transform: translateX(0) scale(1); }
    to { transform: scale(1.5); }
  }
}

/* =====================

Class img-zoom  
Hier wird im Hover das Bild (nicht Hintergrundbild!) gezoomt

========================*/

.et_pb_module.img-zoom .et_pb_image_wrap img {
  transition: transform 1.5s ease;
  display: block;
}

.et_pb_module.img-zoom:hover .et_pb_image_wrap img {
  transform: scale(1.2);
}

.et_pb_module.img-zoom {
  overflow: visible;
}

.et_pb_module.img-zoom .et_pb_image_wrap {
  overflow: hidden;
}

/* ============================================
   BLOG HOVER OVERLAY – reine CSS-Lösung
   --------------------------------------------
   Textfarbe wird NICHT hier gesetzt, sondern im
   Divi-Customizer (Blog-Textfarbe = #fff).
   Hier steht nur die Layout- und Hover-Logik.
   ============================================ */

/* === 1. Post = Bühne. Bild definiert die Höhe. === */
.blog-zoom .et_pb_post {
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;     /* Abstand zwischen den Posts – nach Geschmack */
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* Clearfix-Balken abschalten */
.blog-zoom .et_pb_post:before,
.blog-zoom .et_pb_post:after {
  display: none !important;
}

/* === 2. Bild-Container füllt den Post, kein Eigenabstand === */
.blog-zoom .et_pb_image_container {
  margin: 0 !important;
  line-height: 0;          /* killt den Inline-Spalt unter dem img */
}

.blog-zoom .et_pb_image_container img {
  display: block;
  width: 100%;
  height: auto;
}

/* === 3. Divis eingebautes Overlay-Icon abschalten === */
.blog-zoom .et_overlay {
  display: none !important;
}

/* === 4. Titel + Content als Overlay über das Bild legen === */
.blog-zoom .entry-title,
.blog-zoom .post-content {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 !important;
  padding: 0 20px;
  box-sizing: border-box;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;     /* im Ruhezustand keine Klick-Blockade */
}

.blog-zoom .entry-title {
  top: 50%;
  transform: translateY(-100%);
  margin-bottom: 16px !important;   /* Abstand Titel ↓ Vorschautext – hier justieren */
  text-align: center;
}

.blog-zoom .post-content {
  top: 50%;
  transform: translateY(16px);      /* gleicher Wert wie margin-bottom oben */
  text-align: center;
}

/* === 5. Dunkler Layer hinter dem Text === */
.blog-zoom .et_pb_image_container::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  transition: opacity 0.5s ease;
  z-index: 1;
  pointer-events: none;
}

/* === 6. Leere Meta raus === */
.blog-zoom .post-meta {
  display: none !important;
}

/* === 7. HOVER: alles einblenden === */
.blog-zoom .et_pb_post:hover .et_pb_image_container::after,
.blog-zoom .et_pb_post:hover .entry-title,
.blog-zoom .et_pb_post:hover .post-content {
  opacity: 1;
  pointer-events: auto;
}
