/*
Theme Name:   AWEOS Divi Child
Theme URI:    https://aweos.de
Description:  Child Theme für das Divi-Theme, entwickelt von AWEOS
Author:       AWEOS GmbH
Author URI:   https://aweos.de
Template:     Divi
Version:      1.0.0
*/

/* Montserrat Font Faces */
/* montserrat-300 - latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url('./fonts/montserrat-v31-latin-300.woff2') format('woff2');
}

/* montserrat-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('./fonts/montserrat-v31-latin-regular.woff2') format('woff2');
}

/* montserrat-500 - latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('./fonts/montserrat-v31-latin-500.woff2') format('woff2');
}

/* montserrat-600 - latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('./fonts/montserrat-v31-latin-600.woff2') format('woff2');
}

/* montserrat-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('./fonts/montserrat-v31-latin-700.woff2') format('woff2');
}

/* montserrat-800 - latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  src: url('./fonts/montserrat-v31-latin-800.woff2') format('woff2');
}

/* Eigene Styles hier einfügen */

h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat' !important;
    font-weight: 600 !important;
    overflow-wrap: break-word;
}

p {
  font-family: 'Montserrat' !important;
  font-size: 16px;
}

a {
    font-family: 'Montserrat' !important;
    font-size: 16px;
}

.et_pb_text_inner p,
.et_pb_text_inner span,
.et_pb_text_inner li,
.et_pb_text_inner a,
.et_pb_text_inner strong {
    font-family: 'Montserrat' !important;
    font-size: 16px;
}

.et_pb_menu__menu a,
.et_mobile_menu a {
    font-family: 'Montserrat' !important;
    font-size: 16px;
}

.et_pb_button {
    font-family: 'Montserrat' !important;
    font-weight: 500 !important;
    font-size: 16px;
}
.oo-listobject {
    background-color: #e3e3e3;
    padding: 10px;
    border-radius: 5px;
    font-family: 'Montserrat' !important;
    font-size: 16px;
}
.oo-listobject p {
    font-family: 'Montserrat' !important;
    font-size: 16px;
}
.oo-detailslink a, .favorize {
    display: block;
    text-align: center;
    color: #ffffff !important;
    padding: 5px;
    background-color: #ddb980;
    transition: all 0.3s;
    text-decoration: none;
    font-size: 16px;
    font-weight: normal;
    line-height: 28px;
    border-radius: 5px;
    padding: 15px 25px 15px 25px;
}
.oo-listobjectwrap {
    box-shadow: none;
    transition: all 0.3s;
}
.oo-listinfotableview {
    display: flex;
    flex-wrap: wrap;
    line-height: 30px;
}
.oo-listtitle {
    font-weight: 700;
    font-size: 18px;
    text-align: center;
    height: 100px;
    overflow: hidden;
    color: #474647;
}
.oo-listtd {
  border-bottom: 1px solid #3c3c3c47;
  color: #474647;
}
.oo-responsive-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    padding-top: 15px;
}
.oo-listheadline h1 {
    color: #ddb980 !important;
    font-size: 46px !important;
}
.oo-listheadline {
    padding: 10px 15px;
    color: #474647;
}
.oo-listframe {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}
.oo-listobject {
    width: 32.4%;
    padding: 0 15px;
    margin: 0 0 50px 0;
}
.oo-listobject:hover .oo-listobjectwrap {
    box-shadow:none !important;
}
.oo-detailslink a:hover {
    background-color: #efddc2 !important;
}
.oo-details-btn:focus {
    background-color: #efddc2 !important;
}
.header-icon {
    background-color: rgb(from #ddb980 r g b / 0.4) !important;
}

.oo-searchformfield input[type='submit'] {
    background-color: #ddb980 !important;
    font-family: 'Montserrat' !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 5px !important;
    padding: 10px 20px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}
.oo-searchformfield input[type='submit']:hover {
    background-color: #efddc2 !important;
}

.oo-searchrange {
    display: flex;
    gap: 10px;
    align-items: flex-end;
}

.oo-searchrange legend {
    width: 100%;
    margin-bottom: 0px;
}

.oo-searchrange label {
    flex: 1;
    position: relative;
    display: block;
}

.oo-searchrange label {
    font-size: 0;
}

.oo-searchrange label[for="wohnflaeche__von"]::before {
    content: "Von:";
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #999;
    font-size: 14px;
    z-index: 1;
}

.oo-searchrange label[for="wohnflaeche__bis"]::before {
    content: "Bis:";
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #999;
    font-size: 14px;
    z-index: 1;
}

.oo-searchrange label input:focus ~ ::before {
    display: none;
}

.oo-searchrange label input:focus {
    padding-left: 10px;
}
.hero-teiler {
  display: none;
}

.oo-searchrange label:has(input:focus)::before {
    display: none;
}
.oo-searchformfield input, .oo-searchformfield button, .oo-searchformfield .multiselect {
border: 1px solid #bbb;
border-radius: 5px;
}
.ts-control {
  border: 1px solid #bbb;
  border-radius: 5px;
}
.oo-searchformfield input:focus {
  border: 1px solid #bbb;
  border-radius: 5px;
  border-color: #ddb980 !important;
  outline: none !important;
}
.ts-wrapper.multi:focus-visible,
.ts-wrapper.multi:focus {
  border: 1px solid #bbb;
  border-radius: 5px;
  border-color: #ddb980 !important;
  outline: none !important;
}
.ts-wrapper.focus {
  border: 1px solid #bbb;
  border-radius: 5px;
  border-color: #ddb980 !important;
  outline: none !important;
}
.oo-searchformfield input:focus {
  border: 1px solid #bbb;
  border-radius: 5px;
  border-color: #ddb980 !important;
  outline: none !important;
}
.contact-section {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
  }
  
  .contact-left {
    flex: 1;
    background: #000;
    color: #fff;
    padding: 2rem;
  }
  
  .contact-right {
    flex: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }
  
  .card {
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    padding: 1.5rem;
    transition: transform 0.2s ease;
  }
  
  .card:hover {
    transform: translateY(-5px);
  }
  
  .btn {
    display: inline-block;
    margin-top: 1rem;
    padding: 0.6rem 1.2rem;
    background: #ddb980;
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    font-weight: bold;
    font-size: 16px !important;
  }
  .card img {
    width: 100%;
    height: 160px;          
    object-fit: cover;      
    border-radius: 12px 12px 0 0; 
    margin-bottom: 1rem;  
  }

  .hero-buttons .et_pb_button_module_wrapper {
    display: inline-block;
    margin-right: 16px;
    vertical-align: middle;
  }

.vertikal-zentrieren {
display: flex;
flex-direction: column;
justify-content: center;
}
  
/* #### Colors #### */ 
.nav li li a { 
  border-bottom: 1px solid #e5e5e5;
  font-weight: 400 !important;
  font-size: 16px !important;  
}
  
.et-menu > .menu-item-has-children > .sub-menu:before {
  border-bottom: 12px #ddb980 solid;
}  
  
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after {
	color: #000000; 
	background: #ddb980;
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after {
	content: '33';
}

ul.et_mobile_menu li.menu-item-has-children.mobile-toggle-open>.mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.mobile-toggle-open>.mobile-toggle-icon::after {
	content: '32';
} 
  
/* ### Header ### */
@media screen and (min-width: 981px) {
.header-column {
	display: flex;
	align-items: center;
}

.header-menu {
	flex: 2 1 auto;
}

.header-menu.et_pb_menu .et-menu>li {
    padding-left: 15px;
    padding-right: 15px;
}

.header-button-1,
.header-button-2 {
	margin-left: 20px;
	font-family: 'Montserrat' !important;
	font-weight: 500 !important;
	font-size: 16px !important;
}
}

@media screen and (max-width: 980px) {
.header-button-1,
.header-button-2 {
	display: none !important;
}
}

.et_pb_menu__logo {
  top: 5px;
  position: absolute;
}

@media screen and (max-width: 980px) {
.et_pb_menu__logo {
	top: -6px;
  }
}
@media screen and (max-width: 480px) {
  .et_pb_menu__logo {
    max-width: 250px;
    top: 0px;
    }
  }

  @media screen and (max-width: 380px) {
    .et_pb_menu__logo {
      max-width: 200px;
      }
    }

/* #### Dropdown Menu #### */  
  
.nav li li:last-child a {
  border-bottom: 0px solid #e5e5e5; 
}  
  
.nav li ul.sub-menu {
	padding: 0px !important;
  border-radius: 5px;
  box-shadow: 0 5px 17px 0px rgb(0 0 0 / 25%);
  -moz-box-shadow: 0 5px 17px 0px rgba(0,0,0,.25);
  -webkit-box-shadow: 0 5px 17px 0px rgb(0 0 0 / 25%);
}
  
.nav li li {
  padding: 0 0px !important;
  width: 100%;
}
  
.et-menu li li a {
  padding: 10px 20px;
  width: 100% !important;
}
  
.et-menu > .menu-item-has-children > .sub-menu:before {
	content: '';
  display: block;
  position: absolute;
  left: 20px;
  top: -20px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  z-index: 1;
}
  
.nav li ul {
    right: 0!important;
}
  
.et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li>a {
    padding-bottom: 20px;
}  
  
/* #### Mobile Menu #### */

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after {
	top: 10px;
	position: relative;
	font-family: "ETModules";
	border-radius: 50%;
	padding: 3px;
}

.et_mobile_menu .menu-item-has-children>a {
    font-weight: 600 !important; 
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle-icon {
	width: 44px;
	height: 100%;
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
	background-color: transparent;
}

ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative;
}

.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}

ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important;
	visibility: hidden !important;
}

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon {
	text-align: center;
	opacity: 1;
}
  
.et_mobile_menu .menu-item-has-children>a {
  font-weight: 500 !important;
}

@media screen and (max-width: 1380px) {
.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li>a {
  padding: 15px 0;
}
}

ul li::marker {
  content: none !important;
  display: none !important;
}

/* #### Blogbeitrag Design #### */

.blogbeitrag .entry-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #ddb980;
  line-height: 1.2;
  margin-bottom: 20px;
  text-align: center;
}

.blogbeitrag .post-meta {
  text-align: center;
  color: #666;
  font-size: 14px;
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid #efddc2;
}

.blogbeitrag .post-meta a {
  color: #004225;
  text-decoration: none;
}

.blogbeitrag .post-meta a:hover {
  text-decoration: underline;
}

.blogbeitrag .et_pb_image {
  margin-bottom: 40px;
  text-align: center;
}

.blogbeitrag .et_pb_image img {
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  max-width: 100%;
  height: auto;
}

.blogbeitrag .et_pb_text h1 {
  font-size: 2rem;
  font-weight: 600;
  color: #ddb980;
  line-height: 1.3;
}

.blogbeitrag .et_pb_text h2 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #ddb980;
  margin: 30px 0 15px 0;
  line-height: 1.4;
  border-left: 4px solid #ddb980;
  padding-left: 15px;
}

.blogbeitrag .et_pb_text p {
  font-size: 16px;
  line-height: 1.7;
  color: #474647;
  margin-bottom: 20px;
  text-align: justify;
}

.blogbeitrag .et_pb_text strong {
  color: #ddb980;
  font-weight: 600;
}

/* #### Post Meta Wrapper Design #### */
.et_post_meta_wrapper {
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 20px 20px 20px;
  text-align: center;
  background: #e3e3e3;
  border-radius: 15px;
  margin-bottom: 30px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  font-family: 'Montserrat' !important;
  font-weight: 500 !important;
}

.et_post_meta_wrapper .entry-title {
  font-size: 2.8rem;
  font-weight: 500 !important;
  color: #ddb980;
  line-height: 1.2;
  margin-bottom: 25px;
  text-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.et_post_meta_wrapper .post-meta {
  font-size: 15px;
  color: #666;
  background: rgba(255, 255, 255, 0.8);
  padding: 15px 25px;
  border-radius: 25px;
  display: inline-block;
  border: 1px solid rgba(221, 185, 128, 0.3);
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.et_post_meta_wrapper .post-meta a {
  color: #004225;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
}

.et_post_meta_wrapper .post-meta a:hover {
  color: #ddb980;
  text-decoration: underline;
}

.et_post_meta_wrapper .author a {
  background: #ddb980;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 500;
}

.et_post_meta_wrapper .published {
  color: #666;
  font-weight: 500;
}

.et_post_meta_wrapper .comments-number a {
  background: rgba(221, 185, 128, 0.2);
  padding: 3px 8px;
  border-radius: 12px;
  font-size: 13px;
}

.et_post_meta_wrapper .comments-number a:hover {
  background: rgba(221, 185, 128, 0.4);
}

/* Hide empty Post Meta Wrapper but keep title */
.et_post_meta_wrapper:last-of-type:not(:has(.entry-title)) {
  display: none !important;
}

/* Responsive für Post Meta */
@media screen and (max-width: 768px) {
  .et_post_meta_wrapper {
    padding: 30px 15px 15px 15px;
    margin: 0 15px 20px 15px;
  }
  
  .et_post_meta_wrapper .entry-title {
    font-size: 2.2rem;
  }

  .et_pb_section.et_pb_section_0.hero-sektion.et_pb_with_background.et_section_regular {
    height: 400px;
}
  
  .et_post_meta_wrapper .post-meta {
    font-size: 14px;
    padding: 12px 20px;
  }
}


.blogbeitrag .et_pb_text p:nth-child(even) {
  background: #f5f3f0;
  padding: 18px 22px;
  border-radius: 10px;
  margin: 18px 0;
  border-left: 3px solid rgba(221, 185, 128, 0.3);
}
/* Blog Übersichtsseite Design */
.blog-uebersichtseite .et_pb_post {
  background: #fff;
  border-radius: 15px;
  padding: 30px;
  margin-bottom: 30px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.blog-uebersichtseite .et_pb_post:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}

.blog-uebersichtseite .entry-title a {
  color: #ddb980;
  text-decoration: none;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.3;
}

.blog-uebersichtseite .post-meta {
  color: #666;
  font-size: 14px;
  margin: 15px 0;
}

.blog-uebersichtseite .post-meta a {
  color: #004225;
  text-decoration: none;
}
.et_pb_blog_grid h2 {
  min-height: 130px;
}

.blog-uebersichtseite .post-content p {
  color: #474647;
  line-height: 1.6;
  margin-top: 15px;
  min-height: 140px;
  margin-bottom: 15px;
}

/* Responsive Design */
@media screen and (max-width: 768px) {
  .blogbeitrag {
    padding: 20px 15px;
  }
  
  .blogbeitrag .entry-title {
    font-size: 2rem;
  }
  
  .blogbeitrag .et_pb_text h1 {
    font-size: 1.7rem;
  }
  
  .blogbeitrag .et_pb_text h2 {
    font-size: 1.3rem;
  }
  
  .blogbeitrag .et_pb_text p {
    font-size: 15px;
    text-align: left;
  }
  
  .blog-uebersichtseite .et_pb_post {
    padding: 20px;
    margin-bottom: 20px;
  }
  
  .blog-uebersichtseite .entry-title a {
    font-size: 1.2rem;
  }
  
  .et_pb_blog_grid h2 {
    min-height: auto;
  }
  
  .blog-uebersichtseite .post-content p {
    min-height: auto;
  }
}

.entry-content ul {
  padding-left: 0px;
}

.footer-links .et_pb_text_inner ul li { 
  margin-bottom: 20px;
}



/* ============================
   FAQ Accordion Design
   ============================ */

/* Section */
.faq-section {
  background-color: #f9f8f6;
}

/* Titel */
.faq-section .faq-row h2 {
  color: #ddb980;
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 0.5px;
  margin-bottom: 30px;
}

/* Accordion Container */
.faq-module.et_pb_accordion {
  border: none !important;
}

/* Einzelnes Accordion Item */
.faq-module .et_pb_accordion_item {
  border: none !important;
  border-left: 3px solid #ddb980 !important;
  background: #ffffff;
  margin-bottom: 12px !important;
  border-radius: 0 6px 6px 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);

  padding: 0 !important;
  overflow: hidden;
}

.faq-module .et_pb_accordion_item:hover {
  box-shadow: 0 3px 12px rgba(221, 185, 128, 0.15);
}

/* Offenes Item */
.faq-module .et_pb_toggle_open {
  border-left-color: #ddb980 !important;
  background: #ffffff;
}

/* Geschlossenes Item */
.faq-module .et_pb_toggle_close {
  border-left-color: #ddb980 !important;
  background: #fafafa;
}

.faq-module .et_pb_toggle_close:hover {
  border-left-color: #ddb980 !important;
}

/* Frage Titel */
.faq-module .et_pb_toggle_title {
  color: #474747 !important;
  font-family: 'Montserrat' !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  padding: 20px 50px 20px 24px !important;
  position: relative;
  cursor: pointer;
}

.faq-module .et_pb_toggle_open .et_pb_toggle_title {
  color: #ddb980 !important;
}

/* Antwort */
.faq-module .et_pb_toggle_content {
  color: #474747 !important;
  font-family: 'Montserrat' !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  padding: 20px 24px 20px 24px !important;
  border-top: 1px solid #f0ece4;
}

/* Plus/Minus Icon im goldenen Kreis */
.faq-module .et_pb_toggle_title:before {
  font-family: 'Montserrat', sans-serif !important;
  color: #fff !important;
  background: #ddb980 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  right: 20px !important;
  top: 65% !important;
  transform: translateY(-50%) !important;
  position: absolute !important;
  line-height: 1 !important;
}
.faq-module .et_pb_toggle_close .et_pb_toggle_title:before {
  content: "+" !important;
}
.faq-module .et_pb_toggle_open .et_pb_toggle_title:before {
  content: "\2013" !important;
}

/* Blog: Alle Bilder im Beitrag abgerundet */
.blogbeitrag .et_pb_text img {
  border-radius: 15px !important;
}


/* Blog Grid: Bilder abgerundet */
.et_pb_blog_grid .et_pb_image_container img {
  min-width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 15px;
}

#top-angebote .wb-top-angebote-row { align-items: flex-start; }
#top-angebote .et_pb_slider,
#top-angebote .et_pb_slide { background: transparent !important; }
#top-angebote .et_pb_slide_image img {
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(71, 70, 71, 0.15);
}
#top-angebote .et-pb-controllers a { background-color: #474647 !important; }
#top-angebote .et-pb-controllers .et-pb-active-control { background-color: #ddb980 !important; }

/* ============================================ */
/* Top Angebote — Startseite (2-col slider)     */
/* ============================================ */
#top-angebote .wb-top-angebote-row { align-items: flex-start; display: flex; flex-wrap: wrap; }
#top-angebote .wb-top-angebote-row > .et_pb_column { display: flex; flex-direction: column; justify-content: flex-start; }

/* Slider container — remove gold, remove forced min-height/padding */
#top-angebote .et_pb_slider,
#top-angebote .et_pb_slider .et_pb_slides,
#top-angebote .et_pb_slide {
  background: transparent !important;
  background-color: transparent !important;
  min-height: 0 !important;
}
#top-angebote .et_pb_slide { padding: 0 !important; }
#top-angebote .et_pb_slide .et_pb_container { min-height: 0 !important; padding: 0 !important; height: auto !important; }
#top-angebote .et_pb_slider { padding: 0 !important; }

/* The image */
#top-angebote .et_pb_slide_image { position: static !important; max-width: 100% !important; margin: 0 !important; transform: none !important; }
#top-angebote .et_pb_slide_image img {
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(71, 70, 71, 0.15);
  max-width: 100%;
  height: auto;
  display: block;
}

/* Controllers (pagination dots) */
#top-angebote .et-pb-controllers { bottom: -30px !important; }
#top-angebote .et-pb-controllers a { background-color: #474647 !important; }
#top-angebote .et-pb-controllers .et-pb-active-control { background-color: #ddb980 !important; }

/* Arrows */
#top-angebote .et-pb-arrow-prev, #top-angebote .et-pb-arrow-next { color: #474647 !important; }

/* H1 global auf Desktop auf 65px begrenzen (ueberschreibt Divi inline 75px) */
@media only screen and (min-width: 1281px) {
  h1 {
    font-size: 65px !important;
  }
}

/* Subpage Hero: Row (mit H1) auf 50% Breite begrenzen — nur Unterseiten, nicht Startseite */
.hero-sektion > .et_pb_row {
  width: 50% !important;
}

/* Blog-Listing: Abstand zwischen Post-Kacheln entfernen */
.et_pb_post {
  margin-bottom: 0 !important;
}

/* Single Post: Padding unten entfernen */
.single .post {
  padding-bottom: 0 !important;
}

/* Regionen: Bilder fuellen die gesamte Spalte */
.region-bild .et_pb_image_wrap,
.region-bild .et_pb_image_wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.region-bild {
  height: 100% !important;
}

/* Globale Link-Unterstreichung entfernen (außer wp-element-button) */
:root :where(a:where(:not(.wp-element-button))) {
  text-decoration: none !important;
}

/* Datenschutzerklärung — Akkordion-Style für Complianz-Dropdowns */
details.cmplz-dropdown {
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  margin: 10px 0;
  background: #fafafa;
  overflow: hidden;
}
details.cmplz-dropdown summary {
  cursor: pointer;
  padding: 14px 50px 14px 18px;
  list-style: none;
  position: relative;
  user-select: none;
  background: #f5f5f5;
  transition: background 0.15s;
}
details.cmplz-dropdown summary::-webkit-details-marker { display: none; }
details.cmplz-dropdown summary::marker { content: ""; display: none; }
details.cmplz-dropdown summary::after {
  content: "+";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 24px;
  color: #ddb980;
  font-weight: 300;
  line-height: 1;
}
details.cmplz-dropdown[open] summary::after { content: "−"; }
details.cmplz-dropdown[open] summary { border-bottom: 1px solid #e3e3e3; background: #f0e7d6; }
details.cmplz-dropdown:hover > summary { background: #efe6d4; }
details.cmplz-dropdown summary h3 {
  display: inline;
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weight: 600;
  color: #474747;
  line-height: 1.4;
}
details.cmplz-dropdown > *:not(summary) {
  padding: 12px 18px 4px;
  margin: 0;
}
details.cmplz-dropdown > *:not(summary):last-child {
  padding-bottom: 16px;
}
