/*
 Theme Name:     Central Aesthetics
 Theme URI:      https://aweos.de
 Description:    Das offizielle Design von Central Aesthetics. Entworfen von der AWEOS GmbH.
 Author:         AWEOS
 Author URI:     https://aweos.de
 Template:       Divi
 Version:        1.0.0
*/



/* Typography  */
/* Montserrat 300 */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url('/wp-content/themes/aweos/fonts/montserrat-v30-latin-300.woff2') format('woff2');
}
/* Montserrat 400 */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('/wp-content/themes/aweos/fonts/montserrat-v30-latin-regular.woff2') format('woff2');
}
/* Quicksand 300 */
@font-face {
  font-display: swap;
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300;
  src: url('/wp-content/themes/aweos/fonts/quicksand-v36-latin-300.woff2') format('woff2');
}
/* Quicksand 400 */
@font-face {
  font-display: swap;
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400;
  src: url('/wp-content/themes/aweos/fonts/quicksand-v36-latin-regular.woff2') format('woff2');
}
/* quicksand-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 700;
  src: url('/wp-content/themes/aweos/fonts/quicksand-v37-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

.page-id-7628 .et_pb_section.detail-hero, .page-id-7626 .et_pb_section.detail-hero {
    display: none;
}
.one-half-container {
  display: flex
;
}
img.easer {
    width: 130px;
}
#left-area ul.checklist {
  padding-left: 0;
  list-style: none;
}
.anker-preis .one-half-container {
  margin: 0 -20px;
}
.anker-preis ul {
  list-style: none;
  padding: 0;
}
.usps-start ul li h3 {
  font-size: 22px;
}
.et_pb_section.usps-start.et_section_regular {
  background: #f2eee9;
  padding-bottom: 0;
  padding-top: 70px;
}
.usps-start ul {
  display: flex
;
  width: 62%;
  margin: 0 auto;
  text-align: center;
  list-style: none;
  padding: 0;
  position: relative;
}
#left-area ul.checklist li:before {
  content: '\4e';
  font-family: 'ETmodules';
  position: absolute;
  left: 0;
  color: #b08879;
}
#left-area ul.checklist li {
  padding-left: 22px;
}
.anker-preis .one-half {
  width: auto;
  margin: 0 20px;
}
.et_pb_row {
  width: 90%;
}
.one-half {
  width: 50%;
}
img.bild-vollebreite {
    width: 40%;
}
.half-voll-bild.et_pb_image .et_pb_image_wrap {
  width: 100%;
}
.ratenrechner .label {
  font-weight: 500;
  font-size: 16px;
  opacity: 1;
}
.half-voll-bild.et_pb_image img {
  width: 100%;
  object-fit: cover;
  border-radius: 25px;
}
.ratenrechner h2 {
  padding-bottom: 0;
  margin-bottom: 6px;
}
p.verschaffen {
  color: black;
  padding-bottom: 15px !important;
  display: block;
}
.detail-hero img {
  height: 700px;
  width: 100%;
  object-fit: cover;
}
.detail-hero h1 {
  font-weight: bold;
  padding-bottom: 5px;
}
.hero-unter-text strong {
  font-size: 22px;
}
img.google-rating__logo {
  height: auto;
  width: 50px;
  margin-right: 5px;
  top: 3px;
    position: relative;
}
.et_pb_row.hero-unter-text {
  position: absolute;
 bottom: 0;
  left: 0;
  margin: 0 auto;
  right: 0;
  z-index: 222;
  text-align: center;
  max-width: 1920px;
  width: 90%;
}
.usps-start li {
  width: 100%;
  margin: 0 15px;
  counter-increment: my-awesome-counter;
}
.usps-start h3:before {
  content: counter(my-awesome-counter);
  left: 0;
  top: 0;
  background: #b08879;
  width: 48px;
  height: 48px;
  text-align: center;
  border-radius: 50%;
  color: #fff;
  z-index: 2;
  line-height: 48px;
  font-size: 18px;
  font-weight: bold;
  display: block;
  margin: 0 auto;
  margin-bottom: 20px;
}
.hero-unter-text .et_pb_text_inner {
  text-align: center;
}
.usps-start h2 {
  font-size: 37px;
  text-align: center;
  padding-bottom: 25px;
}
.usps-start ul:before {
  border-top: 1px solid #eae5e0;
  position: absolute;
  content: '';
  top: 22px;
  left: 0;
  height: 1px;
  width: 68%;
  z-index: -1;
  margin: 0 auto;
  right: 0;
}
.google-rating__text a {
  color: #ffffff !important;
}
.google-rating__content {
  text-align: left;
}
.hero-btn, .hero-main-btn {
  line-height: 100%;
  background: #b08879;
  border: none;
  font-size: 16px;
}
.et_pb_section.detail-hero.et_pb_with_background {
  margin-top: 76px !important;
  line-height: 0;
}
.google-rating {
  justify-content: center;
}
.et_pb_section.et_pb_section_0.detail-hero.et_pb_with_background.et_section_regular.et_pb_section_first {
  margin-top: 77px !important;
}
.hero-btn-group {
  justify-content: center;
}
.et_pb_section.detail-hero.et_pb_with_background.et_section_regular.et_pb_section_first:before {
  background: linear-gradient(-180deg, #0000, #00000006 4%, #00000012 17%, #00000020 31%, #00000035 45%, #00000060 60%, #00000099);
  bottom: 0;
  content: "";
  height: 80%;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 22;
}
.google-rating__content:before {
  content: '\e033 \e033 \e033 \e033 \e033';
  display: block;
  font-family: 'ETmodules';
  color: #cabea2;
  letter-spacing: 3px;
  font-size: 15px;
  padding-right: 5px;
  margin-bottom: 8px;
}
.review-text-toggle {
  padding-top:10px;
  padding-bottom: 30px;
}
.et_pb_row.row-full {
  width: 90%;
}
.faq-video #podcast {
  margin-bottom: 30px;
}
.primary-btn a:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
  background: white;
  color: #b08879 !important;
  text-decoration: unset !important;
}
.primary-btn a {
  padding: 14px 28px;
  background: #b08879;
  border-radius: 32px;
  color: white !important;
  margin-top: 6px;
  display: inline-block;
  line-height: 100%;
  border: 1px solid #b08879;
  transition: 300ms;
}
.review-carousel .active img.logo {
  margin-bottom: 18px;
}
img.bild-halfbreite {
    width: 65%;
    display: block;
}
.stars {
  padding-bottom: 20px;
}
.review-slide {
  gap: 0 !important;
}
.faltenarten h2 {
    text-align: center;
}
.et_pb_row.praxis-bild-text {
  width: 54%;
}
.bx-viewport:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 20%;
  height: 100%;
  background: linear-gradient(to left, rgba(255, 255, 255, 0), rgb(255 255 255));
  z-index: 2;
}
.bx-viewport:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 20%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0), rgb(255 255 255));
}
.bx-wrapper {
  border: none;
  box-shadow: none;
  background: none;
  margin-bottom: 22px;
}
.bilder-arzt ul#logo-neu img, .bilder-arzt ul#logo-neue img {
  width: 100%;
  object-fit: cover;
  height: 350px;
  border-radius: 28px;
}
:root {
  /* Farben */
  --color-white: #fff;
  --color-black: #2B2B2B;
  --color-grey: #888;
  --color-accent: #b08879;
  --color-accent-light: #d2b6aa;
  --color-bg-cream: #f2efea;
  --color-bg-oat: #e8ded2;
  --color-bg-greige: #ccc4b9;
  --color-bg-linen: #fefbf6;
  --color-bg-driftwood: #a5907f;
  --color-bg-bottom: #f2eee9;
  /* Schriftarten */
  --font-headline: 'Montserrat';
  --font-body: 'Quicksand';
  /* Font-Weights */
  --fw-light: 300;
  --fw-regular: 400;
  /* Sonstiges */
  --border-radius: 32px;
}


.hero-inhalt {
  padding-top: 76px !important;
}
/* Scroll Progress Bar */
#scroll-progress-bar {
  position: fixed;
  top: 76px; /* Direkt unter dem Header */
  left: 0;
  width: 0%;
  height: 3px;
  background-color: var(--color-accent);
  z-index: 99998; /* Etwas niedriger als der Header */
  transition: width 0.25s ease;
  opacity: 0.9;
}
ul#top-menu a {
  font-weight: 500 !important;
}
/* Responsive Anpassungen für Scroll Progress Bar */
@media (max-width: 990px) {
  #scroll-progress-bar {
    top: 70px; /* Angepasst für mobile Header-Höhe */
  }
}

/* Sticky Header - Basis */
#main-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
}
/* Sticky Header - Helle Variante ab 100px scrollen */
#main-header.sticky-light {
  background: #f2eee9 !important;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1) !important;
  border-bottom: none !important;
}
input[type="search"]::placeholder {
  text-transform: none !important;
}
#main-header.sticky-light .et_menu_container {
  background: #f2eee9 !important;
  border-bottom: none !important;
}
/* Menü-Links - Dunkle Schrift (#2B2B2B) für helle Variante */
#main-header.sticky-light #top-menu.nav > li > a {
  color: #2B2B2B !important;
}
#main-header.sticky-light #top-menu.nav > li > a:hover {
  color: var(--color-accent) !important;
}
/* Header Actions - Dunkle Variante (#2B2B2B) */
/* Header Instagram Icon - Dunkle Variante für alle Seiten außer Home */
.header-instagram-icon img {
  filter: brightness(0) saturate(100%) invert(13%) sepia(5%) saturate(1379%) hue-rotate(314deg) brightness(94%) contrast(88%) !important;
}
/* Auf der Startseite wird der Filter nur im Sticky-Zustand angewendet */
.home .header-instagram-icon img {
  filter: brightness(0) invert(1) !important;
}
.home #main-header.sticky-light .header-instagram-icon img {
  filter: brightness(0) saturate(100%) invert(13%) sepia(5%) saturate(1379%) hue-rotate(314deg) brightness(94%) contrast(88%) !important;
}
/* Search Icon - Dunkle Variante für alle Seiten außer Home */
#et_search_icon img {
  filter: brightness(0) saturate(100%) invert(13%) sepia(5%) saturate(1379%) hue-rotate(314deg) brightness(94%) contrast(88%) !important;
}
/*WPML Flaggen*/
.wpml-ls-legacy-list-horizontal li a {
    padding: 0px 8px;
}
.wpml-ls-link img.wpml-ls-flag {
    filter: brightness(0.9);
}
.wpml-ls-link img.wpml-ls-flag:hover {
    filter: brightness(1);
}
/* Auf der Startseite wird der Filter nur im Sticky-Zustand angewendet */
.home #et_search_icon img {
  filter: brightness(0) invert(1) !important;
}

.unser-team .et_pb_column {
  margin-bottom: 10px !important;
}
.unser-team .et_pb_module.et_pb_image {
  margin-bottom: 5px !important;
}
.doc-titel h2 {
  padding-bottom: 0px;
}
.brownbox .et_pb_text {
  text-align: left !important;
}
li.ps-slide {
  border-radius: 30px;
}
.page-id-368 .et_pb_section.et_pb_section_first,.page-id-1841 .et_pb_section.et_pb_section_first {
  padding-top: 30px !important;
}

.face-row {
  display: flex;
  flex-wrap: wrap;
}

.logo_container,
.logo_container a {
  pointer-events: auto;
}

.header-actions,
.header-actions * ,
.fixed-termin-btn,
.header-instagram-icon,
#et_top_search,
#et_search_icon,
a.glink {
  pointer-events: auto;
}
.page-id-2052 .et_pb_section img {
  object-position: 50% 29%;
}
.page-id-2154 .et_pb_section_first {
  padding-top: 0px !important;
}
.et_pb_section.et_pb_section_0.et_pb_with_background.et_section_regular.et_pb_section_first {
  padding-top: 0px !important;
}

.home #main-header.sticky-light #et_search_icon img {
  filter: brightness(0) saturate(100%) invert(13%) sepia(5%) saturate(1379%) hue-rotate(314deg) brightness(94%) contrast(88%) !important;
}
/* Logo - Dunkle Variante (#2B2B2B) für alle Seiten außer Home */
.logo_container img {
  filter: brightness(0) saturate(100%) invert(13%) sepia(5%) saturate(1379%) hue-rotate(314deg) brightness(94%) contrast(88%) !important;
}
/* Auf der Startseite wird der Filter nur im Sticky-Zustand angewendet */
.home .logo_container img {
  filter: brightness(0) invert(1) !important;
}
/* Logo - Dunkle Variante (#2B2B2B) für Sticky auf der Startseite */
.home #main-header.sticky-light .logo_container img {
  filter: brightness(0) saturate(100%) invert(13%) sepia(5%) saturate(1379%) hue-rotate(314deg) brightness(94%) contrast(88%) !important;
}

/* Bei responsiven Breakpoints anpassen */
@media (max-width: 990px) {
  body {
    padding-top: 70px;
  }
}

body:not(.home) h3 {
  font-family: 'Montserrat';
  font-weight: bold;
  font-size: 20px !important;
  color: #af877a !important;
  margin-bottom: 0;
}

body:not(.home) h4 {
  font-family: 'Montserrat';
  font-size: 25px !important;
  color: #ffff !important;
  font-weight: 400;
}

h2, h3, h4, h5 {
  font-family: var(--font-headline);
  font-weight: 400;
  color: #767575 !important;
  line-height: 1.3;
  margin-bottom: 15px;
}

h1 {
  font-size: clamp(2.1rem, 4vw + 1rem, 3rem);
  letter-spacing: 0.02em;
  font-family: var(--font-headline);
  font-weight: 400;
  color: #767575 !important;
  line-height: 1.2;
}
h2 {
  font-size: clamp(1.9rem, 3vw + 1rem, 2.9rem);
  letter-spacing: 0.02em; 
}
h3,.ratenrechner-cta h2 {
  font-size: clamp(1.5rem, 2vw + 1rem, 2.3rem);
  letter-spacing: 0.02em;
}
h4 {
  font-size: clamp(1.3rem, 1.5vw + 1rem, 1.8rem);
  letter-spacing: 0.02em;
}
h5 {
  font-size: clamp(1.1rem, 1vw + 1rem, 1.4rem);
  letter-spacing: 0.02em;
}
p, li {
  font-family: var(--font-body);
  color: var(--color-grey);
  font-size: 16px;
  line-height: 1.6;
}
label {
  font-family: 'Quicksand' !important;
}
form.wpcf7-form.init p {
  line-height: 1.2;
}
button.review-text-toggle {
  font-family: 'Quicksand';
}
p.hero-subline {
  font-family: 'Quicksand';
}

.et_pb_module.et_pb_accordion.et_pb_accordion_11.akk h4 {
  color: #b08879 !important;
}

.nav li:hover>ul {
  pointer-events: all !important;
}
#top-menu li {
  padding-right: 0px;
}
#top-menu .menu-item-has-children > a:first-child:after,
#et-secondary-nav .menu-item-has-children > a:first-child:after {
  display: none !important;
}
#logo {
  top: -2px;
  position: relative;
}
h5.et_pb_toggle_title {
  margin-bottom: 0px !important;
}
/* Header Styles  */
/* Menü transparent */
.et_menu_container,
#main-header,
#et-top-navigation {
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: none !important;
}

li.eyelid-text {
  list-style: inside;
}

/* ========================= Admin Bar: Menü nicht verdecken ========================= */
/* Wenn Admin Bar sichtbar ist (angemeldeter Benutzer), Header nach unten verschieben */
.admin-bar #main-header {
  margin-top: 32px; /* Standard-Höhe des WordPress Admin Bars auf Desktop */
}

/* Auf mobilen Geräten ist der Admin Bar höher (46px) */
@media screen and (max-width: 782px) {
  .admin-bar #main-header {
    margin-top: 46px;
  }
}

/* Sicherstellen, dass der Header auch bei sticky Position korrekt positioniert ist */
.admin-bar #main-header.et_fixed_nav {
  top: 32px;
}

@media screen and (max-width: 782px) {
  .admin-bar #main-header.et_fixed_nav {
    top: 46px;
  }
}
/* Container als Flexbox mit 3 gleichmäßigen Bereichen */
.et_menu_container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  height: 76px;
  background: transparent !important;
  border-bottom: 1px solid var(--color-bg-greige);
  padding: 0 40px;
  gap: 20px;
}
.et_menu_container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  height: 76px;
  background: transparent !important;
  border-bottom: 1px solid var(--color-bg-greige);
  padding: 0 40px;
  gap: 20px;
}
.search #main-content article .et_pb_row {
  width: 100% !important;
}
/* Navigation Links - nimmt 1/3 der Breite ein */
#et-top-navigation {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 !important;
}

.et_pb_promo_description {
  font-family: 'Quicksand' !important;
}

/* Logo Container - nimmt 1/3 der Breite ein, zentriert */
.logo_container img {
  max-height: 50px;
  max-width: 140px;
  width: auto;
  height: auto;
  display: block;
  position: relative;
  top: 3px;
}
/* Header Actions - nimmt 1/3 der Breite ein, rechtsbündig */
.header-actions {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  position: relative;
  top: -18px;
}
/* Menü Styling */
#top-menu-nav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
li#menu-item-375 a, li#menu-item-377 a {
  font-weight: bolder !important;
}
/* Ästhetik-Menüpunkt fett */
li#menu-item-2250 > a {
  font-weight: 700 !important;
}
#top-menu.nav {
  display: flex;
  align-items: center;
  gap: 0px;
  list-style: none;
  margin: 0;
  padding: 0;
  background: none !important;
  box-shadow: none !important;
  z-index: 3;
  top: 13px;
  margin-left: 15rem;
}

.footer-mitgliedschaften-section,
.footer-mitgliedschaften-section .mitgliedschaften {
  position: relative;
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
}

.et_pb_column.et_pb_column_4_4.et_pb_column_0.et_pb_css_mix_blend_mode_passthrough.et-last-child .et_pb_module.et_pb_text.et_pb_text_1.et_pb_text_align_left.et_pb_bg_layout_light {
  background-color: transparent;
}

.home #top-menu.nav > li > a {
  color: var(--color-white) !important;
  font-family: 'Quicksand';
  font-size: 16px;
  font-weight: var(--fw-regular);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: color 0.2s;
  padding: 0;
  line-height: 70px;
  z-index: 3;
  pointer-events: auto;
  text-transform: none;
  padding-bottom: 33px !important;
}
#top-menu.nav > li > a {
  color: #2B2B2B !important;
  font-family: 'Quicksand';
  font-size: 16px;
  font-weight: var(--fw-regular);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: color 0.2s;
  padding: 0;
  line-height: 70px;
  z-index: 3;
  pointer-events: auto;
  text-transform: none;
}
#top-menu.nav > li > a:hover {
  color: var(--color-accent);
}

/* Aktiver Menüpunkt im sticky Header */
#main-header.sticky-light #top-menu.nav > li.current-menu-item > a,
#main-header.sticky-light #top-menu.nav > li.current_page_item > a,
#main-header.sticky-light #top-menu.nav > li.current-page-ancestor > a,
#main-header.sticky-light #top-menu.nav > li.current-menu-parent > a,
#main-header.sticky-light #top-menu.nav > li.current-menu-ancestor > a,
#main-header.sticky-light #top-menu.nav > li.current_page_parent > a,
#main-header.sticky-light #top-menu.nav > li.current_page_ancestor > a {
  text-decoration: underline;
  text-decoration-color: var(--color-accent);
  text-underline-offset: 4px;
}
/* Button Styling */
.fixed-termin-btn {
  margin: 0;
  padding: 15px 20px;
  background: var(--color-accent);
  color: var(--color-white);
  font-family: 'Quicksand';
  font-size: 15px;
  font-weight: 500;
  border-radius: 32px;
  text-decoration: none;
  transition: background 0.2s, box-shadow 0.2s;
  box-shadow: 0 4px 16px rgba(175, 136, 119, 0.18), 0 1.5px 6px rgba(43,43,43,0.10);
  border: none;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  flex-shrink: 0;
  border: 1px solid #b08879;
}
.fixed-termin-btn:hover {
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  color: #b08879;
  /* transform: translateY(-1px); */
  border: 1px solid #b08879;
}

.page-id-6577 .et_pb_section_first {
  padding-top: 75px !important;
}
/* Instagram Icon */
.header-instagram-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  flex-shrink: 0;
}
.header-instagram-icon:hover {
  transform: scale(1.05);
}
.header-instagram-icon img {
  width: 23px;
  height: 23px;
  transition: filter 0.3s ease;
}
/* Search Icon */
#et_top_search {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
#et_search_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  width: 30px;
  height: 30px;
  transition: transform 0.3s ease;
}

#et_search_icon img {
  transition: all 0.3s ease;
}

#et_search_icon:hover {
  transform: scale(1.05);
}

/* Focus Outline für Search Icon - nur bei Tab-Navigation */
#et_search_icon:focus-visible {
  outline: 3px solid #AB6446 !important;
  outline-offset: 2px !important;
}

#et_search_icon:focus:not(:focus-visible) {
  outline: none !important;
}

.section-full{
  display:flex;
  flex-direction:column;
}

.review-carousel{ order:1; }
.outer-nav{ order:2; /* plus die neue .outer-nav-Definition oben */ }

/* Focus Outline für Close Search Button - nur bei Tab-Navigation */
.et_close_search_field:focus-visible {
  outline: 3px solid #AB6446 !important;
  outline-offset: 2px !important;
}

.et_close_search_field:focus:not(:focus-visible) {
  outline: none !important;
}
#et_top_search {
  margin: 2px 0 0 10px;
}
#et_search_icon:before {
  content: "\55";
  font-size: 17px;
  left: 0;
  position: absolute;
  top: -3px;
  display: none;
}

/* Search Overlay Enhancements - Divi-kompatibel */
.et_search_outer .et-search-field {
  background: var(--color-white) !important;
  border: 1px solid var(--color-accent) !important;
  color: var(--color-black) !important;
  font-family: var(--font-body) !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  border-radius: 32px !important;
  padding: 16px 24px !important;
  margin-right: 20px;
}
.et_search_outer .et-search-field:focus {
  border-color: var(--color-accent-light) !important;
  outline: none !important;
}
/* Placeholder Text Styling */
/* Browser-spezifische Placeholder Selektoren für maximale Kompatibilität */
.et_search_outer .et-search-field::-webkit-input-placeholder {
  font-weight: 300 !important;
  font-family: var(--font-body) !important;
  color: var(--color-grey) !important;
  opacity: 0.7 !important;
}
.et_search_outer .et-search-field::-moz-placeholder {
  font-weight: 300 !important;
  font-family: var(--font-body) !important;
  color: var(--color-grey) !important;
  opacity: 0.7 !important;
}
.et_search_outer .et-search-field:-ms-input-placeholder {
  font-weight: 300 !important;
  font-family: var(--font-body) !important;
  color: var(--color-grey) !important;
  opacity: 0.7 !important;
}
.et_close_search_field {
  background: var(--color-accent) !important;
  color: var(--color-white) !important;
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
  line-height: 38px !important;
  text-align: center !important;
  font-size: 24px !important;
  cursor: pointer !important;
  transition: background 0.3s ease !important;
}
a.glink img {
  vertical-align: middle;
  display: inline;
  border: 0;
  padding: 0;
  margin: 0;
  opacity: 0.8;
  margin-right: 2px;
  margin-left: 5px;
}
.et_close_search_field:hover {
  background: var(--color-accent-light) !important;
}
.et_header_style_left #et-top-navigation {
  padding-top: 25px !important;
}
.home #main-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.45) !important;
  box-shadow: none !important;
}
/* Responsive Design */
/* 1. Großes Desktop (ab 1480px) */
@media (min-width: 1480px) {
  .et_menu_container { padding: 0 40px; gap: 20px; }
  .logo_container img { max-width: 150px; top: -2px; }
  .fixed-termin-btn { padding: 12px 28px; font-weight: bold; }
  .header-actions { gap: 14px; }
  .header-instagram-icon { width: 36px; height: 36px; }
  #et_search_icon { width: 36px; height: 36px; }
  #top-menu.nav li { margin: 0 16px; }
}
/* 2. Desktop (1280px – 1479px) */
@media (max-width: 1479px) and (min-width: 1281px) {
  .et_menu_container { padding: 0 40px; gap: 18px; }
  .logo_container img { max-width: 150px; top: -2px; }
  .fixed-termin-btn { padding: 12px 28px; font-weight: bold; }
  .header-actions { gap: 12px; }
  .header-instagram-icon { width: 32px; height: 32px; }
  .header-instagram-icon img { width: 16px; height: 16px; }
  #et_search_icon { width: 32px; height: 32px; }
  #et_search_icon img { width: 16px; height: 16px; }
  #top-menu.nav li { margin: 0 12px; }
}
/* 3. Kleiner Desktop/Tablet quer (1100px – 1280px) */
@media (max-width: 1280px) and (min-width: 1101px) {
  .et_menu_container { padding: 0 40px; gap: 16px; }
  .logo_container img { max-width: 85px; top: -2px; }
  .fixed-termin-btn { padding: 8px 12px; font-weight: 600; }
  .header-actions { gap: 10px; }
  .header-instagram-icon { width: 30px; height: 30px; }
  .header-instagram-icon img { width: 15px; height: 15px; }
  #et_search_icon { width: 30px; height: 30px; }
  #et_search_icon img { width: 15px; height: 15px; }
  #top-menu.nav li { margin: 0 8px; }
}
/* 4. Tablet (991px – 1100px) */
@media (max-width: 1100px) and (min-width: 991px) {
  .et_menu_container { padding: 0 40px; gap: 14px; }
  .logo_container img { max-width: 70px; top: -2px; }
  .fixed-termin-btn { padding: 8px 12px; font-weight: 600; font-size: 0.8rem;}
  .header-actions { gap: 8px; }
  .header-instagram-icon { width: 28px; height: 28px; }
  .header-instagram-icon img { width: 14px; height: 14px; }
  #et_search_icon { width: 28px; height: 28px; }
  #et_search_icon img { width: 14px; height: 14px; }
  #top-menu.nav li { margin: 0 4px; }
}
/* 5. Mobile & Tablet hochkant (bis 990px) */
@media (max-width: 990px) {
  .et_menu_container { padding: 0 20px; gap: 12px; }
  .logo_container img { max-width: 60px; top: -2px; }
  .fixed-termin-btn { display: none; }
  .header-instagram-icon img { width: 16px; height: 16px; }
  #et_search_icon { width: 32px; height: 32px; }
  #et_search_icon img { width: 16px; height: 16px; }
  #top-menu.nav { flex-direction: column; }
}
@media (max-width: 980px) {
	.et_pb_section.danke-site.et_section_regular.et_pb_section_first {
    padding-top: 75px !important;
}
  .et_pb_section.et_pb_section_0.detail-hero.et_pb_with_background.et_section_regular.et_pb_section_first {
    margin-top: 71px !important;
}
	img.bild-vollebreite, img.bild-halfbreite {
    width: 100%;
}
  .logo_container {
    text-align: center;
  }
  .et_header_style_left #et-top-navigation .mobile_menu_bar {
    padding-bottom: 0px;
}
.behandlung-header-text-top .et_pb_text_inner {
  display: block !important;
}
.footer-widget {
  display: flex !important;
  flex-direction: column !important;
}
#footer-widgets .footer-widget .fwidget {
  padding: 0px !important;
  border-left: none !important;
}
.yt-video-short-title .et_pb_text_inner {
  display: block !important;
}
.yt-video-short-title .stories-btn {
  margin-left: 0px !important;
  margin-top: 0px !important;
}
}
.et_search_outer {
  top: 0%;
}
.et_close_search_field:after {
  color: #fff !important;
  top: 5px;
  position: relative;
  left: 1px;
}
input.et-search-field {
  height: 60%;
}
body:not(.home) .et_non_fixed_nav.et_fullwidth_nav.et_header_style_left .logo_container {
  background-color: #f3eeea;
}
/* Hero Design */
/* HERO: Klassisch, zentriert, vertikal & horizontal mittig, Headline weiß */
@media (min-width: 981px) {
  .et_non_fixed_nav.et_fullwidth_nav.et_header_style_left .logo_container {
    padding-left: 5%;
    padding-right: 5%;
    padding-bottom: 1%;
    padding-top: 1%;
  }
  body:not(.home) .et_non_fixed_nav.et_fullwidth_nav.et_header_style_left .logo_container {
    background-color: #f3eeea;
  }
#footer-widgets .fwidget {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 0 6rem;
  gap: 30px;
}
div#block-29 {
  padding-bottom: 140px !important;
}
div#block-33 {
padding-bottom: 50px !important;
}

.yt-video-short-title .stories-btn {
  margin-left: 40px;
  margin-bottom: 20px;
}
}

.doctors-section .doctors-main-btn:first-of-type {
  margin-top: 20px !important;
}

.doctors-section .doctors-main-btn:nth-of-type(2) {
  margin-top: 20px !important;
}

.hero-content.hero-classic {
  position: absolute;
  top: 40vH;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-align: center;
  gap: 6px;
  width: 100vw;
  max-width: 100vw;
  z-index: 2;
  pointer-events: none;
}
.hero-content.hero-classic * { pointer-events: auto; }
.hero-content.hero-classic .hero-headline {
  display: flex;
  align-items: center;
  gap: 15px;
  justify-content: center;
}
.hero-content.hero-classic .hero-headline h1 {
  font-family: var(--font-headline);
  font-weight: 400;
  color: var(--color-white) !important;
  font-size: 2.6rem;
  letter-spacing: 0.02em;
  margin: 0;
  text-shadow: 0 2px 16px rgba(43,43,43,0.18);
}
.hero-content.hero-classic .hero-line {
  display: inline-block;
  width: 48px;
  height: 1.5px;
  background: rgba(255,255,255,0.18);
}
.hero-content.hero-classic .hero-subline {
  color: #fff;
}
.hero-content.hero-classic .hero-button {
  margin-top: 18px;
  background: var(--color-bg-bottom);
  color: var(--color-black);
  border-radius: var(--border-radius);
  padding: 15px 36px;
  font-family: 'Quicksand';
  font-weight: 600;
  font-size: 16px;
  box-shadow: 0 4px 16px rgba(175,136,119,0.18), 0 1.5px 6px rgba(43,43,43,0.10);
}
.hero-content.hero-classic .hero-button:hover {
  background: #d2b6aa;
}


@media (max-width: 1480px) {
  .usps-start ul {
    width: 80%;
}
}
@media (max-width: 900px) {
  .hero-content.hero-classic .hero-line { width: 32px; }
  .hero-content.hero-classic { gap: 16px; }
  a.glink.nturl.notranslate.gt-current-lang {
    margin-left: 3px;
  }
  a.glink {
    text-decoration: none;
    margin-left: 3px;
  }
  header#main-header {
    background-color: #f3eeea !important;
}
}

@media (max-width: 600px) {
  .hero-content.hero-classic {
    padding: 0 10vw;
  }
  .hero-content.hero-classic .hero-line { width: 18px; }
  .hero-content.hero-classic .hero-button { padding: 10px 18px; }
}
.centered-benefit-text {
  text-align: center;
}
.centered-benefit-text p {
  margin: 0 auto;
  max-width: 70%;
}
.centered-benefit-text h2, .centered-benefit-text h3 {
  position: relative;
  margin-bottom: 24px;
  font-weight: 400;
}

.centered-benefit-text h3::before {
  content: '';
  position: absolute;
  top: -16px;
  left: 50%;  
  transform: translateX(-50%); 
  width: 70%;  
  height: 1px;
  background: linear-gradient(to right, transparent, var(--color-accent-light), transparent);  /* Gradient von beiden Seiten */
}
.centered-benefit-text-little {
  text-align: center;
}
.centered-benefit-text-little h2 {
  position: relative;
  margin-bottom: 0px;
  padding-top: 0px;
  padding-bottom: 4px;
  font-size: 1.6rem;
  color: var(--color-accent);
}
.centered-benefit-text-little h3 {
  position: relative;
  margin-bottom: 12px;
  padding-top: 0px;
  font-size: 2.6rem;
}

/* 16:9-Box für den Player */
.yt-16by9 .et_pb_video_box {
  position: relative;
  aspect-ratio: 16 / 9;
  width: 100%;
  overflow: hidden;
}

.quickfacts-tablepress br {
  display: none;
}
#page-container .et_pb_section.et_pb_section_0.blogblock {
  padding-top: 30px !important;
}
/* iFrame füllt die Box */
.yt-16by9 .et_pb_video_box iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
}

/* --- Responsives Video innerhalb der FAQ --- */
.faq-vidwrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 30px;
  overflow: hidden;
  margin: 20px 0 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.faq-vidwrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
/* Nur für den Hero-Bereich - spezifische Selektoren */
.et_pb_section.et_pb_section_0.detail-hero {
  background-image: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.et_pb_section.et_pb_section_0.detail-hero .et_pb_row.et_pb_row_0 {
  margin: 0 auto !important;
  padding: 145px 0px 80px 0px !important;
  position: relative !important;
  z-index: 3 !important;
}
.et_pb_section.et_pb_section_0.detail-hero .et_pb_column.et_pb_column_4_4.et_pb_column_0 {
  margin: 0 !important;
  padding: 0 !important;
}
.et_pb_section.et_pb_section_0.detail-hero .et_pb_module.et_pb_text.et_pb_text_0 {
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
}
.et_pb_section.et_pb_section_0.detail-hero .et_pb_module.et_pb_text.et_pb_text_1.et_pb_text_align_left.et_pb_bg_layout_light {
  margin: 0 0 30px 0 !important;
  padding: 0 !important;
}
.et_pb_section.et_pb_section_0.detail-hero .et_pb_module.et_pb_text.et_pb_text_2 {
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 767px) {
.et_pb_section.et_pb_section_0.detail-hero .et_pb_row.et_pb_row_0 {
  margin: 0 auto !important;
  padding: 120px 0px 60px 0px !important;
  position: relative !important;
  z-index: 3 !important;
}
}
.faq-q .qtext {
  min-width: 0;
  line-height: 1.5;
  font-family: 'Quicksand';
}

.faq-a {
  margin-bottom: 20px;
  font-family: 'Quicksand';
}

.faq-q .chev {
  stroke: #b48a78 !important;
  fill: none;
  stroke-width: 2;
  transition: transform 0.3s ease;
}

/* Platz für den Pfeil schaffen */
/* Jeder Button ist die Positionierungs-Referenz */
.faq-list .faq-q {
  position: relative !important;
  display: block;
  width: 100%;
  padding-right: 2.5rem; /* Platz für den Pfeil */
}
li:not(.et_hover) > ul.sub-menu {
  pointer-events: none;
}
/* Pfeil rechts (geschlossen: zeigt nach rechts) */
.faq-list .faq-q::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid #b48a78;
  border-bottom: 2px solid #b48a78;
  transform: translateY(-50%) rotate(-45deg); /* ">" */
  transition: transform 0.3s ease;
  pointer-events: none;
}
.search .detail-hero .et_pb_row {
  width: 90%;
}
.search .entry-content {
  width: 90%;
  margin: 0 auto;
}
.search .kontakt-row {
  width: 90%;
  margin: 0 auto;
  padding: 2% 0 !important;
}
/* Offen: Pfeil nach unten (im Uhrzeigersinn gedreht) */
.faq-list .faq-q[aria-expanded="true"]::after {
  transform: translateY(-50%) rotate(45deg); /* "v" */
}

/* Falls ein vorhandenes .chev-Icon verwendet wird, ausblenden */
.faq-list .faq-q .chev { display: none; }

/* Focus Outline für FAQ Buttons - nur bei Tab-Navigation */
.faq-q:focus-visible {
  outline: 0px solid #AB6446 !important;
  outline-offset: 0px !important;
  background-color: rgba(171, 100, 70, 0.1) !important;
}

.faq-q:focus:not(:focus-visible) {
  outline: none !important;
  background-color: transparent !important;
}

/* Behandlung Cards  */
/* Behandlung Cards: Modernes Grid wie im Beispiel  */
.behandlung-card-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px;
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.7) 15%,
    rgba(0,0,0,0.4) 40%,
    rgba(0,0,0,0.15) 80%,
    rgba(0,0,0,0.01) 100%
  );
  z-index: 1;
  margin-bottom: 0px !important;
  border-bottom-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
}
.behandlung-card-title {
  font-size: 1.9rem !important;
  margin-bottom: 5px;
  color: var(--color-white) !important;
  letter-spacing: 0.02em;
  font-weight: bold;
}
.behandlung-card-btn {
  display: inline-block;
  background: var(--color-accent);
  color: var(--color-white);
  font-family: 'Quicksand';
  font-weight: 600;
  border-radius: 32px;
  padding: 12px 28px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 16px rgba(175,136,119,0.18);
  font-size: 1rem;
  letter-spacing: 0.02em;
  border: 1px solid transparent;
}
.doctors-main-btn:hover,
.reviews-main-btn:hover,
.blog-main-btn:hover,
.praxis-main-btn:hover,
.doctors-main-btn--filled:hover,
.behandlungsspektrum-btn-outline:hover,
.behandlung-card-btn:hover, .testimonials-header .et_pb_text_inner .testimonials-btn:hover {
  background: #fff !important;
  color: #b08879 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  transform: translateY(-1px);
}

h3.doctors-headline {
  line-height: 1.5;
}

.et_pb_gutters3 .et_pb_column_4_4 .et_pb_blog_grid .column.size-1of3, .et_pb_gutters3.et_pb_row .et_pb_column_4_4 .et_pb_blog_grid .column.size-1of3 {
  width: 100%;
  margin-right: 0 !important;
}

/* Nur Headline in nicht aktiven Cards anzeigen */
/* Headline kleiner in nicht aktiven Cards */
/* Optional: Subline und Button beim Hover auf nicht aktiven Cards anzeigen (nur Desktop) */
/* RICHTIGE Regel für .behandlungsspektrum-btn-outline - gilt NUR auf der Startseite (.home) */
/* Mit brauner Farbe (var(--color-accent)) */
.home .behandlungsspektrum-btn-outline {
  display: inline-block;
  background: var(--color-accent);
  color: var(--color-white);
  font-family: 'Quicksand';
  font-weight: 600;
  border-radius: 32px;
  padding: 12px 28px;
  text-decoration: none;
  transition: background 0.2s;
  box-shadow: 0 4px 16px rgba(175, 136, 119, 0.18);
  font-size: 1rem;
  letter-spacing: 0.02em;
  border: 1px solid #b08879;
}
.headline-accent-brown {
  color: var(--color-accent);
  font-weight: var(--fw-regular);
}
/* ============ DOCTORS SECTION ============ */
/* Doctors Section Container */
.doctors-section {
  border: 1px solid var(--color-accent);
  border-radius: var(--border-radius);
  padding-bottom: 20px !important;
  margin: 4% 5% 0 5%;
  background-color: var(--color-bg-bottom);
  padding-top: 20px !important;
}

.kontakt-section {
  border: 1px solid var(--color-accent);
  border-radius: var(--border-radius);
  margin: 4% 5% 4% 5%;
  background-color: var(--color-bg-bottom);
}

/* Doctors Info (Header, leírás, fő gomb) */
.doctors-info {
  max-width: 600px;
  margin-bottom: 0px;
}
.doctors-headline {
  margin-bottom: 0px;
}
.doctors-desc {
  color: var(--color-grey);
  line-height: 1.7;
  margin-bottom: 25px;
  margin-top: 25px;
  font-size: 15px;
  padding-right: 15px;
}
.single-post #main-content .container {
  padding-top: 0px !important;
}
.doctors-main-btn {
  display: inline-flex;
  align-items: center;
  padding: 14px 28px;
  background: transparent;
  border: 1px solid var(--color-accent);
  border-radius: 32px;
  color: var(--color-accent);
  font-family: 'Quicksand';
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  width: 250px;
  flex-direction: column;
}

.reviews-main-btn {
  display: inline-flex;
  align-items: center;
  padding: 14px 28px;
  background: transparent;
  border: 1px solid var(--color-accent);
  border-radius: 32px;
  color: var(--color-accent);
  font-family: 'Quicksand';
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: all 0.3s ease;
  position: relative;
  margin-top: 15px;
  overflow: hidden;
  width: 250px;
  flex-direction: column;
}

.faq-a {
  color: black !important;
}

.ytp-cued-thumbnail-overlay-image {
  background-size: contain !important;
  -webkit-background-size: contain !important;
}

.blog-btn-group {
  display: flex;
  gap: 10px;          /* Abstand zwischen den Buttons */
  flex-wrap: wrap;    /* falls auf kleinen Screens kein Platz ist */
}

.praxis-btn-group {
  display: flex;
  gap: 10px;
  justify-content: center;
}
.praxis-main-btn {
  display: inline-flex;
  align-items: center;
  padding: 14px 28px;
  background: transparent;
  border: 1px solid var(--color-accent);
  border-radius: 32px;
  color: var(--color-accent);
  font-family: 'Quicksand';
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  width: 250px;
  flex-direction: column;
  justify-content: center;
}
.blog-main-btn {
  display: inline-flex;
  align-items: center;
  padding: 14px 28px;
  background: transparent;
  border: 1px solid var(--color-accent);
  border-radius: 32px;
  color: var(--color-accent);
  font-family: 'Quicksand';
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  width: 250px;
  flex-direction: column;
  justify-content: center;
}

/* Filled variant */
.doctors-main-btn--filled {
  background: var(--color-accent);
  color: var(--color-white);
  border-color: var(--color-accent);
}
.blog-main-btn--filled {
  background: var(--color-accent) !important;
  color: var(--color-white) !important;
  border-color: var(--color-accent) !important;
}
.praxis-main-btn--filled {
  background: var(--color-accent) !important;
  color: var(--color-white) !important;
  border-color: var(--color-accent) !important;
}
input, textarea {
  caret-color: #9b9998;
}
/* Doctors Cards Wrapper */
.doctors-cards-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin: 0px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.doctors-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  overflow: hidden;
  justify-content: flex-end;
}
/* Slider-Layout aktiv, wenn JS den Wrapper markiert */
.doctors-cards-wrapper.is-slider .doctors-cards {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Fallback/Grundstil für den bewegten Track (wird via JS erzeugt) */
.doctors-track {
  display: flex;
  gap: 24px; /* wird durch JS ggf. überschrieben */
  will-change: transform;
  transition: transform 450ms cubic-bezier(0.4, 0, 0.2, 1);
  transform: translate3d(0, 0, 0);
  width: max-content; /* nur so breit wie nötig */
}
/* Doctor Card */
.doctor-card {
  position: relative;
  background: var(--color-white);
  border-radius: var(--border-radius);
  overflow: hidden;
  transition: all 0.3s ease;
  cursor: pointer;
  max-width: 100%;
}
/* .doctor-card:hover removed */
/* Audio Button (Play Button) - UNTER TEXT + MITTE */
.doctor-audio-btn {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 44px;
  background: var(--color-accent);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 2;
  border: 1px solid #b08879;
}
/* Audio Waves - Links */
.doctor-audio-btn::before {
  content: '';
  position: absolute;
  left: -30px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-image: url('/wp-content/uploads/2025/07/audio-waves-left.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
/* Audio Waves - Rechts */
.doctor-audio-btn::after {
  content: '';
  position: absolute;
  right: -30px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-image: url('/wp-content/uploads/2025/07/audio-waves-right.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.doctor-audio-btn:hover {
  background: var(--color-accent-light);
}
.doctor-audio-btn img {
  width: 15px;
  height: 15px;
}
/* Doctor Image */
.doctor-image {
  width: 100%;
  height: min(280px, 60vw); /* skaliert auf kleineren Screens mit */
  overflow: hidden;
  position: relative;
}
.doctor-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
/* .doctor-card:hover .doctor-image img removed */
/* Doctor Info */
.doctor-info {
  padding: 24px;
  padding-bottom: 0px;
  position: relative;
  background: var(--color-bg-linen);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  min-height: 225px;
  height: 100% !important;
}
span.mobile_menu_bar.mobile_menu_bar_toggle {
  padding-bottom: 0px !important;
}
.doctor-name {
  font-family: var(--font-headline);
  font-weight: var(--fw-regular);
  font-size: 18px;
  color: #767575;
  margin-bottom: 8px;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.doctor-expertise-label {
  font-family: 'Quicksand';
  font-weight: var(--fw-regular);
  font-size: 15px;
  color: var(--color-accent);
  margin-bottom: 6px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.doctor-specialty {
  font-size: 15px;
  color: var(--color-grey);
  line-height: 1.4;
  font-family: 'Quicksand';
}
/* Doctor More Button (Right Arrow Circle) - JETZT OBEN */
.doctor-more-btn {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 48px;
  height: 48px;
  background: var(--color-accent);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}
.doctor-more-btn:hover {
  background: var(--color-bg-linen);
}
.doctor-more-btn:hover img {
  filter: brightness(0) saturate(100%) invert(64%) sepia(18%) saturate(364%) hue-rotate(334deg) brightness(92%) contrast(88%);
  transform: rotate(0deg);
}
.doctor-more-btn img {
  width: 18px;
  height: 18px;
  transform: rotate(-45deg);
  transition: all 0.3s ease;
  filter: brightness(0) invert(1);
}

.behandlung-more-btn {
  position: absolute;
  bottom: 0px;
  right: 0px;
  width: 48px;
  height: 48px;
  background: var(--color-bg-linen);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}
.behandlung-more-btn:hover {
  background: var(--color-accent);
}
.behandlung-more-btn:hover img {
  filter: brightness(0) invert(1);
  transform: rotate(0deg);
}
.behandlung-more-btn img {
  width: 18px;
  height: 18px;
  transform: rotate(-45deg);
  transition: all 0.3s ease;
  filter: brightness(0) saturate(100%) invert(64%) sepia(18%) saturate(364%) hue-rotate(334deg) brightness(92%) contrast(88%);
}
/* Navigation Container */
.doctors-nav-container {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
  margin-top: 6px;
  flex-shrink: 0;
}

/* Counter Container */
.doctors-counter-container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  margin-bottom: 20px;
}

.doctors-counter {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: var(--font-headline);
  font-weight: var(--fw-regular);
  font-size: 14px;
  color: var(--color-grey);
}

.doctors-counter-number {
  color: var(--color-accent);
  font-weight: var(--fw-regular);
  font-size: 16px;
}

.doctors-counter-dots {
  display: flex;
  gap: 8px;
  align-items: center;
}

.doctors-counter-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--color-bg-greige);
  transition: all 0.3s ease;
  cursor: pointer;
}

.doctors-counter-dot.active {
  background: var(--color-accent);
  transform: scale(1.2);
}

/* Alternative: Progress Bar Style Counter */
.doctors-counter-progress {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 200px;
}

.doctors-counter-progress-text {
  font-family: var(--font-headline);
  font-weight: var(--fw-regular);
  font-size: 14px;
  color: var(--color-grey);
  white-space: nowrap;
}

.doctors-counter-progress-bar {
  flex: 1;
  height: 3px;
  background: var(--color-bg-greige);
  border-radius: 2px;
  overflow: hidden;
  position: relative;
}

.doctors-counter-progress-fill {
  height: 100%;
  background: var(--color-accent);
  border-radius: 2px;
  transition: width 0.4s ease;
  width: 50%; /* Wird über JavaScript gesteuert */
}
/* Navigation Buttons */
.doctors-nav {
  width: 40px;
  height: 40px;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  flex-shrink: 0;
}
.doctors-nav-prev {
  background: transparent;
  border: 1px solid var(--color-accent); 
  color: var(--color-accent);
  border-radius: 20px 0 0 20px;
}
.doctors-nav-next {
  background: var(--color-accent);
  border-radius: 0 20px 20px 0;
  border: 1px solid #b08879;
}
.doctors-nav:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.doctors-nav-prev:hover {
  background: var(--color-bg-oat);
}
.doctors-nav-next:hover {
  background: var(--color-accent-light);
}
.doctors-nav-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.doctors-nav img {
  width: 23px;
  height: 23px;
}
/* Responsive Design */
@media (max-width: 1200px) {
  .doctors-cards {
    gap: 20px;
  }
  
  .doctors-cards-wrapper {
    gap: 28px;
  }
  
  .doctor-image {
    height: 240px;
  }
}
@media (max-width: 1024px) {
  .doctors-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media (max-width: 900px) {
  .doctors-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  
  .doctors-cards-wrapper {
    gap: 24px;
  }
  
  .doctors-nav {
    width: 36px;
    height: 36px;
  }
  
  .doctors-nav-prev {
    border-radius: 16px 0 0 16px;
  }
  
  .doctors-nav-next {
    border-radius: 0 16px 16px 0;
  }
  
  .doctors-nav img {
    width: 16px;
    height: 16px;
  }
  
  .doctor-image {
    height: 200px;
  }
  
  .doctor-info {
    padding: 20px;
    padding-bottom: 20px;
  }
}
@media (max-width: 600px) {
  .doctors-cards {
    grid-template-columns: 1fr;
  }
  
  .doctors-cards-wrapper {
    gap: 24px;
  }
  
  .doctors-nav-container {
    justify-content: center;
  }
  
  .doctors-nav {
    width: 32px;
    height: 32px;
  }
  
  .doctors-nav-prev {
    border-radius: 16px 0 0 16px;
  }
  
  .doctors-nav-next {
    border-radius: 0 16px 16px 0;
  }
  
  .doctors-nav img {
    width: 14px;
    height: 14px;
  }
  
  .doctor-image {
    height: 280px;
  }
  
  /* Counter responsive Anpassungen */
  .doctors-counter-progress {
    width: 150px;
  }
  
  .doctors-counter-progress-text {
    font-size: 12px;
  }
  
  .doctors-counter {
    font-size: 12px;
    gap: 8px;
  }
  
  .doctors-counter-number {
    font-size: 14px;
  }
}
/* Bottom Navigation (optional extra buttons) */
.doctors-section-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 32px;
}
/* Blog Box  */
.et_pb_image_container {
  margin: 0px;
}
#offcanvas_menu_inner .sub-menu li > a {
  background-color: #b09990 !important;
}
#offcanvas_container #offcanvas_menu_inner > li.menu-item > ul.sub-menu > li.menu-item-has-children {
  background: #f2eee9;
}
#offcanvas_container #offcanvas_menu_inner > li.menu-item > ul.sub-menu > li > ul.sub-menu > li.menu-item-has-children {
  background: #f2eee9;
}
#offcanvas_menu_inner ul.sub-menu.sub-active {
  margin-left: 0px !important;
}
#offcanvas_container #offcanvas_menu_inner .sub-menu > li > a {
  padding-left: 10px !important;
}
#offcanvas_container #offcanvas_menu_inner .sub-menu > li > a {
  padding-left: 10px !important;
  font-family: Arial;
  font-size: 13.5px;
  padding: 10px;
}
.blog-row-box h2 {
  margin-bottom: 0px;
}
.et_pb_post {
  margin-bottom: 0px !important;
}
.et_pb_blog_grid .et_pb_post {
  background-color: #ffffff00;
  border: none !important;
}
.et_pb_post {
  border-radius: 0px !important;
}
.et_pb_blog_grid .et_pb_image_container img {
  border-radius: 15px;
}
.et_pb_blog_grid .et_pb_post {
  padding: 3px;
}
.et_pb_blog_grid h2 {
  font-size: 18px;
  margin-left: 0 auto !important;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 22px !important;
  margin-bottom: 0px;
}
a.entry-featured-image-url {
  margin-bottom: 15px !important;
}
.more-link {
  display: inline-flex;
  align-items: center;
  padding: 14px 28px;
  background: transparent;
  border: 1px solid var(--color-accent);
  border-radius: 32px;
  color: var(--color-accent);
  font-family: 'Quicksand';
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  margin-top: 25px;
}

.more-link:hover {    
  background: #fff;
  color: #b08879;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  transform: translateY(-1px);
}

/* Testimonials Section  */
.testimonials-header .et_pb_text_inner {
  text-align: center;
}
.testimonials-header .et_pb_text_inner h2 {
  position: relative;
  margin-bottom: 0px;
  padding-top: 0px;
  padding-bottom: 4px;
  font-size: 1.6rem;
  color: var(--color-accent) !important;
}
.testimonials-header .et_pb_text_inner h3 {
  position: relative;
  margin-bottom: 24px;
  padding-top: 0px;
  font-size: 2.6rem;
}
/* Button styled like .doctors-main-btn */
.testimonials-header .et_pb_text_inner .testimonials-btn {
  display: inline-block;
  background: var(--color-accent);
  color: var(--color-white);
  font-family: 'Quicksand';
  font-weight: 600;
  border-radius: 32px;
  padding: 14px 28px;
  text-decoration: none;
  transition: background 0.2s;
  box-shadow: 0 4px 16px rgba(175, 136, 119, 0.18);
  font-size: 1rem;
  letter-spacing: 0.02em;
  border: 1px solid #b08879;
}
.testimonials-container .et_pb_text_inner {
  position: relative;
  max-width: 720px; 
  margin: 40px auto 0 auto; 
}
.testimonials-container .et_pb_text_inner > p:empty {
  display: none;
}
.testimonials-container .et_pb_text_inner .testimonial-item {
  display: none;
}
.testimonials-container .et_pb_text_inner .testimonial-item.active {
  display: block;
  background: var(--color-white);
  border-radius: var(--border-radius);
  padding: 48px 40px;
  box-shadow: 
    0 8px 20px rgba(43, 43, 43, 0.0),
    0 12px 30px rgba(43, 43, 43, 0.06);
  position: relative;
  text-align: center;
  animation: fadeIn 0.5s ease-in-out;
}
.testimonials-container .et_pb_text_inner .testimonial-item.active::before {
  content: '';
  background-image: url(/wp-content/uploads/2025/06/right.svg);
  background-size: 100% 100%;
  width: 40px;
  height: 40px;
  opacity: 0.7;
  position: absolute;
  top: 30px;
  left: 40px;
  z-index: 0;
}
.testimonials-container .et_pb_text_inner .testimonial-content {
  position: relative;
}
.testimonials-container .et_pb_text_inner .testimonial-content p {
  line-height: 1.7;
}
.testimonials-container .et_pb_text_inner .testimonial-author {
  padding-top: 28px;
  border-top: 1px solid var(--color-bg-cream);
  font-family: var(--font-headline);
  font-weight: var(--fw-regular);
  font-size: 1rem;
  color: var(--color-accent);
  max-width: 75%;
  margin: 32px auto 0px;
}
.testimonials-container .et_pb_text_inner .testimonials-nav {
  position: absolute;
  top: 45%;
  left: -100px;
  width: calc(100% + 200px);
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

.testimonials-container .et_pb_text_inner .testimonials-nav button {
  border: 1px solid var(--color-bg-greige);
  background: transparent;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  font-size: 24px;
  color: var(--color-accent);
  cursor: pointer;
  transition: all 0.3s ease;
  pointer-events: auto;
}
.testimonials-container .et_pb_text_inner .testimonials-nav button:hover {
  background: var(--color-accent);
  color: var(--color-white);
  border-color: var(--color-accent);
}
.testimonials-container .et_pb_text_inner .testimonials-nav br {
  display: none;
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
/* YT Video Short  */
.yt-video-short .fluid-width-video-wrapper {
  min-height: 500px;
}
.yt-video-short-title .et_pb_text_inner h2 {
  position: relative;
  margin-bottom: 0px;
  padding-top: 0px;
  padding-bottom: 4px;
  font-size: 1.6rem;
  color: var(--color-accent) !important;
}
.yt-video-short-title .et_pb_text_inner h3 {
  position: relative;
  margin-bottom: 24px;
  padding-top: 0px;
  font-size: 2.6rem;
}
.yt-video-short-title .et_pb_text_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.yt-video-short-title .et_pb_text_inner .title-wrap {
  flex: 1;
}
.yt-video-short-title .stories-btn {
  composes: doctors-main-btn;
  margin-left: 40px;
}
/* Video Grid Verfeinerungen */
.yt-video-short-row {
  gap: 24px;
  margin-top: 40px;
}
/* Einzelne Video-Container */
.yt-video-short {
  border-radius: var(--border-radius);
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(43,43,43,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.yt-video-short:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(175,136,119,0.12);
}
/* Video Overlay Styling */
.yt-video-short .et_pb_video_overlay {
  border-radius: var(--border-radius);
}
.yt-video-short .et_pb_video_play {
  width: 80px;
  height: 80px;
  background: rgba(255,255,255,0.92);
  border-radius: 50%;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(175,136,119,0.15);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 
    0 4px 24px rgba(43,43,43,0.12),
    0 2px 8px rgba(175,136,119,0.08);
}
.yt-video-short .et_pb_video_play:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 55%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 0 12px 18px;
  border-color: transparent transparent transparent var(--color-accent);
  transition: border-color 0.3s ease;
}
.yt-video-short .et_pb_video_play:hover {
  transform: scale(1.05);
  background: rgba(255,255,255,0.96);
  box-shadow: 
    0 8px 32px rgba(175,136,119,0.18),
    0 4px 12px rgba(175,136,119,0.12);
}
.yt-video-short .et_pb_video_play:hover:before {
  border-color: transparent transparent transparent var(--color-accent-light);
}
/* Video Beschriftungen */
.yt-video-short::after {
  content: attr(data-title);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px;
  background: linear-gradient(to top, rgba(43,43,43,0.8), transparent);
  color: var(--color-white);
  font-family: var(--font-headline);
  font-weight: var(--fw-light);
  font-size: 0.9rem;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.yt-video-short:hover::after {
  opacity: 1;
  transform: translateY(0);
}

/* ============ YouTube Shorts (9:16, responsive, zentriert) ============ */
.yt-short {
  position: relative;
  width: 100%;
  max-width: 420px; /* bei Bedarf 360–480px */
  aspect-ratio: 9 / 16;
  margin: 0 auto;
  border-radius: 16px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
.yt-short iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
  display: block;
  border-radius: inherit;
}
@media (max-width: 480px) {
  .yt-short { max-width: 100%; border-radius: 12px; }
}

/* Divi Video-Modul Variante: Modulklasse "is-short" zuweisen */
.is-short .et_pb_video_box {
  position: relative;
  width: min(100%, 420px);
  aspect-ratio: 9 / 16;
  margin: 0 auto;
  border-radius: 30px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
.is-short .et_pb_video_box iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
  border-radius: inherit;
}

/* FAQ: Zwei Shorts enger nebeneinander (nur Desktop) */
@media (min-width: 981px) {
  #faq .et_pb_row_9 {
    display: flex;
    gap: 16px; /* engerer Abstand */
    align-items: flex-start;
  }
  #faq .et_pb_row_9 .et_pb_column {
    float: none !important;            /* Divi-Floats neutralisieren */
    margin-right: 0 !important;        /* Standard-Gutter entfernen */
    width: calc(50% - 8px) !important; /* Platz für das gap berücksichtigen */
  }
}
.kontakt-content {
  display: flex;
  flex-wrap: nowrap;
}

.kontakt-left {
  flex: 1 1 55%;
}

.kontakt-right {
  flex: 1 1 35%;
  font-weight: 400;
}

.oeffnungszeiten h3 {
  margin-bottom: 0.5rem;
}

.oeffnungszeiten ul {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem 0;
}

.oeffnungszeiten li {
  margin-bottom: 0.3rem;
}

.kontakt-map {
  margin-top: 2rem;
}

.footer-widget {
  margin-bottom: 0 !important;
}

.footer-widget:last-of-type {
  display: none !important;
}

div#footer-widgets:after {
  display: none !important;
}

@media (max-width: 768px) {
  .et_pb_row.praxis-bild-text {
    width: 90%;
}
  .kontakt-content {
    flex-direction: column;
  }
  .et_pb_row.et_pb_row_9.praxis-carousel-row {
    padding-top: 40px !important;
}
.centered-benefit-text h2, .centered-benefit-text h3 {
  position: relative;
  margin-bottom: 15px;
  font-weight: 400;
  font-size: 18px;
}
.doctors-info h2 {
  font-size: 25px !important;
  padding-bottom: 0px !important;
}
div#kontaktueberuns-row {
  padding-top: 10px;
  padding-bottom: 10px;
}
.anderebehandlungen .et_pb_row .et_pb_column {
  width: 100%;
  margin-right: 0px;
  margin-bottom: 10px;
}
.et_pb_section.et_pb_section_6.blog-section.et_pb_with_background.et_section_regular {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
.et_pb_section.et_pb_section_5.video-section.et_pb_with_background.et_section_regular {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
.et_pb_section.et_pb_section_4.testimonials-section.et_pb_with_background.et_section_regular {
  padding-top: 40px;
  padding-bottom: 40px !important;
}
}
/* Formular Styling */
.wpcf7-form {
  display: flex;
  flex-direction: column;
}

.review-track { will-change: transform; }

.wpcf7-form p {
  margin: 0;
}
.wpcf7-form label {
  display: block;
  font-family: var(--font-headline);
  font-weight: var(--fw-regular);
  font-size: 0.9rem;
  color: var(--color-accent);
  margin-bottom: -10px;
  letter-spacing: 0.02em;
}
.wpcf7-form .wpcf7-form-control:not(.wpcf7-acceptance) {
  width: 100%;
  padding: 10px 24px;
  border: 1px solid var(--color-bg-greige);
  border-radius: var(--border-radius);
  background: var(--color-bg-linen);
  font-family: var(--font-body);
  font-weight: var(--fw-light);
  font-size: 1rem;
  color: var(--color-black);
  transition: all 0.2s;
}
/* Separates Styling für die Checkbox */
.wpcf7-form .wpcf7-acceptance {
    display: inline-block;
    margin: 0;
}
.wpcf7-form .wpcf7-form-control:focus {
  outline: none;
  border-color: var(--color-accent-light);
  background: var(--color-white);
  box-shadow: 0 4px 12px rgba(175, 136, 119, 0.08);
}
/* Select Styling */
.wpcf7-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23af8877' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 24px center;
  cursor: pointer;
}
/* Textarea Styling */
.wpcf7-textarea {
  min-height: 160px;
  resize: vertical;
}

/* Checkbox Styling */
.wpcf7-acceptance {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.wpcf7-acceptance input[type="checkbox"] {
  appearance: none;
  width: 24px;
  height: 24px;
  border: 1px solid var(--color-bg-greige);
  border-radius: 6px;
  background: var(--color-bg-linen);
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  top: 9px;
}
.wpcf7-acceptance input[type="checkbox"]:checked {
  background: var(--color-accent);
  border-color: var(--color-accent);
}
.wpcf7-acceptance input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}
.wpcf7-acceptance .wpcf7-list-item-label {
  font-family: var(--font-body);
  font-weight: var(--fw-light);
  font-size: 0.9rem;
  color: var(--color-grey);
}
.wpcf7-acceptance .wpcf7-list-item-label a {
  color: var(--color-accent);
  text-decoration: none;
}
.wpcf7-acceptance .wpcf7-list-item-label a:hover {
  color: var(--color-accent);
}
.wpcf7-list-item {
  margin: 0 0 2em 0em;
}
/* Submit Button */
.wpcf7-submit {
  background: var(--color-accent) !important;
  color: var(--color-white) !important;
  font-family: 'Quicksand' !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  letter-spacing: 0.02em !important;
  padding: 16px 36px !important;
  border: 1px solid #cab1a6;
  border-radius: var(--border-radius) !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 16px rgba(175, 136, 119, 0.18) !important;
  width: auto !important;
  align-self: flex-start !important;
  margin-top: 15px;
}
.wpcf7-submit:hover {
  background: var(--color-accent-light) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(175, 136, 119, 0.25) !important;
  border: 1px solid #cab1a6;
}
.wpcf7-submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
/* Sternchen Info */
.sternchen {
  font-family: var(--font-body);
  font-weight: var(--fw-light);
  font-size: 0.85rem;
  color: var(--color-grey);
  margin-top: -8px;
}
/* Response Output */
.wpcf7-response-output {
  margin: 32px 0 0 0 !important;
  padding: 16px 24px !important;
  border-radius: var(--border-radius) !important;
  font-family: var(--font-body) !important;
  font-weight: var(--fw-light) !important;
  font-size: 0.9rem !important;
}
/* Spinner */
.wpcf7-spinner {
  position: absolute;
  margin-left: 16px;
}
/* Responsive Anpassungen */
@media (max-width: 980px) {
  .usps-start ul {
    width: 100%;
}
  .bilder-arzt ul#logo-neu img, .bilder-arzt ul#logo-neue img {
    height: 250px;
}
  .kontakt-header {
    margin-bottom: 0px;
}
  .kontakt-info h2 {
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
  }
  .kontakt-item {
    margin-bottom: 0px;
    padding: 2px 0 2px 40px;
  }
  .kontakt-links {
    margin-top: 0px;
  }
 
  .kontakt-map {
    margin-top: 10px !important;
  }
  .kontakt-item.location-icon {
    padding-bottom: 0px !important;
  }
  .page-template-page-uebersicht .et_pb_column {
    margin-bottom: 10px !important;
  }

  .oeffnungszeiten table {
    margin-bottom: 0px !important;
    border: 0px !important;
  }
 .kontakt-item::before {
   top: 53%;
   width: 22px;
  }
  .entry-content tr td {
    padding: 2px 0px !important;
}
.kontakt-map {
  height: 100% !important;
  margin-top: 30px !important;
}
#footer-widgets .footer-widget h3 {
  margin-bottom: 0px !important;
  padding-bottom: 0px !important;
}
.wpcf7-form {
  margin-top: 30px;
}
  .kontakt-row {
    padding: 10px !important;
}
.blog-box .column.size-1of2 {
  width: 100% !important;
}
.detail-hero h1 {
  font-weight: bold;
  padding-bottom: 0px;
}
.et_pb_section.et_pb_section_0.detail-hero .et_pb_module.et_pb_text.et_pb_text_1.et_pb_text_align_left.et_pb_bg_layout_light {
  margin-bottom: 10px !important;
}
.et_pb_column_1_4 span.et_pb_image_wrap {
  width: 100%;
}
.et_pb_column_1_4 .et_pb_image img {
  object-fit: cover !important;
  max-height: 300px !important;
  width: 100% !important;
}
/* div#voraussetzungen.et_pb_section,
.brownbox.et_pb_section,
div#bewertungen.et_pb_section,
div#gruende.et_pb_section,
div#kosten.et_pb_section,
div#risiken.et_pb_section,
div#nachsorge.et_pb_section,
.anderebehandlungen.et_pb_section,
.et_pb_section.weiterebehandlungen,
.et_pb_section.anderebehandlungen,
.et_pb_section.bildtextblock {
  padding-top: 0px !important;
} */
.et_pb_section {
  padding-top: 30px !important;
  padding-bottom: 0px !important;
}
.et_pb_section.ankerpunkte,div#ueberblick.et_pb_section {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}
.et_pb_section.zahlungsmethoden {
  margin-top: 30px !important;
}
.page-id-2213 #page-container #ueberblick,.page-id-6577 .et_pb_section_first {
  padding-top: 30px !important;
}
h2.h1 {
  padding-bottom: 4px !important;
  margin-bottom: 0px;
}
.single-post h1 {
  font-size: 30px;
}
/* div#fakten.et_pb_section{
  padding-top: 30px !important;
  padding-bottom: 30px !important;
} */
#faq .et_pb_row {
  padding-bottom: 0px !important;
}
#experten.et_pb_section .et_pb_row {
  padding-bottom: 0px !important;
}
.et_pb_section.beginnedeinereise, .et_pb_section.beginnedeinereise-cta {
  padding-bottom: 30px !important;
  margin: 30px 0px 0px 0px !important;
}
div#kontakt {
  padding-bottom: 30px !important;
}
.et_pb_section.mitglieder-section {
  padding-top: 0px !important;
}
.blog-page .et_pb_ajax_pagination_container {
  grid-template-columns: 1fr;
  gap: 10px !important;
}
div#ratenrechner.et_pb_section,.et_pb_row.face-row {
  padding-bottom: 0px;
}
div#ratenrechner {
  padding-top: 0px !important;
}
.et_pb_section.anderebehandlungen {
  padding-bottom: 20px !important;
}
.kontakt-row .et_pb_column:first-child {
  margin-bottom: 0px;
}
.kontakt-section {
  margin-top: 30px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  margin-bottom: 30px !important;
}
.et_pb_section.geprueftdeb {
  padding-bottom: 30px !important;
  margin-top: 30px !important;
}
.quickfacts-row .et_pb_row {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}
#footer-widgets .footer-widget:nth-last-child(-n+2) {
  width: 100% !important;
  margin-bottom: 30px !important;
}
#page-container #main-footer .footer-widget {
  margin-bottom: 15px !important;
}
.footer-copyright-wrapper {
  width: 100%;
}
#footer-widgets .footer-widget .fwidget {
  margin-bottom: 10px !important;
}
#main-footer .footer-widget {
  margin-bottom: 30px !important;
}
h2.heading {
  padding-bottom: 4px;
}
h2 {
  font-size: 25px !important;
}
.faq-video .et_pb_column {
  margin-bottom: 10px;
}
#voraussetzungen .et_pb_module.et_pb_text:first-child {
  padding: 32px 24px !important;
  margin-bottom: 10px !important;
}
#kosten .et_pb_column.et_pb_column_1_4 {
  margin-bottom: 10px;
}
.anchor-nav {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  padding-bottom: 15px;
  justify-content: flex-start;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
  gap: 10px;
  position: relative;
  padding-left: 5px;
  padding-right: 5px;
  /* dezenter Scroll-Hinweis (Kanten-Fade) */
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}

.anchor-nav::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}

.anchor-nav br {
  display: none;
}

.anchor-nav .anchor-link {
  flex: 0 0 auto;
  white-space: nowrap;
}

/* Optionaler Indikator für Scrollbarkeit */
.slider-indicator {
  text-align: center;
  margin-top: 8px;
  height: 4px;
}

.slider-indicator span {
  display: inline-block;
  width: 40px;
  height: 4px;
  background-color: rgba(176, 136, 121, 0.3);
  border-radius: 2px;
}
.et_pb_text ul {
  padding-bottom: 0px;
}
.anderebehandlungen .et_pb_row .et_pb_column {
  width: 49.25%;
  margin-right: 1.5%;
  margin-bottom: 15px !important;
}
.beginnedeinereise-cta {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}
#nachsorge .et_pb_module.et_pb_text:has(.eyelid-heading) {
  padding: 32px 24px !important;
  margin-bottom: 10px !important;
}
.brownbox .et_pb_text {
  padding: 32px 24px !important;
  margin-bottom: 0px !important;
}
button.leistungen-grid-main-btn {
  margin-top: 5px !important;
}
.leistungen-row .et_pb_module.et_pb_image {
  margin-bottom: 0px;
}
.leistungen-row .et_pb_column.image-overlay-wrapper {
  margin-bottom: 10px;
  width: 31%;
  margin-right: 3%;
}
.leistungen-row .overlay-text h2 {
  font-size: 18px !important;
  margin-bottom: 0px;
  padding-bottom: 0px;
}
.et_pb_section.deinereise {
  padding-bottom: 30px !important;
  margin-top: 30px;
}
.quickfacts-tablepress .tablepress tbody tr {
  margin-bottom: 10px !important;
}
.geprueftdeb .et_pb_image {
  max-width: 200px;
  margin-left: 0px;
  float: left;
}
.et_pb_section.et_pb_section_0.detail-hero .et_pb_module.et_pb_text.et_pb_text_0 {
  margin: 0 0 10px 0 !important;
}
.beginnedeinereise-cta h2.heading {
  padding-bottom: 15px;
}
.et_pb_section.et_pb_section_0.detail-hero .et_pb_row.et_pb_row_0 {
  padding: 95px 0px 30px 0px !important;
}
div#experten.et_pb_section {
  padding-top: 30px;
}
#experten .et_pb_column.et_pb_column_1_3 {
  margin-bottom: 10px !important;
  width: 30%;
  margin-right: 4%;
}
#page-container .des-so-buttons {
  padding: 10px 0px 0px 0px !important;
}
#experten .et_pb_image {
  margin-bottom: 10px !important;
}
#experten .doc-titel {
  margin-bottom: 0px !important;
}

.hero-btn-group, .termin-btn-group, .stepfinder-actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0px !important;
  flex-direction: row !important;
}
.termin-btn-group,.hero-btn-group {
  gap: 5px !important;
}
div#finanzierung.et_pb_section {
  margin-top: 30px;
  padding-bottom: 30px !important;
}
div#behandlungen {
  margin-top: 30px;
  padding-bottom: 30px !important;
}
  .heading-primary {
    font-size: 2.2rem;
  }
  .kontakt-header {
    margin-bottom: 10px !important;
}  
.kontakt-item {
  margin-bottom: 5px !important;
}
  .wpcf7-form {
    margin-top: 40px;
  }
}
@media (max-width: 850px) {
  #experten .et_pb_column.et_pb_column_1_3 {
    width: 45%;
    margin-right: 5%;
    margin-bottom: 20px;
}
}
@media (max-width: 767px) {
  
  .heading-primary {
    font-size: 1.8rem;
  }
  
  .anderebehandlungen .et_pb_row .et_pb_column {
    width: 100%;
    margin-right: 0% !important;
}
.leistungen-row .et_pb_column.image-overlay-wrapper {
  margin-bottom: 10px;
  width: 100% !important;
  margin-right: 0% !important;
}
.leistungen-row .overlay-text h2 {
  font-size: 25px !important;
}
  .wpcf7-submit {
    width: 100% !important;
  }
}
/* Formular Layout */

.form-group {
  margin-bottom: 12px;
}
/* Spaltenbreiten */
.form-row .col-half {
  width: 50%;
  margin-bottom: 10px !important;
}
/* Responsive Anpassungen */
@media (max-width: 980px) and (min-width: 768px) {
  .form-row {
    display: flex;
    gap: 10px;
  }
}
@media (max-width: 767px) {
  
  .form-row .col-half {
    width: 100%;
  }
  .kontakt-section .et_pb_column.et_pb_column_1_2.et_pb_column_36.et_pb_css_mix_blend_mode_passthrough {
    margin-bottom: 0px !important;
}
}
.wpcf7-form .form-group:has(#your-message),
.wpcf7-form .form-group:has([name="your-message"]) {
  margin-bottom: 0;
}
/* Kontakt Info Styling */
.entry-content tr td {
  border-top: 0px solid #eee;
  padding: 6px 0px;
  font-family: 'Quicksand';
  font-weight: 400;
  color: #767575;
  font-size: 16px;
  text-decoration: none;
  /* margin-bottom: 24px !important; */
  line-height: 1.5;
  transition: color 0.2s;
}

.kontakt-item {
    display: flex;
    align-items: center;
    position: relative;
    margin-bottom: 25px;
    padding: 6px 0 6px 40px;
}
.kontakt-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.phone-icon::before {
    background-image: url('/wp-content/uploads/2025/06/phone.svg');
}
.email-icon::before {
    background-image: url('/wp-content/uploads/2025/06/email.svg');
}
.location-icon::before {
    background-image: url('/wp-content/uploads/2025/06/location.svg');
}
.kontakt-item a, .kontakt-item p, .address-content {
  font-family: 'Quicksand';
  font-weight: var(--fw-light);
  font-size: 16px;
  color: #767575 !important;
  text-decoration: none;
  margin: 0;
  line-height: 1.5;
  transition: color 0.2s;
  font-weight: 400;
}
.kontakt-item a:hover {
    color: var(--color-accent);
}
.kontakt-map {
  margin-top: 40px;
  border-radius: var(--border-radius);
  overflow: hidden;
  position: relative;
  box-shadow: 0 8px 32px rgba(43,43,43,0.08);
  height: 20rem;
}
.kontakt-map iframe {
    display: block;
    width: 100%;
    height: 450px;
    border: none;
    filter: grayscale(0.4);
    transition: filter 0.3s ease;
}
.kontakt-map iframe:hover {
    filter: grayscale(0);
}
@media (max-width: 767px) {
    .kontakt-map iframe {
        height: 300px;
    }
}
/* Responsive Anpassungen */
@media (max-width: 980px) {
    .heading-primary {
        font-size: 2.2rem;
    }
}
@media (max-width: 767px) {
    .kontakt-header {
        margin-bottom: 24px;
    }
    .heading-primary {
        font-size: 1.8rem;
    }
    .kontakt-item {
        margin-bottom: 20px;
    }
}
@media (max-width:580px) {
	img.easer {
    width: 110px;
}
  .doctors-main-btn {
    width: 100% !important;
}
	    .detail-hero h1 {
        font-size: 28px;
    }
  .one-half-container {
    flex-direction: column;
}
.usps-start ul {
  flex-direction: column;
}
  img.google-rating__logo {
    height: auto !important;
}
.usps-start li {
  margin: 0;
  margin-bottom: 35px;
}
.usps-start ul:before {
  display: none;
}
.anker-preis .one-half {
  padding-bottom: 25px;
}
  .detail-hero img {
    height: 550px;
}
.google-rating {
  padding-bottom: 9px;
  padding-top: 6px;
}
img.google-rating__logo {
  width: 42px;
  margin-right: 0px;
}
.hero-unter-text strong {
  display: none;
}
  .bilder-praxis .et_pb_row {
    width: 100%;
}
.et_pb_row.praxis-bild-text .et_pb_text_inner {
  width: 90%;
  margin: 0 auto;
}
  .bilder-arzt ul#logo-neu img, .bilder-arzt ul#logo-neue img {
    height: 215px;
}
}
/* Footer Mitgliedschaften Section  */
footer nav a {
  display: block !important;
  margin: 0.3rem 0 !important;
  text-decoration: none !important;
}
.mitgliedschaften {
  background-color: #f2eee9;
  padding-bottom: 75px;
  padding-top: 75px;
}

.home .mitgliedschaften {
  background-color: #f2eee9;
  padding-bottom: 4%;
  padding-top: 0px;
}

/* Mitgliedschaften Carousel – CSS Marquee */
.mitgliedschaften .mitgliedschaften-slides-wrapper {
  display: flex;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  will-change: transform;
  animation: mitgliedschaften-marquee var(--mitgliedschaften-duration, 60s) linear infinite;
}

.mitgliedschaften .mitgliedschaften-slide {
  flex: 0 0 auto;
  margin: 0 20px;
}

.mitgliedschaften:hover .mitgliedschaften-slides-wrapper {
  animation-play-state: paused;
}

@keyframes mitgliedschaften-marquee {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(calc(-1 * var(--mitgliedschaften-distance, 100%)), 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mitgliedschaften .mitgliedschaften-slides-wrapper {
    animation: none;
    transform: none;
  }
}
/* --- Layout/Abstände im Slider --- */
.footer-mitgliedschaften-section .mitgliedschaften-slides-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 50px !important;
}

/* Jede Slide mittig ausrichten */
.footer-mitgliedschaften-section .mitgliedschaften-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* --- Gemeinsame Kartenbasis --- */
.footer-mitgliedschaften-section .rating-card {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 14px;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 2px 10px rgba(0,0,0,.08);
  background: #fff;
  transition: transform .15s ease, box-shadow .15s ease;
}

.footer-mitgliedschaften-section .rating-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

/* Logo-Größe */
.footer-mitgliedschaften-section .rating-card .rating-logo {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
}

/* Textblock */
.footer-mitgliedschaften-section .rating-card .rating-text {
  display: flex;
  grid-template-columns: auto;
  align-items: center;
  line-height: 1.2;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  flex-wrap: wrap;
  flex-direction: column;
}

.footer-mitgliedschaften-section .rating-card .rating-title {
  font-weight: 600;
  font-size: 15px;
  color: #28323b;
}

/* Wert + Sterne in einer Zeile */
.footer-mitgliedschaften-section .rating-card .rating-score {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}

.footer-mitgliedschaften-section .rating-card .rating-value {
  font-size: 15px;
  font-weight: 600;
  color: #2c3e50;
}

/* Text-Sterne wie im Screenshot */
.footer-mitgliedschaften-section .rating-card .rating-stars {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 2px;          /* Abstand zwischen Sternen */
  transform: translateY(-1px);  /* optische Zentrierung */
  color: #fbbc05;               /* Google-Gelb */
}

/* --- Varianten --- */

/* Google-Kachel bleibt hell (Basis-Stile reichen) */
.footer-mitgliedschaften-section .rating-card--google {
  border: 1px solid #d2b6aa;
}

img.proven-rating-logo {
  width: 110px !important;
}
.footer-mitgliedschaften-section img[alt*="VDÄPC"] {
  height: 140px !important;
}

.footer-mitgliedschaften-section img[alt*="DGPRÄC"] {
  height: 140px !important;
}

.footer-mitgliedschaften-section .rating-card {
  max-width: 100%;
  box-sizing: border-box;
}

.footer-mitgliedschaften-section .rating-card .rating-text {
  min-width: 0;               /* erlaubt flexibles Shrinken */
  word-wrap: break-word;      /* bricht lange Wörter */
  overflow-wrap: break-word;  /* moderne Alternative */
  white-space: normal;        /* kein "nowrap" */
}

/* Speziell für Proven Expert */
.footer-mitgliedschaften-section .rating-card--provenexpert {    /* Logo oben, Text darunter auf kleineren Screens */
  align-items: center;
  text-align: center;
}

/* Ab einer gewissen Breite wieder nebeneinander */
@media (min-width: 600px) {
  .footer-mitgliedschaften-section .rating-card--provenexpert {
    flex-direction: row;
    text-align: left;
  }
}

/* ProvenExpert: dunkle Kachel */
.footer-mitgliedschaften-section .rating-card--provenexpert {
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
  border: none;
  box-shadow: 0 2px 10px rgba(0,0,0,.18);
  border-radius: 16px;
  padding: 14px 18px;
  border: 1px solid #d2b6aa;
}
.footer-widget:last-of-type {
  display: none;
}
.footer-mitgliedschaften-section .rating-card--provenexpert .rating-title {
  color: #313a43;
  font-weight: 700;
}

.footer-mitgliedschaften-section .rating-card--provenexpert .rating-score, .footer-mitgliedschaften-section .rating-card--provenexpert .rating-value, .footer-mitgliedschaften-section .rating-card--provenexpert .rating-sub, .footer-mitgliedschaften-section .rating-card--provenexpert .rating-tagline {
  color: #333c45;
}

.footer-mitgliedschaften-section .rating-card--provenexpert .rating-sub {
  font-size: 13px;
  margin-top: 2px;
  opacity: .9;
}

.footer-mitgliedschaften-section .rating-card--provenexpert .rating-tagline {
  font-size: 12px;
  opacity: .8;
  margin-top: 2px;
}

/* Logo in der dunklen Karte etwas größer für Balance */
.footer-mitgliedschaften-section .rating-card--provenexpert .rating-logo {
  width: 30px;
  height: 30px;
}
.footer-mitgliedschaften-section .mitgliedschaften-slide img {
  height: 90px;         /* feste Höhe für Logos */
  width: auto;          /* Breite passt sich proportional an */
  object-fit: contain;  /* falls SVG/PNG unterschiedliche Proportionen haben */
  display: block;
}

/* Ausnahme: Google & ProvenExpert sollen NICHT skaliert werden */
.footer-mitgliedschaften-section .rating-card .rating-logo {
  height: auto;
  width: 28px;          /* bleibt bei der kleineren Icon-Größe */
  flex: 0 0 auto;
}

/* --- Responsive Feintuning --- */
@media (max-width: 900px) {
  .footer-mitgliedschaften-section .mitgliedschaften-slides-wrapper { gap: 28px; }
  .footer-mitgliedschaften-section .rating-card { padding: 10px 14px; }
  .footer-mitgliedschaften-section .rating-card .rating-logo { width: 26px; height: 26px; }
}

@media (max-width: 600px) {
  .footer-mitgliedschaften-section .rating-card { gap: 10px; }
  .footer-mitgliedschaften-section .rating-card .rating-title { font-size: 14px; }
  .footer-mitgliedschaften-section .rating-card .rating-value { font-size: 14px; }
  .footer-mitgliedschaften-section .rating-card .rating-stars { font-size: 15px; letter-spacing: 1.5px; }
}
#footer-widgets {
  padding-top: 0px;
}
#footer-widgets .footer-widget li:before {
display: none !important;
}
#footer-widgets .fwidget + .fwidget {
  border-left: 1px solid #ddd; /* Trennlinie */
}
.et_pb_gutters3.et_pb_footer_columns3 .footer-widget .fwidget {
  margin-bottom: 0% !important;
}
use {
  fill: #ab9044 !important;
}
.wp-gr .wp-google-wr a {
  background: #b08879 !important;
}
.wp-gr .wp-google-rating {
  color: #ab9044 !important;
}
.wp-gr .wp-google-based, .wp-gr .wp-google-powered {
  color: var(--head-based-color,#555)!important;
  font-family: 'Quicksand' !important;
}
.footer-address {
  font-style: normal; /* damit <address> nicht kursiv ist */
  margin-bottom: 1.5rem;
}

.footer-address strong {
  display: block;
  margin-bottom: 0.3rem;
}
.wp-google-name {
  display: none !important;
}
.wp-google-left img {
  display: none !important;
}
.wp-gr {
  padding-bottom: 0px !important;
}

/* Footer Contact Links  */

/* ===== Footer Socials ===== */
.footer-social {
  /* passe diesen Wert ggf. deiner Footer-Typografie an */
  font-family: inherit;
  color: var(--footer-text, #8b7a72);
}

.footer-social__title {
  margin: 0 0 1rem 0;
  font-size: clamp(1.05rem, 0.9rem + 0.5vw, 1.25rem);
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--footer-heading, #8b7a72);
}

.footer-social__list {
  --btn-size: 44px;                /* Kreisgröße */
  --icon-size: 20px;               /* reine Icongröße */
  --tone: #bfa89f;                 /* warmes Braun (Kontur & Icon) */
  --tone-strong: #a98f85;          /* Hover-Farbe */
  --ring: rgba(175, 149, 139, .35);
  --bg: #f6f1ea;                   /* sehr helles Beige, wie im Screenshot */

  display: flex;
  justify-content: center;         /* zentriert die Icons horizontal */
  align-items: center;             /* vertikal sauber ausrichten */
  flex-wrap: wrap;                 /* bricht bei Bedarf um */
  gap: 0.6rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.footer-social__item { /* reserviert – falls nötig */ }

.footer-social__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: var(--btn-size);
  height: var(--btn-size);
  border-radius: 999px;
  border: 1px solid var(--tone);
  color: var(--tone); /* falls SVGs currentColor nutzen */

  text-decoration: none;
  outline: none;

  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
  will-change: transform;
}

.footer-social__link:hover,
.footer-social__link:focus-visible {
  border-color: var(--tone-strong);
  transform: translateY(-1px);
  box-shadow: 0 2px 10px var(--ring), 0 0 0 4px color-mix(in oklab, var(--ring) 60%, transparent);
}

.footer-social__link:active {
  transform: translateY(0);
  box-shadow: 0 1px 6px var(--ring);
}

.footer-social__icon {
  width: var(--icon-size);
  height: var(--icon-size);
  display: block;
  /* Wenn deine SVGs bereits eingefärbt sind, ist kein Filter nötig.
     Falls sie schwarz sind und du sie einfärben willst, kannst du optional:
     filter: invert(41%) sepia(12%) saturate(500%) hue-rotate(330deg) brightness(92%) contrast(88%);
  */
  pointer-events: none;
}

/* Kompakter auf sehr kleinen Screens */
@media (max-width: 420px) {
  .footer-social__list {
    --btn-size: 40px;
    --icon-size: 18px;
    gap: 0.5rem;
  }
}

/* Respektiere reduzierte Animationen */
@media (prefers-reduced-motion: reduce) {
  .footer-social__link {
    transition: none;
  }
}

/* Optional: Dark Mode Feintuning (falls dein Footer dunkel wird) */
@media (prefers-color-scheme: dark) {
  .footer-social__list {
    --bg: #2a2624;
    --tone: #d4c2bb;
    --tone-strong: #e0cfc8;
    --ring: rgba(212, 194, 187, .25);
  }
}
.footer-widget {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100% !important;
  position: relative;
  z-index: 999;
}
.footer-contact-links {
  display: flex;
  flex-direction: column;
}
.footer-link-item {
  margin-bottom: 10px;
}
.footer-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--color-grey);
  transition: all 0.3s ease;
  padding-left: 40px;
  position: relative;
}
.footer-link:hover {
  color: var(--color-accent);
}
.footer-icon {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}
.footer-link:hover .footer-icon {
  opacity: 1;
}
.footer-link.email-link .footer-icon {
  background-image: url('/wp-content/uploads/2025/06/email.svg');
}
.footer-link.phone-link .footer-icon {
  background-image: url('/wp-content/uploads/2025/06/phone.svg');
}
.footer-link.location-link .footer-icon {
  background-image: url('/wp-content/uploads/2025/06/location.svg');
}
.footer-link-text {
  font-family: 'Quicksand';
  font-size: 16px;
}
.footer-widget a {
  font-size: 16px;
  font-family: 'Quicksand';
}
div#c70184 {
  padding-top: 25px;
}
#pe_rating {
  text-align: left;
}
#main-footer {
  background: var(--color-bg-cream);
  color: var(--color-grey);
  padding: 4% 0 0;
}
#footer-widgets .footer-widget h3 {
  background: none;
  color: var(--color-accent);
  font-family: var(--font-headline);
  font-weight: 400;
  font-size: 1.45rem;
  padding-bottom: 0px;
  margin-bottom: 5px !important;
}
#footer-widgets .footer-widget li {
  padding-left: 0px !important;
}
.footer-widget .et_pb_widget div {
  line-height: 1.3 !important;
}
.footer-logo {
  text-align: center;
  margin-bottom: 30px;
}
#footer-bottom {
  background-color: var(--color-bg-linen);
  color: var(--color-black);
  padding: 20px 0;
  margin-top: 0px;
}
.footer-links a {
  color: var(--color-black);
  margin: 0 10px;
  transition: color 0.2s;
}
.footer-copyright-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  font-size: 0.875rem;
  flex-wrap: wrap;
  border-top: 1px solid var(--color-accent-light);
  margin-top: 20px;
}
.footer-links {
  text-align: right;
}
.footer-links a {
  color: var(--color-black);
  text-decoration: none;
  margin-left: 10px;
  transition: color 0.2s;
}
.footer-links a:hover {
  color: var(--color-accent);
  text-decoration: none;
}
div#footer-info {
  width: 100%;
}
#block-17 p, #block-11 p {
  color: var(--color-grey) !important;
  font-style: normal;
  font-size: 16px !important;
}
nav {
  font-family: 'Quicksand';
}
#block-11 td {
  padding-right: 50px;
}
#top-menu li {
  display: inline;
  font-size: 14px;
  padding-right: 22px;
}
.et_pb_row.et_pb_row_13.leistungen-beige.et_pb_gutters2.et_pb_row_4col {
  display: flex;
}
.et_pb_row.et_pb_row_14.leistungen-beige.et_pb_gutters2.et_pb_row_4col {
  display: flex;
}
.pe-richsnippets {
  border: 8px solid var(--color-white);
  padding: 15px;
  background-color: var(--color-bg-linen);
  border-radius: var(--border-radius);
  margin: 15px 0;
  transition: background-color 0.3s ease;
  box-shadow: 0 4px 16px rgba(175, 136, 119, 0.08);
}
.pe-richsnippets:hover {
  background-color: var(--color-bg-cream);
  box-shadow: 0 8px 24px rgba(175, 136, 119, 0.12);
}
#pe_rating {
  display: block;
  text-decoration: none;
}
#pe_stars {
  margin: 8px 0;
  display: block;
}
a#pe_rating {
  align-items: center;
  display: block;
}
div#block-17 {
  max-width: 288px;
}

.footer-widget:nth-child(2) {
  margin-bottom: 0;
}
/* Praxis Carousel  */
/* Section & Container Styles */
.praxis-carousel-section {
    padding: 0 !important;
    background: var(--color-bg-cream);
}
.praxis-carousel-row {
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
}
.praxis-carousel-column {
    padding: 0 !important;
}
/* Main Carousel Container */
.new-praxis-carousel {
    position: relative;
    width: 100%;
    height: 80vh;
    min-height: 600px;
    overflow: hidden;
}
/* Slides Container */
.praxis-slides-container {
    position: relative;
    width: 100%;
    height: 100%;
}
/* Individual Slides */
.praxis-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transform: scale(1.1);
    transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
}
.praxis-slide.active {
    opacity: 1;
    transform: scale(1);
    z-index: 2;
}
.praxis-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
/* Navigation Arrows */
.praxis-nav-arrows {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
}
.praxis-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: auto;
    backdrop-filter: blur(8px);
    transition: all 0.3s ease;
}
.praxis-arrow:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.35);
    transform: translateY(-50%) scale(1.1);
}
.praxis-prev {
    left: 40px;
}
.praxis-next {
    right: 40px;
}
.arrow-icon {
    display: block;
    width: 20px;
    height: 20px;
    border-top: 2px solid var(--color-white);
    border-right: 2px solid var(--color-white);
    transition: border-color 0.3s ease;
}

#top-menu .menu-item-has-children > a:first-child,
#et-secondary-nav .menu-item-has-children > a:first-child {
  padding-right: 0px !important;
}

.praxis-prev .arrow-icon {
    transform: rotate(-135deg);
    margin-left: 5px;
}
.praxis-next .arrow-icon {
    transform: rotate(45deg);
    margin-right: 5px;
}
/* Dot Navigation */
.praxis-dots {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    z-index: 10;
}
.praxis-dot {
    width: 12px;
    height: 12px;
    padding: 0;
    border: 1px solid var(--color-white);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    opacity: 0.6;
}
.praxis-dot.active {
    background: var(--color-white);
    opacity: 1;
    transform: scale(1.2);
}
.praxis-dot:hover {
    opacity: 1;
    transform: scale(1.1);
}
/* Progress Bar */
.praxis-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: rgba(255, 255, 255, 0.2);
    z-index: 10;
    overflow: hidden;
}
.praxis-progress-bar {
    height: 100%;
    width: 0;
    background: var(--color-white);
    transition: width 0.3s linear;
}
/* Responsive Adjustments */
@media (max-width: 1024px) {
    .new-praxis-carousel {
        height: 70vh;
    }
    
    .praxis-arrow {
        width: 50px;
        height: 50px;
    }
    
    .praxis-prev {
        left: 20px;
    }
    
    .praxis-next {
        right: 20px;
    }
}
@media (max-width: 768px) {
  .usps-start ul li h3 {
    font-size: 18px;
}
    .new-praxis-carousel {
        height: 60vh;
        min-height: 400px;
    }

    .hero-content.hero-classic .hero-headline h1 {
      font-size: 30px;
  }



.yt-video-short-title .et_pb_text_inner h3 {
  font-size: 32px !important;
}

.testimonials-header .et_pb_text_inner h3 {
  font-size: 32px !important;
}

.et_pb_post .entry-title a, .et_pb_post h2 a {
  font-size: 18px;
}

    .et_pb_column.et_pb_column_1_2.et_pb_column_34.et_pb_css_mix_blend_mode_passthrough {
      margin-bottom: 0px !important;
  }
    
    .praxis-arrow {
        width: 40px;
        height: 40px;
    }
    
    .arrow-icon {
        width: 16px;
        height: 16px;
    }
    
    .praxis-dots {
        bottom: 20px;
    }
    
    .praxis-dot {
        width: 10px;
        height: 10px;
    }
}
.behandlungen-column-startseite {
  background-size: cover;
  background-position: center;
  border-radius: var(--border-radius);
  position: relative;
  overflow: hidden;
  min-height: 400px;
  transition: transform 0.3s ease;
}
.behandlungen-column-startseite:hover {
  transform: scale(1.02);
}

.behandlungen-column-startseite {
  height: 100%;
  background-size: cover;
  background-position: center;
  border-radius: var(--border-radius);
  position: relative;
  overflow: hidden;
}
.behandlungen-image-startseite {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  margin-bottom: 0px !important;
}
.behandlungen-image-startseite img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
  min-height: 400px;
}
.behandlungen-image-startseite::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
  pointer-events: none;
}


.behandlung-header-text-top .et_pb_text_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  align-items: center;
}
.behandlung-header-text-top .headline-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.behandlung-header-text-top .headline-block h2 {
  margin: 0 0 0px 0;
  padding-bottom: 0px;
}

/* Review Carousel - zusätzliche Styles */
.review-slide .review-text {
  /* font-style: normal; */
  font-family: 'Quicksand';
  font-size: 16px;
}

/* ===== Header: Mobile/Tablet Layout (Burger links, Logo zentriert, IG+Lupe rechts) ===== */
@media (max-width: 990px) {
  /* Container als Bezugspunkt */
  #main-header .et_menu_container {
    position: relative;
    height: 70px;
  }

  /* Inline-Left-Padding am Top-Navigation für Mobile neutralisieren */
  #et-top-navigation {
    padding-left: 0 !important;
  }

  /* Desktop-Menü verbergen */
  #top-menu-nav {
    display: none !important;
  }

  /* Burger links platzieren, Label ausblenden */
  #et_mobile_nav_menu {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
  }
  #et_mobile_nav_menu .select_page {
    display: none !important;
  }
  #et_mobile_nav_menu .mobile_nav,
  #et_mobile_nav_menu .mobile_menu_bar {
    z-index: 4;
  }

  /* Logo mittig ausrichten */
  .logo_container {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: auto;
  }
  .logo_container img {
    max-height: 50px;
    max-width: 120px;
  }

  /* Icons rechts platzieren */
  .header-actions {
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
  }
  .fixed-termin-btn {
    display: none !important;
  }
  .header-instagram-icon img,
  #et_search_icon img {
    width: 20px;
    height: 20px;
  }
  #et_top_search {
    display: flex;
  }
}

@media (max-width: 480px) {
  .logo_container img {
    max-height: 44px;
    max-width: 100px;
  }
  #et_search_icon {
    width: 28px;
    height: 28px;
  }

  #et_search_icon img {
    width: 16px;
    height: 16px;
  }
  .header-instagram-icon img {
    width: 16px;
    height: 16px;
  }
}

/* Mobile: Icons beim Initial-Laden dunkel erzwingen, damit sie auf hellem Header sichtbar sind */
@media (max-width: 990px) {
  /* Auf der Startseite spezielle Behandlung */
  .home #main-header .header-instagram-icon img,
  .home #main-header #et_search_icon img {
    filter: brightness(0) saturate(100%) invert(13%) sepia(5%) saturate(1379%) hue-rotate(314deg) brightness(94%) contrast(88%) !important;
  }
}

/* Mobile: Logo dauerhaft schwarz (auch bei sticky) */
@media (max-width: 990px) {
  /* Auf der Startseite spezielle Behandlung */
  .home #main-header .logo_container img,
  .home #main-header.sticky-light .logo_container img {
    filter: brightness(0) saturate(100%) !important;
  }
}

/* ========================= Dropdown Menu ========================= */
/* Grundlegende Stile für das Submenü */
#top-menu .sub-menu {
  top: 100%;
  width: 1000px;
  background: #f2eee9 !important;
  border: 1px solid var(--color-bg-greige);
  border-bottom-right-radius: 20px;
  padding: 24px 28px;
  box-shadow: 0 20px 48px rgba(43,43,43,0.12);
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
  z-index: 100000;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px 60px;
  border-top: none;
  border-bottom-left-radius: 20px;
}

.et_fullwidth_nav.et_non_fixed_nav.et_header_style_left #top-menu>li:last-child>ul.sub-menu {
  right: auto;
}

/* Spezielle Regel für Menüs ohne Unterebenen (z.B. Preise) */
#top-menu > li > .sub-menu:not(:has(.menu-item-has-children)) {
  grid-template-columns: 1fr !important;
  width: 320px !important;
  gap: 8px !important;
}

#top-menu > li > .sub-menu:not(:has(.menu-item-has-children)) li a {
  font-size: 16px !important;
  font-weight: 500 !important;
  padding: 8px 0 !important;
}

#top-menu > li {
  position: static;
}

#top-menu li:hover > .sub-menu,
#top-menu li.menu-item-focused > .sub-menu {
  opacity: 1;
  visibility: visible;
}

#top-menu .sub-menu li {
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
}

/* Standard-Styling für alle Submenü-Einträge */
#top-menu .sub-menu li a {
  color: #2B2B2B !important;
  font-family: 'Quicksand';
  font-size: 14px;
  font-weight: var(--fw-regular);
  line-height: 1.4;
  padding: 3px 0;
  white-space: normal;
  display: block;
  text-transform: none !important;
}

/* Padding-bottom für letztes Element im Sub-Menü, damit bei Hover nichts abgeschnitten wird */
#top-menu > li > .sub-menu > li:last-child > a {
  padding-bottom: 10px !important;
}

/* Dritte Ebene (z.B. Oberlidstraffung) */
#top-menu > li > .sub-menu > li > .sub-menu > li > .sub-menu > li > a {
  font-weight: 400 !important;
  font-size: 14px !important;
  color: #2B2B2B !important;
}

/* Sicherstellen, dass die Submenü-Texte auf der Startseite auch schwarz sind */
.home #top-menu .sub-menu li a {
  color: #2B2B2B !important;
}

/* Überpunkte im Submenü (Brust, Körper, Gesicht) */
#top-menu > li > .sub-menu > li > a {
  color: #2B2B2B !important;
  font-family: 'Quicksand';
  font-size: 17px;
  padding: 0;
}
.review-carousel img.logo {
  width: 38px !important;
  height: 38px !important;
  margin-bottom: 11px;
}
.review-slide.active {
  transform: none !important;
}
/* Untermenüs innerhalb der Spalten - Erste Ebene sichtbar */
#top-menu > li > .sub-menu > li > .sub-menu {
  position: static;
  width: auto;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  box-shadow: none;
  opacity: 1;
  visibility: visible;
  transform: none;
  display: block;
}

.faq-item p {
  color: black !important;
}

/* Untermenüs innerhalb der Spalten - Dritte Ebene versteckt */
#top-menu > li > .sub-menu > li > .sub-menu > li > .sub-menu {
  position: static;
  width: auto;
  background: transparent;
  border: 0;
  padding: 5px;
  margin: 0px;
  margin-left: 15px;
  box-shadow: none;
  opacity: 0;
  max-height: 0;
  visibility: hidden;
  transform: none;
  display: block;
  overflow: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease, max-height 0.3s ease;
}

/* Zeige Submenü vom Submenü nur beim Hovern */
#top-menu .sub-menu .sub-menu li:hover > .sub-menu,
#top-menu .sub-menu .sub-menu li.menu-item-focused > .sub-menu {
  opacity: 1;
  visibility: visible;
  max-height: 200px;
}

/* Pfeil für ausklappbare Module - Standardmäßig ausblenden */
#top-menu .sub-menu li.menu-item-has-children > a:after {
  content: none;
}

/* Pfeil für Submenü im Submenü */
/* Submenü-Einträge (z.B. Augenlidstraffung) */
#top-menu > li > .sub-menu > li > .sub-menu > li > a {
  font-weight: 500 !important;
  font-size: 16px !important;
  color: #2B2B2B !important;
}

#top-menu > li > .sub-menu > li > .sub-menu > li > .sub-menu {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

#top-menu > li > .sub-menu > li > .sub-menu > li.menu-item-has-children > a:after {
  content: '\2192' !important; /* Rechter Pfeil → */
  display: inline-block !important;
  margin-left: 8px;
  font-size: 12px;
  font-weight: normal;
  position: static;
  opacity: 0.7;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform: rotate(0deg);
}

#top-menu > li > .sub-menu > li > .sub-menu > li.menu-item-has-children:hover > a:after {
  transform: rotate(90deg);
  opacity: 1;
}

/* Responsive Anpassungen */
@media (max-width: 1280px) {
  #top-menu .sub-menu {
    gap: 24px 28px;
    padding: 20px 24px;
    width: 900px;
  }
}

@media (max-width: 1100px) {
  #top-menu .sub-menu {
    grid-template-columns: 1fr 1fr;
    width: min(960px, calc(100vw - 48px));
  }
  
  #top-menu .sub-menu > li:first-child {
    grid-column: 1 / -1;
  }
}

/* Mobile-Menü Feinschliff wurde entfernt */

/* Dropdown: kompaktere vertikale Abstände */
#top-menu .sub-menu {
  width: 67vW;
  padding-top: 12px;
  padding-bottom: 20px;
  gap: 12px 60px;
  overflow: visible !important;
}

/* Dropdown: auf großen Screens 3 Spalten fr bessere Verteilung */
#top-menu .sub-menu {
  grid-template-columns: repeat(3, minmax(260px, 1fr));
}

#top-menu li li a {
  width: auto !important;
}

/* Gruppen�fcberschriften (1. Ebene im Mega-Men�fc) einzeilig halten */
#top-menu > li > .sub-menu > li > a {
  white-space: nowrap;
}

/* Popout (3. Ebene) oben/unten enger */
#top-menu > li > .sub-menu > li > .sub-menu > li > .sub-menu {
  padding-top: 0;
  padding-bottom: 0;
}

/* Links im Dropdown minimal enger */
#top-menu .sub-menu li a {
  padding: 2px 0;
}

/* Einrückung: Unterpunkte unter "Brust", "Körper", "Gesicht" leicht nach rechts */
#top-menu > li > .sub-menu > li > .sub-menu > li > a {
  padding-left: 12px;
}

/* Auch in den responsiven Breakpoints enger halten */
@media (max-width: 1280px) {
  #top-menu .sub-menu {
    padding-top: 12px;
    padding-bottom: 12px;
    gap: 0px;
    width: max-content !important;
}
}

/* Responsives Layout: 2/1 Karten */
@media (max-width: 1024px){
  :root{ --slides-per-view: 2; }
}
@media (max-width: 640px){
  :root{ --slides-per-view: 1; }
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; color: var(--text); font-family: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; background: #fff; }

.rating-carousel{ width: 100%; max-width: 1400px; margin-inline: auto; padding: clamp(16px, 2vw, 28px); }
.rc-header{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom: .5rem; }
.rc-header h2{ margin:0; font-size: clamp(1.2rem, 1.4rem + .6vw, 2rem); letter-spacing: .2px; }

.rc-controls{ display:flex; gap:.6rem; }
.rc-btn{
  appearance:none; border:none; background:var(--beige); color:var(--text);
  padding:.6rem .8rem; border-radius: 999px; cursor:pointer; box-shadow: 0 1px 2px rgba(0,0,0,.06) inset, 0 1px 2px rgba(0,0,0,.05);
}
.rc-btn:focus-visible{ outline: 3px solid #9ec5ff; outline-offset: 2px; }
.rc-btn:hover{ filter: brightness(.98); }

.rc-viewport{
  width:100%;
  overflow:hidden;
  position:relative;
  border-radius: calc(var(--card-radius) + 6px);
}
.rc-track{
  --spv: var(--slides-per-view);
  list-style:none; margin:0; padding:0;
  display:flex; gap: var(--gap);
  will-change: transform;
  transform: translate3d(0,0,0);
  transition: transform var(--duration) var(--easing);
}

/* Jede Karte hat 1/spv der Breite minus Gap-Ausgleich */
.rc-slide{
  flex: 0 0 calc((100% - (var(--gap) * (var(--spv) - 1))) / var(--spv));
  display:flex;
}
.rc-card{
  display:flex; flex-direction:column; gap:.7rem;
  width:100%;
  background: var(--beige);
  border: 2px solid transparent;
  border-radius: var(--card-radius);
  padding: clamp(14px, 1.3vw, 18px);
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
  transition: transform 280ms var(--easing), background-color 280ms var(--easing), border-color 280ms var(--easing), box-shadow 280ms var(--easing);
}

/* Aktive (mittlere) Karte */
.rc-slide.is-active .rc-card{
  background: var(--active-bg);
  border-color: var(--active-border);
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(0,0,0,.08);
}

.rc-stars{
  display:flex; align-items:center; gap:.4rem;
  font-size: 0; /* für saubere Inline-SVG-Lücke */
}
.rc-stars svg{ width:18px; height:18px; }
.rc-stars .score{
  font-size: .95rem; color: var(--text); margin-left:.3rem; font-weight: 600;
}

.rc-title{
  font-weight: 600; font-size: 1.05rem; line-height: 1.35; margin-top:.2rem;
}

.rc-excerpt{
  color: var(--text);
  line-height: 1.45;
  display:-webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

/* Mehr lesen Bereich */
.rc-more{
  border:0; margin:0; padding:0; background:none;
}
.rc-more details{
  background: none;
}
.rc-more summary{
  list-style:none; cursor:pointer; user-select:none;
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.25rem .5rem; border-radius: 999px;
  border: 1px solid #e6e0d4; background:#fff;
  font-size: .9rem;
}
.rc-more summary::-webkit-details-marker{ display:none; }
.rc-more [data-chevron]{ display:inline-block; transition: transform 220ms var(--easing); }
.rc-more details[open] [data-chevron]{ transform: rotate(180deg); }

.rc-more .content{
  margin-top:.55rem; color: var(--muted);
}

/* Fuß: Google + Name */
.rc-footer{
  margin-top:.8rem; display:flex; align-items:center; gap:.6rem; color: var(--muted);
}
.rc-footer .gmark{
  display:inline-flex; width:20px; height:20px; border-radius:4px; overflow:hidden;
}
.rc-sep{
  flex:0 0 1px; height:16px; background:#ddd; margin-inline:.25rem .4rem;
}

/* Progress-Bar (nur Deko für Auto-Play) */
.rc-progress{
  height:3px; background:#eee; border-radius: 999px; margin-top: .6rem; overflow:hidden;
}
.rc-progress-bar{
  height:100%; width:0%;
  background: linear-gradient(90deg, var(--accent), #34a853);
  transition: width calc(var(--duration) + 80ms) linear;
}

/* Reduzierte Bewegung */
@media (prefers-reduced-motion: reduce){
  .rc-track, .rc-card, .rc-more [data-chevron], .rc-progress-bar{
    transition: none !important;
  }
}

.expertise-wrapper {
  display: flex;
  gap: 20px; /* optionaler Abstand */
  align-items: stretch; /* sorgt für gleiche Höhe */
}

.expertise-wrapper > .et_pb_column {
  display: flex;
  flex-direction: column;
}

.expertise {
  flex: 1; /* verteilt gleiche Breite und Höhe */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background: #fff; /* Beispiel */
  padding: 20px;
  border-radius: 10px;
}

.claysen-booking-button#myButtonId, .claysen-plugin-scope .claysen-booking-button {
  display: none;
}

/* ========================= Finanzierung Akkordeons - Gleiche Höhe ========================= */
.finanz-akk {
  display: flex !important;
  align-items: stretch !important;
}

.finanz-akk .et_pb_column {
  display: flex !important;
  flex-direction: column !important;
}

.finanz-akk .akk {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Erste geöffnete Toggle nimmt den verfügbaren Raum ein */
.finanz-akk .et_pb_toggle_open {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.finanz-akk .et_pb_toggle_open .et_pb_toggle_content {
  flex: 1 !important;
}

/* Responsive Anpassung */
@media (max-width: 980px) {
  .et_pb_row.praxis-bild-text .et_pb_text_inner {
    padding-bottom: 40px;
}
  .finanz-akk {
    flex-direction: column !important;
  }
  
  .finanz-akk .akk {
    height: auto !important;
  }
}

/* ========================= TablePress Behandlungskosten Tabelle ========================= */
.tablepress {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
  border: none !important;
  font-family: var(--font-body) !important;
}

/* Tabellen-Wrapper */
.tablepress_wrapper {
  background: var(--color-white);
  border-radius: 10px;
  padding: 0;
  box-shadow: 0 8px 24px rgba(43, 43, 43, 0.08);
  border: 1px solid var(--color-bg-oat);
  overflow: hidden;
}

/* Header Styling */
.tablepress thead tr {
  background: var(--color-accent) !important;
}

.tablepress thead th {
  background: #b08879 !important;
  color: var(--color-white) !important;
  font-family: var(--font-headline) !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  padding: 20px 24px !important;
  text-align: left !important;
  border: none !important;
  letter-spacing: 0.02em;
}

.tablepress thead th:first-child {
  border-top-left-radius: 10px;
}

.tablepress thead th:last-child {
  border-top-right-radius: 10px;
}

/* Body Styling */
.tablepress tbody tr {
  background: var(--color-white) !important;
  transition: all 0.2s ease;
}

.tablepress tbody tr:hover {
  background: var(--color-bg-linen) !important;
}

.tablepress tbody tr:nth-child(even) {
  background: #fafaf9 !important;
}

.tablepress tbody tr:nth-child(even):hover {
  background: var(--color-bg-linen) !important;
}

.tablepress tbody td {
  padding: 18px 24px !important;
  color: var(--color-grey) !important;
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  border: none !important;
  border-bottom: 1px solid var(--color-bg-oat) !important;
}

/* Erste Spalte hervorheben */
.tablepress tbody td.column-1 {
  font-weight: 500 !important;
  color: var(--color-black) !important;
}

/* Zweite Spalte auch schwarz */
.tablepress tbody td.column-2 {
  font-weight: 500 !important;
  color: var(--color-black) !important;
}

/* Letzte Zeile ohne Border */
.tablepress tbody tr:last-child td {
  border-bottom: none !important;
}

.tablepress tbody tr:last-child td:first-child {
  border-bottom-left-radius: 10px;
}

.tablepress tbody tr:last-child td:last-child {
  border-bottom-right-radius: 10px;
}

/* Bearbeiten-Link */
.tablepress_wrapper + caption {
  margin-top: 16px !important;
  text-align: right !important;
}

.tablepress_wrapper + caption a {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  color: var(--color-accent) !important;
  text-decoration: none !important;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}

.tablepress_wrapper + caption a:hover {
  opacity: 1;
}

/* DataTables Elemente ausblenden/anpassen */
.tablepress_wrapper .dataTables_length,
.tablepress_wrapper .dataTables_filter,
.tablepress_wrapper .dataTables_info,
.tablepress_wrapper .dataTables_paginate {
  display: none !important;
}

/* Responsive Anpassungen */
@media (max-width: 900px) {
  .tablepress_wrapper {
    padding: 24px;
    overflow-x: auto;
  }
  
  .tablepress thead th,
  .tablepress tbody td {
    padding: 14px 16px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 600px) {
  .tablepress_wrapper {
    padding: 20px;
  }
  
  .tablepress thead th {
    font-size: 14px !important;
    padding: 12px 14px !important;
  }
  
  .tablepress tbody td {
    padding: 12px 14px !important;
    font-size: 13px !important;
  }
  
  .tablepress tbody tr:hover {
    transform: none;
  }
}

/* ========================= Blog Übersicht (nur für blog-page) ========================= */
/* Blog Container */
.blog-page.et_pb_blog_0 {
  padding: 0 !important;
}

.blog-page .et_pb_ajax_pagination_container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 32px;
  margin-bottom: 0;
}

/* Blog Article Card */
.blog-page .et_pb_post {
  background: var(--color-white);
  border-radius: 30px !important;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(43, 43, 43, 0.06);
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid var(--color-bg-oat);
}

.blog-page .et_pb_post:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(43, 43, 43, 0.12);
}

/* Featured Image */
.blog-page .et_pb_post .entry-featured-image-url {
  display: block;
  width: 100%;
  height: 240px;
  overflow: hidden;
  position: relative;
}

.blog-page .et_pb_post .entry-featured-image-url img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.blog-page .et_pb_post:hover .entry-featured-image-url img {
  transform: scale(1.05);
}

/* Content Area */
.blog-page .et_pb_post .entry-title,
.blog-page .et_pb_post .post-meta,
.blog-page .et_pb_post .post-content {
  padding: 0 28px;
}

.blog-page .et_pb_post .entry-title a {
  font-family: var(--font-headline) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--color-black) !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
  display: block;
}

.blog-page .et_pb_post:hover .entry-title a {
  color: var(--color-accent) !important;
}

/* Meta Information */
.blog-page .et_pb_post .post-meta {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  color: #999 !important;
  margin-bottom: 16px;
  line-height: 1.6;
}

.blog-page .et_pb_post .post-meta a {
  color: #999 !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

.blog-page .et_pb_post .post-meta a:hover {
  color: var(--color-accent) !important;
}

/* Excerpt */
.blog-page .et_pb_post .post-content {
  margin-bottom: 24px;
  flex-grow: 1;
}

.blog-page .et_pb_post .post-content-inner {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  color: var(--color-grey) !important;
}

.blog-page .et_pb_post .post-content-inner p {
  margin: 0;
}

/* Pagination */
.blog-page .pagination {
  margin-top: 40px;
  padding: 30px 0 0 0;
  border-top: 1px solid var(--color-bg-oat);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.blog-page .pagination a {
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--color-black) !important;
  text-decoration: none !important;
  padding: 12px 24px;
  border: 1px solid var(--color-bg-greige);
  border-radius: 8px;
  transition: all 0.2s ease;
  background: var(--color-white);
}

.blog-page .pagination a:hover {
  background: var(--color-accent);
  color: var(--color-white) !important;
  border-color: var(--color-accent);
}

/* Pagination Clearfix Container fix */
.blog-page .pagination.clearfix {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  min-height: 0 !important;
}

.blog-page .pagination.clearfix .alignleft,
.blog-page .pagination.clearfix .alignright {
  display: none;
}

/* Tablepress Quick Facts (scoped to module .quickfacts-tablepress) */
.quickfacts-tablepress .tablepress tbody {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; /* Links ausrichten, verhindert Lücken bei 3/4-Spalten-Layouts */
}
.quickfacts-row .et_pb_row {
  width: 90%;
  max-width: 1920px !important;
  padding-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 0;
}
.quickfacts-tablepress .tablepress tbody tr {
  display: flex;
  flex-wrap: wrap;
  color: #FFFFFF !important;
  background-color: #cfb6a7 !important;
  border-radius: 30px 30px 30px 30px;
  overflow: hidden;
  border-width: 1px;
  border-color: RGBA(255, 255, 255, 0);
  padding-top: 40px !important;
  padding-right: 40px !important;
  padding-bottom: 40px !important;
  padding-left: 40px !important;
  margin-right: 2%;
  width: 23%;
  margin-bottom: 20px;
  position: relative;
}
.quickfacts-tablepress .tablepress tbody tr:nth-child(even):hover {
  background-color: #cfb6a7 !important;
}
.quickfacts-tablepress .tablepress td.column-3 {
  display: none;
}
.quickfacts-tablepress .tablepress tr td a {
  color: white;
  font-weight: bold;
}
.quickfacts-tablepress .tablepress tr td {
  width: 100%;
  border-bottom: none !important;
}
.quickfacts-tablepress .tablepress tr td {
  padding: 0px !important;
}

.quickfacts-tablepress .tablepress tbody td.column-1 {
  font-size: 24px !important;
  color: white !important;
  font-weight: bold !important;
}
.quickfacts-tablepress .tablepress td.column-2 {
  color: white !important;
}
.quickfacts-icon {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  object-fit: contain;
  pointer-events: none;
}

/* Überschrift nicht unter das Icon laufen lassen */
.quickfacts-tablepress .tablepress tbody tr > td.column-1 {
  padding-right: 80px !important; /* Platz für Icon rechts */
  overflow-wrap: break-word;      /* nur wenn nötig umbrechen */
  word-break: normal;             /* keine erzwungenen Trennungen */
  hyphens: auto;                  /* automatische Silbentrennung (lang=de) */
}

/* Responsive Design */
@media (max-width: 1200px) {
  .blog-page .et_pb_ajax_pagination_container {
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 28px;
  }
  
  .quickfacts-tablepress .tablepress tbody tr {
    width: 31%;
    margin-right: 2%;
  }
  
  /* Icon etwas kleiner und mehr Textplatz */
  .quickfacts-icon {
    width: 36px;
    height: 36px;
    top: 18px;
    right: 18px;
  }
  .quickfacts-tablepress .tablepress tbody tr > td.column-1 {
    padding-right: 72px !important;
    font-size: 23px !important; /* leichte Reduktion für schönere Umbrüche */
  }
}

@media (max-width: 900px) {
  .blog-page .et_pb_ajax_pagination_container {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  
  .blog-page .et_pb_post .entry-featured-image-url {
    height: 200px;
  }
  
  .blog-page .et_pb_post .entry-title a {
    font-size: 18px !important;
  }
  
  .quickfacts-tablepress .tablepress tbody tr {
    width: 48%;
    margin-right: 4%;
  }
  /* Icon nochmals kleiner, Text bekommt mehr Platz */
  .quickfacts-icon {
    width: 32px;
    height: 32px;
    top: 16px;
    right: 16px;
  }
  .quickfacts-tablepress .tablepress tbody tr > td.column-1 {
    padding-right: 64px !important;
    font-size: 22px !important;
  }
}

@media (max-width: 600px) {

  
  .blog-page .et_pb_post .entry-featured-image-url {
    height: 220px;
  }
  
  .blog-page .et_pb_post .entry-title a {
    font-size: 19px !important;
  }
  
  .blog-page .pagination {
    flex-direction: column;
  }
  
  .blog-page .pagination a {
    width: 100%;
    text-align: center;
  }
  
  .quickfacts-tablepress .tablepress tbody tr {
    width: 100%;
    margin-right: 0 !important;
  }
  
  .quickfacts-tablepress .tablepress tbody td.column-1 {
    font-size: 20px !important;
  }
  
  .quickfacts-tablepress .tablepress tbody tr {
    padding: 30px !important;
  }
}


/* Submenü: Hauptpunkte fett (Gesicht, Körper, Revitalisierung & Verjüngung) */
ul.sub-menu > li#menu-item-2014 > a,
ul.sub-menu > li#menu-item-3760 > a,
ul.sub-menu > li#menu-item-2012 > a {
  font-weight: 700 !important;
}

/* Bilder: volle Breite, sauberes Skalieren */
.presse-row .et_pb_main_blurb_image,
.presse-row .et_pb_main_blurb_image .et_pb_image_wrap {
  width: 100%;
  display: block;
}

.doc-titel h3 {
  font-weight: 400 !important;
  font-size: 23px !important;
  color: #b0887a !important;
}

div#page-container {
  overflow-x: hidden !important;
}

.image-overlay-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
  overflow: hidden;
  border-radius: 12px; /* optional, für abgerundete Ecken wie in deinem Screenshot */
}

.image-overlay-wrapper img {
  width: 100%;
  height: auto;
  display: block;
  filter: brightness(60%); /* dunkelt das Bild leicht ab, wie bei deinem Beispiel */
  object-fit: cover;
  border-radius: 12px;
  transition: transform 0.4s ease;
}

.image-overlay-wrapper:hover img {
  transform: scale(1.06);
}

.overlay-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  text-align: center !important;
  font-weight: 600;
  font-size: 1.4em;
  width: 90%;
}

.overlay-text h2 {
  color: white !important;
  font-weight: bold;
}

.presse-row .et_pb_main_blurb_image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  margin-bottom: 20px;
}

/* Karten: immer gleiche Höhe und sauberer Bottom-Align des Text-/Links */
.presse-row {             /* Divi-Row ist Flex; wir strecken die Columns */
  align-items: stretch;
}
.presse-row .et_pb_column {
  display: flex;          /* Module innerhalb der Column können gestreckt werden */
}
.presse-row .presse-container {   /* das Blurb-Modul selbst als Flex-Column */
  display: flex;
  flex-direction: column;
  width: 100%;
}
.presse-row .presse-container .et_pb_blurb_content {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.presse-row .presse-container .et_pb_blurb_container {
  display: flex;
  flex-direction: column;
  flex: 1;                /* Inhalt füllt die Höhe */
}
.presse-row .presse-container .et_pb_blurb_description {
  margin-top: auto;       /* „Zum Beitrag“-Link nach unten schieben */
}
.presse-row .et_pb_column.et_pb_column_1_2.et_pb_column_2.et_pb_css_mix_blend_mode_passthrough {
  flex-direction: inherit;
}

/* Leistungen-Karten: Titel oben, Button unten (feste Höhe) */
.leistung-links {
  position: relative;
  height: 200px;
  overflow: hidden;
  border-radius: 16px;
}
.leistung-links .et_pb_blurb_content {
  display: block; /* Container selbst bleibt block; Innencontainer übernimmt Flex */
  height: 100%;
  padding: 18px 20px;
  position: relative;
}
.leistung-links .et_pb_blurb_container {
  display: flex;
  flex-direction: column;
  justify-content: center; /* Titel vertikal mittig */
  height: 100%;
}
.leistung-links .et_pb_module_header {
  margin: 0;
  font-size: 30px !important;
  text-align: center;
}
.leistung-links .et_pb_module_header a {
  display: block;
  color: #fff;
  line-height: 1.2;
}
.leistung-links .et_pb_blurb_description {
  margin-top: 0; /* wir positionieren absolut */
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 18px;
}
.leistung-links .leistungen-btn-wrapper {
  margin: 0; /* kein zusätzlicher Außenabstand */
  display: flex;
  justify-content: flex-end; /* Button nach rechts */
}
.leistung-links .leistungen-btn-wrapper p { margin: 0; }
.leistung-links .btn-leistungen-grid { align-self: auto; }

/* Smooth Hover-Effekt: Inhalt leicht zoomen, Schatten weicher einblenden */
.leistung-links { transition: box-shadow .35s ease; }
.leistung-links .et_pb_blurb_content { transition: transform .35s ease; transform-origin: center center; }
.leistung-links:hover { box-shadow: 0 12px 28px rgba(0,0,0,.22); }
.leistung-links:hover .et_pb_blurb_content { transform: scale(1.03); }

/* Mobil: etwas mehr Luft, Höhe bleibt konsistent */
@media (max-width: 600px) {
  .leistung-links .et_pb_blurb_content {
    padding: 16px;
  }
}

/* Face-Row: Buttons unten ausrichten (nur nebeneinander, also ab Desktop) */
@media (min-width: 981px) {
  .face-row {
    align-items: stretch;
  }
  .kontakt-info {
    padding-right: 0;
}
  .face-row .et_pb_column {
    display: flex;
  }
  .face-row .et_pb_blurb {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
  }
  .face-row .et_pb_blurb_content {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .face-row .et_pb_blurb_container {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
  }
  .face-row .et_pb_blurb_description {
    margin-top: auto;
  }
}

/* Face-Row: Starres Raster – Titel oben, Text mittig (flexibel), Button unten */
@media (min-width: 981px) {
  .face-row .et_pb_blurb_container {
    display: grid;
    grid-template-rows: auto 1fr auto;
    height: 100%;
  }
  /* Inhalte der Beschreibung in das Grid „heben“, damit der Button eigene Zeile bekommt */
  .face-row .et_pb_blurb_container > .et_pb_blurb_description {
    display: contents;
  }
  .face-row .et_pb_blurb_container > .et_pb_blurb_description > p:last-child {
    grid-row: 3;
    margin: 0;
  }
  .form-row {
    display: flex;
    gap: 20px;
  }
}

/* --- Fix: Mobiles Menü klickbar machen --- */
/* Die globale Regel `.container.clearfix { pointer-events: none; }` blockiert sonst die Klicks. */
#et_mobile_nav_menu,
#et_mobile_nav_menu *,
#main-header .mobile_nav,
#main-header .mobile_menu_bar,
#main-header .mobile_menu_bar_toggle,
#main-header .et_mobile_menu {
  pointer-events: auto !important;
}

/* Toggle/Accordion: Plus/Minus Icon global */
.et_pb_toggle .et_pb_toggle_title:before {
  display: none !important;
}
.et_pb_toggle .et_pb_toggle_title {
  position: relative;
  padding-right: 36px;
}
.et_pb_toggle .et_pb_toggle_title::after {
  content: '+';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  border: 1px solid var(--color-accent);
  border-radius: 50%;
  color: var(--color-accent);
  background: var(--color-bg-linen);
  font-family: var(--font-headline);
  font-weight: 600;
  transition: all 0.25s ease;
  pointer-events: none; /* Klicks sollen den Titel treffen */
}
.et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title::after {
  content: '–';
  background: var(--color-accent);
  color: var(--color-white);
  border-color: var(--color-accent);
}

        /* Force Focus Outline im Menü - nur bei Tab-Navigation (focus-visible), nicht bei Mausklick */
#top-menu a:focus-visible,
.nav a:focus-visible {
  outline: 3px solid #AB6446 !important;
  outline-offset: 2px !important;
  background-color: rgba(171, 100, 70, 0.1) !important;
  position: relative !important;
  z-index: 9999 !important;
}

/* Entferne Outline bei Mausklick (focus ohne focus-visible) */
#top-menu a:focus:not(:focus-visible),
.nav a:focus:not(:focus-visible) {
  outline: none !important;
  background-color: transparent !important;
}

/* Für Divi Hauptmenü */
#main-header .nav li a:focus-visible {
  outline: 3px solid #AB6446 !important;
  outline-offset: -2px !important;
  background-color: rgba(171, 100, 70, 0.15) !important;
}

#main-header .nav li a:focus:not(:focus-visible) {
  outline: none !important;
  background-color: transparent !important;
}

/* Sub-Menu Links */
#top-menu .sub-menu a:focus-visible {
  outline: 3px solid #AB6446 !important;
  outline-offset: -3px !important;
  background-color: rgba(171, 100, 70, 0.2) !important;
}

#top-menu .sub-menu a:focus:not(:focus-visible) {
  outline: none !important;
  background-color: transparent !important;
}




/* ========================= A11Y Toolbar Font Size Support ========================= */
/* Footer navigation links - larger font size (1.7em) */
html.fontsize footer nav a,
html.fontsize #main-footer nav a,
html.fontsize .footer-address a,
html.fontsize .footer-links a {
  font-size: 1.7em !important;
}

/* Ensure child elements inside footer navigation links also scale */
html.fontsize footer nav a *,
html.fontsize #main-footer nav a *,
html.fontsize .footer-address a *,
html.fontsize .footer-links a * {
  font-size: inherit !important;
}

/* Footer contact links and other links - standard font size (1.2em) */
html.fontsize .footer-contact-links .footer-link,
html.fontsize .footer-contact-links .footer-link-text,
html.fontsize a[href^="tel:"],
html.fontsize a[href^="mailto:"],
html.fontsize .kontakt-item a,
html.fontsize .wpcf7-list-item-label a,
html.fontsize a {
  font-size: 1.0em !important;
  line-height: 1.2 !important;
}

/* Hero button font size when font size increase is active */
html.fontsize .hero-button, 
html.fontsize .leistungen-main-btn,
html.fontsize .leistungen-grid-main-btn,
html.fontsize .btn-leistungen-grid,
html.fontsize .btn-leistungen-diff, 
html.fontsize .lippen-btn, 
html.fontsize .lippen-btn-light,
html.fontsize .leistungen-main-btn-diff {
  font-size: 24px !important;
}

/* FAQ font size when font size increase is active */
html.fontsize .faq-q,
html.fontsize .faq-a {
  font-size: 20px !important;
}

/* WPCF7 list item label font size when font size increase is active */
html.fontsize .wpcf7-list-item-label {
  font-size: 20px !important;
}

/* TablePress font size when font size increase is active */
html.fontsize .quickfacts-tablepress .tablepress tbody tr > td.column-1 {
  font-size: 30px !important;
}

html.fontsize .tablepress tbody td {
  font-size: 22px !important;
}

/* Öffnungszeiten table font size when font size increase is active */
html.fontsize .oeffnungszeiten td {
  font-size: 20px !important;
}

/* Blog page font size when font size increase is active */
html.fontsize .blog-page .et_pb_post .post-meta {
  font-size: 16px !important;
}

html.fontsize .entry-title a,
html.fontsize h2.entry-title a,
html.fontsize .blog-page .entry-title a {
  font-size: 26px !important;
}


/* Ensure child elements inside footer contact links and other links also scale */
html.fontsize .footer-contact-links .footer-link *,
html.fontsize .kontakt-item a *,
html.fontsize a[href^="tel:"] *,
html.fontsize a[href^="mailto:"] *,
html.fontsize .wpcf7-list-item-label a * {
  font-size: inherit !important;
}

/* Doctor info min-height when font size increase is active */
html.fontsize .doctor-info {
  min-height: 380px !important;
}

/* H2 and H3 font size increase when font size increase is active */
/* Exclude .entry-title h2 elements (blog post titles) */
html.fontsize h2:not(.entry-title) {
  font-size: clamp(2.3rem, 3.6vw + 1.2rem, 3rem) !important;
}

html.fontsize h3,
html.fontsize .ratenrechner-cta h2 {
  font-size: clamp(1.8rem, 2.4vw + 1.2rem, 2.1rem) !important;
}

html.fontsize h4 {
  font-size: clamp(1.3rem, 1.5vw + 1rem, 1.8rem) !important;
}

/* Focus Outline für 3. Ebene Sub-Menü (aweos-submenu-level-2) */
#top-menu .sub-menu .sub-menu li.aweos-submenu-level-2 > a:focus-visible {
  outline: 3px solid #AB6446 !important;
  outline-offset: -3px !important;
  background-color: rgba(171, 100, 70, 0.2) !important;
}

#top-menu .sub-menu .sub-menu li.aweos-submenu-level-2 > a:focus:not(:focus-visible) {
  outline: none !important;
  background-color: transparent !important;
}

/* Allgemeine Regel: Entferne Focus Outline bei Mausklick für alle Links und Buttons */
/* Nur bei Tab-Navigation (focus-visible) soll der Outline erscheinen */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input[type="button"]:focus:not(:focus-visible),
input[type="submit"]:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}

/* Padding für 3. Ebene Sub-Menü li Elemente (aweos-submenu-level-2) */
#top-menu .sub-menu .sub-menu li.aweos-submenu-level-2 {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

/* Kein padding-bottom für letztes Element */
#top-menu .sub-menu .sub-menu li.aweos-submenu-level-2:last-child {
  padding-bottom: 0 !important;
}

.outer-nav {
  z-index: 0 !important;
}
/* ========================= Review Carousel: Mobil volle Breite ========================= */
@media (max-width: 768px) {
  /* Entfernt das seitliche Padding nur im Abschnitt #bewertungen,
     damit die Slides auf mobilen Geräten breiter werden (edge-to-edge). */
  #bewertungen.section-full {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .review-slide {
    padding: 32px 24px !important;
    min-height: auto !important;
}
h2.eyelid-heading {
  font-size: 18px !important;
}
div#kontakt {
  margin-top: 30px !important;
  padding-top: 30px !important;
}
}

/* ========================= Ärzte-Team: Toggle Title Margin ========================= */
#aerzte-team h5.et_pb_toggle_title {
  margin-bottom: 0px;
}/* === HERO über Bild mit Scrim/Verlauf === */
.leistungen-hero{
    position: relative;
    overflow: hidden;
    border-radius: 22px;             /* wie auf deinem Screenshot */
    isolation: isolate;              /* für saubere Overlays */
  }
  .leistungen-hero > img, 
  .leistungen-hero > picture,
  .leistungen-hero > video{
    display:block;
    width:100%;
    height:auto;
  }
  
  /* dunkler, weicher Scrim für bessere Lesbarkeit */
  .leistungen-hero::after{
    content:"";
    position:absolute; inset:0;
    background:
      linear-gradient(180deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.35) 60%, rgba(0,0,0,.45) 100%),
      radial-gradient(60% 80% at 50% 20%, rgba(0,0,0,.20) 0%, transparent 70%);
    pointer-events:none;
    z-index:0;
  }


  /* zentrierter Content im Hero */
  .leistungen-hero__content{
    position:absolute; inset:0;
    display:grid; place-items:center;
    text-align:center; 
    padding: clamp(16px, 3vw, 32px);
    z-index:1;
    gap: clamp(10px, 2.2vw, 18px);
  }
  .leistungen-hero__title{
    color: var(--ca-white);
    font-weight: 600;
    letter-spacing:.2px;
    line-height:1.15;
    text-shadow: 0 1px 2px rgba(0,0,0,.35);
    font-size: clamp(28px, 3.4vw, 44px);
    max-width: 28ch;
    margin: 0 auto;
  }
  .leistungen-hero__subline{
    color: rgba(255,255,255,.92);
    line-height:1.5;
    font-size: clamp(14px, 1.6vw, 18px);
    text-shadow: 0 1px 2px rgba(0,0,0,.25);
    max-width: 60ch;
    margin: 0 auto;
  }
  
  /* === Karten im „Glassmorphism“-Stil über dem Bild === */
  .leistungen-card, .leistungen-card-first{
    color: var(--ca-white);
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 20px;
    padding: 15px !important;
    backdrop-filter: saturate(160%) blur(10px);
    -webkit-backdrop-filter: saturate(160%) blur(10px); /* Safari */
  }
  @supports not ((backdrop-filter: blur(10px))){
    .leistungen-card, .leistungen-card-first{ background: rgba(255,255,255,.18); } /* Fallback */
  }
  .leistungen-card__title{
    font-weight: 700;
    letter-spacing:.2px;
    line-height:1.25;
    font-size: clamp(18px, 2vw, 22px);
    margin: 0 0 6px;
  }
  .leistungen-card__text{
    color: rgba(255,255,255,.95);
    line-height:1.5;
    margin: 0 0 14px;
  }
  
  /* Grid für die Karten (optional) */
  .leistungen-cards{
    display:grid;
    gap: clamp(12px, 2vw, 18px);
    margin-top: clamp(10px, 2vw, 14px);
  }
  @media (min-width: 900px){
    .leistungen-cards{ grid-template-columns: repeat(3, 1fr); }
  }
  
  /* === Button – gleiche Klasse wie von dir gewünscht === */

  .blog-main-btn:hover{
    background: #fff;
    color: #b08879;
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    transform: translateY(-1px);
  }
  .blog-main-btn:focus-visible{
    outline: 3px solid rgba(215,179,166,.7);
    outline-offset: 2px;
  }
  
  /* === Barrierefreiheit & Motion-Respect === */
  @media (prefers-reduced-motion: reduce){
    .blog-main-btn{ transition:none; }
  }

  .leistungen-main-btn {
    display: inline-block;
    background: var(--color-accent);
    color: var(--color-white);
    font-family: 'Quicksand';
    font-weight: 600;
    border-radius: 32px;
    padding: 12px 28px;
    text-decoration: none;
    transition: background 0.2s;
    box-shadow: 0 4px 16px rgba(175, 136, 119, 0.18);
    font-size: 1rem;
    letter-spacing: 0.02em;
    border: 1px solid #b08879;
    margin-top: 15px;
  }
  
  .leistungen-main-btn:hover {
    background: #fff;
    color: #b08879;
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    transform: translateY(-1px);
  }
  
  .termin-main-btn {
    margin-bottom: 4px;
  }

.leistungen-caps h3 {
  margin: 0;
}

 

  .leistungen-grid-main-btn, .btn-leistungen-grid {
    display: inline-flex;
    align-items: center;
    padding: 12px 28px;
    background: #f2eee9;
    border: 1px solid var(--color-accent);
    border-radius: 32px;
    color: var(--color-accent);
    font-family: 'Quicksand';
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    letter-spacing: 0.02em;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    margin-top: 15px !important;
    flex-direction: column;
  }
  
  .leistungen-grid-main-btn:hover, .btn-leistungen-grid:hover {
    background: #fff;
    color: #b08879;
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    transform: translateY(-1px);
  }

  button.leistungen-grid-main-btn {
    cursor: pointer;
  }

  button.btn-leistungen-diff {
    display: inline-flex;
    align-items: center;
    padding: 12px 28px;
    background: #f2eee900;
    border: 1px solid #fff;
    border-radius: 32px;
    color: #fff;
    font-family: 'Quicksand';
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    letter-spacing: 0.02em;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .15s ease;
    position: relative;
    overflow: hidden;
    margin-top: 15px;
    flex-direction: column;
}

 

button.leistungen-main-btn-diff {
  display: inline-flex;
  align-items: center;
  padding: 12px 28px;
  background: #f2eee900;
  border: 1px solid #fff;
  border-radius: 32px;
  color: #fff;
  font-family: 'Quicksand';
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  letter-spacing: 0.02em;
transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .15s ease;
  position: relative;
  overflow: hidden;
  flex-direction: column;
}

button.leistungen-main-btn-diff:hover, button.btn-leistungen-diff:hover{
  background: #ffffff;
  color: #b08879;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  transform: translateY(-1px);
  border-color: #ffffff;
}

.et_pb_blurb_content {
  max-width: none !important;
}

button.leistungen-main-btn-diff:active, button.btn-leistungen-diff:active{
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(0,0,0,.14);
}

button.leistungen-main-btn-diff:focus-visible, button.btn-leistungen-diff:focus-visible{
  outline: 3px solid rgba(215,179,166,.7);
  outline-offset: 2px;
}

h4.et_pb_module_header {
  margin-bottom: 0px;
}

  /* Titel und Bild nebeneinander (nur in Row 3 der Leistungen-Karten) */
  /* Gleich hohe Karten und konsistente Innen-Anordnung */
  
  .et_pb_row_3 .leistungen-card, .et_pb_row_3 .leistungen-card-first{
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
  }
  img.et-waypoint.et_pb_animation_top.et_pb_animation_top_tablet.et_pb_animation_top_phone.wp-image-1607.et-animated {
    width: 75px;
}
  .et_pb_row_3 .leistungen-card .et_pb_blurb_container, .et_pb_row_3 .leistungen-card-first .et_pb_blurb_container{
    display: contents;
  }
  .et_pb_row_3 .leistungen-card .et_pb_main_blurb_image, .et_pb_row_3 .leistungen-card-first .et_pb_main_blurb_image{
    margin: 0;
    grid-column: 1;
  }
  .et_pb_main_blurb_image {
margin-bottom: 0px !important;
}
  .et_pb_gutters4.et_pb_footer_columns3 .footer-widget .fwidget {
    margin-bottom: 0;
}

.ytp-cued-thumbnail-overlay-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain !important;
  width: 100%;
  height: 100%;
  position: absolute;
}

body .ytp-cued-thumbnail-overlay-image,
.ytp-cued-thumbnail-overlay-image[style] {
  background-size: contain !important;
  -webkit-background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

  .et_pb_row_3 .leistungen-card h4.et_pb_module_header, .et_pb_row_3 .leistungen-card-first h4.et_pb_module_header{
    margin: 0;
    grid-column: 1;
    justify-self: stretch;
    width: 100%;
    line-height: 1.2;
    max-width: none;
    min-height: 0; /* Platz für zwei Zeilen */
    display: flex;
    align-items: flex-start;
  }
  /* schönere Zeilenumbrüche in modernen Browsern */
  .et_pb_row_3 .leistungen-card h4.et_pb_module_header, .et_pb_row_3 .leistungen-card-first h4.et_pb_module_header {
    text-wrap: balance;
    word-break: break-word;
}
  /* Fallback für breitere Sprache/Wörter */
  @supports not (text-wrap: balance){
    .et_pb_row_3 .leistungen-card h4.et_pb_module_header, .et_pb_row_3 .leistungen-card-first h4.et_pb_module_header{ hyphens: auto; word-break: normal; }
  }
  .et_pb_row_3 .leistungen-card .et_pb_blurb_description, .et_pb_row_3 .leistungen-card-first .et_pb_blurb_description{
    grid-column: 1 / -1;
    grid-row: 3;
    display: flex;
    flex-direction: column;
  }
  .et_pb_row_3 .leistungen-card .et_pb_blurb_description p:last-child, .et_pb_row_3 .leistungen-card-first .et_pb_blurb_description p:last-child{ margin-top: auto; }
  .et_pb_row_3 .leistungen-card .et_pb_blurb_description p, .et_pb_row_3 .leistungen-card-first .et_pb_blurb_description p{ margin-bottom: 0; }
  @media (max-width: 767px){
    .et_pb_row_3 .leistungen-card .et_pb_blurb_container, .et_pb_row_3 .leistungen-card-first .et_pb_blurb_container{ display: block; }
    .et_pb_row_3 .leistungen-card .et_pb_blurb_content, .et_pb_row_3 .leistungen-card-first .et_pb_blurb_content{ display: block; }
    .et_pb_row_3 .leistungen-card h4.et_pb_module_header, .et_pb_row_3 .leistungen-card-first h4.et_pb_module_header{ max-width: none; }
  }
  
  
  
  /* Row 2 mit 4 Spalten: gleiche Kachelhöhen per CSS Grid (ohne Flex in Sektion) */
  .treatment-row {
    display: flex;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    /* gap: 24px; */
    align-items: stretch;
}
  /* Kacheln füllen die Spaltenhöhe */
  .et_pb_row.et_pb_row_2 .leistungen-card.et_pb_with_border{
    height: 100%;
  }
  /* Responsiv stapeln, behält gleiche Höhen je Zeile */
  @media (max-width: 980px){
    .et_pb_row.et_pb_row_2.treatment-row.et_pb_gutters2.et_pb_row_4col{
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 640px){
    .et_pb_row.et_pb_row_2.treatment-row.et_pb_gutters2.et_pb_row_4col{
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 1350px) {
    .doctors-main-btn {
      width: 100%;
      text-align: center;
  }
  span.tablet-none {
    display: none;
}
  }
  
  .et_pb_row.et_pb_row_2 .leistungen-card, .et_pb_row.et_pb_row_2 .leistungen-card-first {
    flex: 1; /* Karte füllt die Höhe der Spalte */
  }
  
  
  .et_pb_row.et_pb_row_2 .leistungen-card, .et_pb_row.et_pb_row_2 .leistungen-card-first {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* optional, falls Button immer unten sein soll */
  }
  
  /* Karte & Inhalt als Spalten aufspannen */
.leistungen-card, .leistungen-card-first {
  display: flex;
  flex-direction: column;
}
.leistungen-card .et_pb_blurb_content,
.leistungen-card .et_pb_blurb_container,
.leistungen-card .et_pb_blurb_description,
.leistungen-card-first .et_pb_blurb_content,
.leistungen-card-first .et_pb_blurb_container,
.leistungen-card-first .et_pb_blurb_description {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto; /* darf wachsen und füllt die Höhe */
}

/* Button-Absatz nach unten drücken */
.leistungen-card .et_pb_blurb_description p:last-child, .leistungen-card-first .et_pb_blurb_description p:last-child {
  margin-top: auto;     /* schiebt den Button ans Kartenende */
  margin-bottom: 0;     /* Divi gibt p meist einen bottom-margin – weg damit */
}

/* optional: Button mittig halten */
.leistungen-card .leistungen-main-btn, .leistungen-card-first .leistungen-main-btn {
  align-self: center;
}

.leistungen-card p, .leistungen-card-first p {
  padding: 0;
  margin: 0;
}
.et_pb_column:nth-of-type(2) .leistungen-card img,
.et_pb_column:nth-of-type(4) .leistungen-card img {
  visibility: hidden !important;
}
.leistungen-card h4, .leistungen-card-first h4 {
  padding: 0;
}

/* Einheitliche Höhen für alle Karten in Reihe 3 */
.et_pb_row_3 .leistungen-card .et_pb_blurb_content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.et_pb_row_3 .leistungen-card .et_pb_blurb_container {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.et_pb_row_3 .leistungen-card .et_pb_blurb_description {
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: space-between;
}

.et_pb_row_3 .leistungen-card .et_pb_blurb_description p:first-child {
  min-height: 3em; /* Platz für zwei Textzeilen */
}

/* === Responsive Ergänzungen === */
@media (max-width: 980px){
  /* Row 2: Spalten untereinander und Abstände */
  
  .et_pb_row.et_pb_row_2 .leistungen-card,
  .et_pb_row.et_pb_row_2 .leistungen-card-first{
    height: auto;
  }
}

/* CTA im Hero als Outline-Button - gilt auf allen Seiten AUSSER der Startseite */
/* Auf der Startseite (.home) greift die braune Regel weiter oben */
body:not(.home) .behandlungsspektrum-btn-outline{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.9);
  color: #fff;
  background: transparent;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .15s ease;
}
body:not(.home) .behandlungsspektrum-btn-outline:hover{
  background: #fff;
  color: #b08879;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  transform: translateY(-1px);
}
body:not(.home) .behandlungsspektrum-btn-outline:focus-visible{
  outline: 3px solid rgba(215,179,166,.7);
  outline-offset: 2px;
}


/* Buttons in Karten auf kleinen Screens vollbreit */
@media (max-width: 640px){
  .leistungen-main-btn{
    width: 100%;
    max-width: 420px;
    box-sizing: border-box;
  }
}

.wp-image-1654{
  filter: brightness(0) saturate(100%) invert(63%) sepia(18%) 
          saturate(640%) hue-rotate(334deg) brightness(95%) contrast(88%);
}

/* Lippen-Buttons im Stil des Screenshots */
/* Wrapper für die Buttons */

.lippen-btn {
  padding: 12px 28px;
  border-radius: 32px;
  font-family: 'Quicksand';
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: all 0.3s ease;
  min-width: 150px;
}

/* Heller Button (erster Button) */
.lippen-btn-light {
  background: #f3ede9;
  border: 1px solid #b08879;
  color: #b08879;
}

.lippen-btn-light:hover {
  background: #fff;
  color: #b08879;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  transform: translateY(-1px);
}

/* Dunkler Button (zweiter Button) */
.lippen-btn-dark {
  background: #b0887900;
  border: 1px solid #b08879;
  color: #b08879;
}

.lippen-btn-dark:hover {
  background: #fff;
  color: #b08879;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  transform: translateY(-1px);
}

/* Zwei Buttons nebeneinander und trotzdem am Kartenende ausgerichtet */
.lippen-btn-wrapper{
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap; /* darf bei schmalen Breiten umbrechen */
}

/* Sicherstellen, dass der Wrapper wie der Single-CTA nach unten rutscht */
.leistungen-card .et_pb_blurb_description > .lippen-btn-wrapper{
  margin-top: auto;
}

/* Das im HTML vorhandene <br> zwischen den Buttons neutralisieren */
.lippen-btn-wrapper br{ display:none; }

/* Konsistente Button-Darstellung (zentriert) */
.lippen-btn{ display:inline-flex; align-items:center; justify-content:center; }

@media (max-width: 520px){
  .lippen-btn-wrapper{ gap: 10px; }
}

/* Spezielles Zentrieren nur für die letzte Karte (Lippen) */
.et_pb_blurb_12.leistungen-card,
.et_pb_blurb_12.leistungen-card .et_pb_blurb_description{ text-align:center; }
.et_pb_blurb_12.leistungen-card .et_pb_blurb_container{ align-items:center; }
.et_pb_blurb_12.leistungen-card h4.et_pb_module_header{ justify-content:center; }

/* ========== Grund-Setup & Variablen ========== */
.leistungen-beige {
  /* Anzahl der sichtbaren Zeilen für Titel/Description (bei Bedarf anpassen) */
  --title-lines: 2;     /* z.B. 1–3 Zeilen */
  --desc-lines: 3;      /* z.B. 2–5 Zeilen */
  --line-height: 1.25;  /* Zeilenhöhe für Berechnung */
}

/* Spalten und Karten auf gleiche Höhe bringen */


.leistungen-card {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* Divi-Wrapper innerhalb der Karte auf volle Höhe ziehen */
.leistungen-card .et_pb_blurb_content {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
}

.lippen-btn-wrapper {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}

/* Der Container mit Header, Text und Button wird zur Flex-Spalte */
.leistungen-card .et_pb_blurb_container {
  display: flex;
  flex-direction: column;
  gap: 5px;
  height: 100%;
  justify-content: space-between;
}

/* ========== Überschrift angleichen ========== */
.leistungen-card .et_pb_module_header {
  /* Mindesthöhe in Zeilen -> sorgt dafür, dass alle Texte darunter auf gleicher Höhe beginnen */
  min-height: 0;
  line-height: var(--line-height);
  align-items: center;   /* mehrzeilige Titel vertikal mittig innerhalb ihres Bereichs */
  margin: 0;            /* Divi räumt selbst gern Abstände ein – hier neutralisieren bei Bedarf */
}

/* ========== Text angleichen ========== */
.leistungen-card .et_pb_blurb_description {
  /* Reserviere Platz für den Fließtext */
  min-height: calc(var(--desc-lines) * 1em * var(--line-height));
  line-height: var(--line-height);

  /* Lässt den Textbereich ggf. mitwachsen, füllt Zwischenraum aus */
  flex: 1 1 auto;

  /* Damit das <p> innen nicht wieder extra Abstand erzeugt */
}
.leistungen-card .et_pb_blurb_description p:last-child {
  margin-bottom: 0;
}

/* ========== Button am unteren Rand ausrichten ========== */
.leistungen-card .et_pb_blurb_description p:has(.leistungen-grid-main-btn) {
  margin-top: auto;  /* Schiebt den Button (bzw. den paragrafen) nach unten */
}

/* Falls :has() im Zielbrowser nicht verfügbar ist, Button direkt ansprechen: */
.leistungen-card .leistungen-grid-main-btn {
  display: inline-block;
  margin-top: auto;
}

/* ========== Feinheiten / Kompatibilität ========== */

/* Sicherstellen, dass die Karte ihren Rahmen/Innenabstand behält, aber trotzdem voll streckt */
.leistungen-card.et_pb_with_border {
  height: 100%;
}

/* Optionale Typo-Anpassungen (gleichmäßige Optik) */
.leistungen-card h4,
.leistungen-card .et_pb_module_header span {
  font-weight: 600;
}

/* ========== Responsive: bei schmalen Breakpoints evtl. mehr Zeilen zulassen ========== */
@media (max-width: 980px) {
  .leistungen-beige {
    --title-lines: 2;
    --desc-lines: 4;
  }
}

@media (max-width: 600px) {
  .leistungen-beige {
    --title-lines: 3;
    --desc-lines: 5;
  }
}


/* Standard-Margins in der Description zurücksetzen */
.leistungen-card .et_pb_blurb_description > * {
  margin: 0;
}

/* 2) Letztes Kindelement (CTA) immer nach unten drücken */
.leistungen-card .et_pb_blurb_description > :last-child {
  margin-top: auto;
}

/* Nachgelagerte, starke Regel: Zwei-Button-Wrapper immer an den Boden */
.leistungen-card .et_pb_blurb_description > .lippen-btn-wrapper{ margin-top:auto !important; }

 

/* ===== Gleich hohe Kacheln für Reihen 7 und 8 (4-Spalten-Grid) ===== */
/* Row-Container strecken die Spalten auf gleiche Höhe */
 

/* Jede Spalte selbst ist ein Flex-Container */
 

/* Die eigentliche Karte füllt die Spaltenhöhe komplett aus */
.et_pb_row_7 .leistungen-card,
.et_pb_row_8 .leistungen-card{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
}

/* Innerer Divi-Wrapper in der Karte auf volle Höhe ziehen */
.et_pb_row_7 .leistungen-card .et_pb_blurb_content,
.et_pb_row_8 .leistungen-card .et_pb_blurb_content{
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Button-Absatz in der Karte immer an den unteren Rand drücken */
.et_pb_row_7 .leistungen-card .et_pb_blurb_description > :last-child,
.et_pb_row_8 .leistungen-card .et_pb_blurb_description > :last-child{
  margin-top: auto;
}

/* Auf kleineren Bildschirmen normal untereinander stapeln */
@media (max-width: 980px){
  .doctors-main-btn {
    width: 250px;
}
  .et_pb_row.et_pb_row_7.leistungen-beige.et_pb_gutters2.et_pb_row_4col,
  .et_pb_row.et_pb_row_8.leistungen-beige.et_pb_gutters2.et_pb_row_4col{
    display: block;
  }
  .et_pb_row_7 .et_pb_column,
  .et_pb_row_8 .et_pb_column{
    display: block;
  }
}

body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-a {
  height: 100%;
}

/* ========================= A11Y Toolbar Styling ========================= */
/* Position: bottom left corner */
.a11y-toolbar {
  top: 94vh;
  left: 10px !important;
}

/* Button styling */
.a11y-toolbar ul li button {
  background-color: #b08879 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px 12px !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease !important;
}

/* Icon color */
.a11y-toolbar [class*=" aticon-"]:before,
.a11y-toolbar [class*="aticon-"]:before {
  color: #fff !important;
}

/* Hover state */
.a11y-toolbar ul li button:hover {
  background-color: #d2b6aa !important;
}

/* Scroll-Margin für Anchor-Ziele - funktioniert mit Divi's Smooth Scroll */
/* Offset (120px) für bessere Sichtbarkeit der Überschriften */
/* Allgemeine Regel für alle Elemente mit ID, die als Anchor-Ziele verwendet werden */
/* Funktioniert automatisch für alle IDs, die von .anchor-nav .anchor-link verlinkt werden */
[id] {
  scroll-margin-top: 120px !important;
  scroll-padding-top: 120px !important;
}

/* Zusätzliche Regel für :target (wenn direkt per URL mit Hash aufgerufen) */
[id]:target {
  scroll-margin-top: 120px !important;
}

/* Suchergebnisse - Spezifische Styles */
.search .blog-page .et_pb_post .post-content {
  margin-bottom: 0 !important;
}

.search .blog-page .et_pb_post h2.entry-title {
  margin-bottom: 20px !important;
}

/* Suchergebnisse - Pagination Styles */
.search .pagination {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  margin-bottom: 40px !important;
}

.search .pagination .alignleft {
  display: block !important;
  visibility: visible !important;
}

.search .pagination .alignright {
  float: right !important;
  width: 100% !important;
  margin-left: 10px !important;
  visibility: visible !important;
}

.search .pagination a,
.search .pagination span {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Kontaktbereich - H2 Überschriften auf 25px */
.kontakt-section .heading-primary,
.kontakt-section .oeffnungszeiten h2 {
  font-size: 25px !important;
}

@media (max-width: 767px) {

  .image-overlay-wrapper {
    margin-bottom: 0px;
}
}

/************ DAVID MAIN HEADER MENU STYLING ************/
@media (max-width: 1024px) {
  #top-menu li {
      padding-right: 10px;
  }
  #top-menu.nav {
    margin-left: 10rem;
  }
}

@media (max-width: 980px) {
  .et_menu_container {
    width: 90%;
  }
  .et-search-form input  {
    max-width: 40% !important;
  }
}

@media (max-width: 680px) {
  .container {
    width: 90%;
  }
  #main-header .et_menu_container {
    width: 100%;
   }
  #top-menu li {
      display: inline;
      font-size: 14px;
      padding-right: 10px;
  }
  span.et_close_search_field:after {
    font-size: 25px;
    top: -2px;
    position: relative;
    left: 0px;
  }
  .et_close_search_field {
    width: 30px !important;
    height: 30px !important;
  }
  .et_search_outer .et-search-field {
    font-size: 14px !important;
    padding: 5px 10px !important;
    margin-right: 5px;
  }
  input.et-search-field {
    height: 50%;
  }
}

@media (max-width: 480px) {
  .et_search_outer .et-search-field {
    font-size: 12px !important;
    padding: 5px 8px !important;
  }
}


/************ DAVID HERO CONTENT STYLING ************/
@media (max-width: 1024px) {
  .centered-benefit-text p {
    max-width: 95%;
 }
}

@media (max-width: 480px) {
  .hero-content.hero-classic .hero-headline h1{
    padding-bottom: 0px !important;
  }
  .testimonials-section .et_pb_code_5 {
    margin-bottom: 0;
  }
  .centered-benefit-text h2, 
  .centered-benefit-text h3 {
    margin-bottom: 0px;
    font-size: 25px !important;
    padding-bottom: 5px !important;
  }
  #intro-section p {
    padding-bottom: 10px !important;
  }
  .centered-benefit-text h3::before {
    top: -21px
  }
  .hero-content.hero-classic {
    gap: 0px;
  }
  .hero-content.hero-classic .hero-button  {
    margin-top: 10px;
  }
}

/************ DAVID BEHANDLUNGS  STYLING ************/
@media (max-width: 1024px) {
  .behandlungsspektrum-btn-outline {
    margin-top: 10px;
  }
}

@media (max-width: 480px) {
  .behandlungen-column-startseite {
    min-height: 290px;
    margin-bottom: 10px !important;
  }
  .behandlungen-image-startseite img {
    min-height: 290px;
  }
  .behandlung-card-title {
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
  }
  .behandlungen-column-startseite.et_clickable.et_pb_css_mix_blend_mode_passthrough.et-last-child{
    margin-bottom: 0px !important;
  }
}

/************ DAVID DOCTORS SECTION STYLING ************/
@media (max-width: 480px) {
  .doctors-section {
    padding-bottom: 20px !important;
      margin-bottom: 0px !important;
      padding-top: 10px !important;
  }
  .doctors-nav-container {
    margin-top: 0px !important;
  }
  .doctors-section-container {
    align-items: center;
  }
  div#kontaktueberuns-row {
    padding-bottom: 10px !important;
  }
  .doctors-section .doctors-main-btn:first-of-type {
    margin-top: 10px !important;
  }
  .doctors-section .doctors-main-btn:nth-of-type(2) {
    margin-top: 10px !important;
  }
  .doctors-desc {
    margin-bottom: 0px !important;
    margin-top: 20px !important;
  }
  .doctors-desc h3 {
    padding-bottom: 0px !important;
  }
  .doctors-cards-wrapper {
    gap: 0px;
  }
  .doctors-counter-container {
    margin-bottom: 0px !important;
  }
  .doctors-counter-dot {
    width: 10px;
    height: 10px;
  }
}

/************ DAVID TESTIMONIALS STYLING ************/
.testimonials-header-codemodul {
  margin-bottom: 0px !important;
}

@media (max-width: 480px) {
  .testimonials-header h2 {
    padding-bottom: 4px !important;
  }
  .testimonials-header h3 {
    padding-bottom: 0px !important;
  }
  .praxis-btn-group .praxis-main-btn {
    width: auto !important;
  }
  .reviews-main-btn {
    margin-top: 10px !important;
  }
  .outer-nav {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .testimonials-header .et_pb_text_inner h3 {
    font-size: 25px !important;
    margin-bottom: 10px;
  }
  .et_pb_code.testimonials-header-codemodul {
    margin-bottom: 0px !important;
  }
 .outer-nav {
  margin: 10px 0 !important;
 }
 .review-author {
  padding-top: 0px !important;
}
.review-text-toggle {
  top: -10px;
  position: relative;
}
}

/************ DAVID YT VIDEO SHORTS STYLING ************/
.yt-video-short-title {
  padding-bottom: 10px !important;
}

@media (max-width: 480px) {
  .yt-video-short-title .et_pb_text_inner h3 {
    margin-bottom: 0px !important;
    font-size: 25px !important;
  }
  .yt-slider-initialized {
    margin-top: 8px !important;
  }
  .yt-slider-dots {
    margin-top: 10px !important;
    padding-bottom: 1px !important;
  }
  .yt-slider-dot {
    width: 10px !important;
    height: 10px !important;
  }
}

/************ DAVID BLOG ROW BOX STYLING ************/
.blog-row-box .et_pb_text_inner h2 {
  padding-bottom: 4px !important;
}

.blog-row-box .et_pb_post .post-meta {
  margin-bottom: 0px;
  line-height: 1;
}

@media (max-width: 480px) {
  .blog-btn-group {
    gap: 10px !important;
  }
  .et_pb_blog_grid h2 {
    font-size: 16px !important;
    line-height: 1;
    margin-bottom: 5px;
}
a.entry-featured-image-url {
  margin-bottom: 10px !important;
}
.blog-grid-custom {
  gap: 20px !important;
}
.oeffnungszeiten {
  padding-top: 20px !important;
}
}

/************ DAVID KONTAKT STYLING ************/

/* Breakpoint für 1380px - Kontakt Spaltenbreiten anpassen */
@media (max-width: 1380px) {
  .kontakt-row .et_pb_column {
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 30px;
  }
  .kontakt-row .et_pb_column:last-child {
    margin-bottom: 0;
  }
}
.oeffnungszeiten p {
  color: #767575 !important;
  line-height: 1.5;
  padding: 2px 0 2px 0 !important;
}

@media (max-width: 480px) {

}

/************ DAVID FOOTER STYLING ************/
.footer-widget a {
  font-size: 16px !important;
  line-height: 1.3 !important;
}

@media (max-width: 480px) {
  #main-footer {
    padding: 30px 0 0 !important;
  }
  .home .mitgliedschaften {
    padding-bottom: 30px !important;
  }
  .footer-copyright-wrapper {
    justify-content: center;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-top: 0px;
  }
  #footer-widgets .footer-widget:nth-child(n),
  .footer-widget .fwidget {
    margin-bottom: 10px !important;
  }
  #footer-widgets .footer-widget .fwidget {
    margin-bottom: 20px !important;
  }
  .footer-address {
    margin-bottom: 20px;
 }
 #footer-widgets .footer-widget li {
  margin-bottom: 0px !important;
}
.footer-link-item {
  margin-bottom: 5px !important;
}
.footer-icon {
  width: 20px;
  height: 20px;
}
.footer-social {
  margin-top: 10px;
}
}

@media (max-width: 480px) {
  .home .behandlungsspektrum-btn-outline,
  .doctors-section .doctors-main-btn:first-of-type,
  .doctors-section .doctors-main-btn:nth-of-type(2),
  .testimonials-header .et_pb_text_inner .testimonials-btn,
  .reviews-main-btn,
  .blog-main-btn,
  .doctors-main-btn,
  .praxis-main-btn,
  .wpcf7-submit {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}





/* MARK: 27.11.
 * CSS Anpassungen (Responsive)
 */

.wp-singular.single-post #main-content {
  background: transparent;
}

.wp-singular.single-post #main-content article {
  padding-bottom: 0;
}

.wp-singular.single-post #left-area {
  padding-bottom: 0;
}

.wp-singular.single-post .et_pb_post .et_pb_section.blogblock {
  padding-block: 30px;
}

.wp-singular.single-post .et_pb_post .et_pb_section.blogblock .blog-cta {
  margin-top: 15px;
}

.wp-singular.single-post .et_pb_post .blog-cta {
  margin-top: 15px;
}


.brownbox .stepfinder-actions .stepfinder-btn {
  margin-bottom: 0;
}

:is(#praxis, .deinereise) .termin-main-btn {
  margin-bottom: 0 !important;
}

.ankerpunkte {
  padding-top: 0 !important;
}

@media (min-width: 981px) {
  .vid-entry {
    padding-top: 75px !important;
  }
  .blog-overview {
    padding-top: 75px !important;
  }
  .search-results .et_pb_section.et_pb_section_4.et_pb_with_background.et_section_regular.et_pb_section_first {
    padding-top: 75px !important;
}
}
.ankerentry {
  padding-top: 0px !important;
}


.aweos-akkordeon-faq .et_pb_toggle {
  background: #fff;
  border-radius: 30px;
  padding: 20px 28px;
  font-size: 16px !important;
  font-weight: 500;
  margin-bottom: 10px !important;
  border: none;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
}

.aweos-akkordeon-faq .et_pb_toggle:last-child {
  margin-bottom: 0 !important;
}

.aweos-akkordeon-faq .et_pb_toggle_title {
  color: #333;
  font-family: 'Quicksand';
  color: #2B2B2B !important;
  font-size: 16px;
}

.aweos-akkordeon-faq p {
  color: #2B2B2B;
}

.et_pb_toggle .et_pb_toggle_title::after {
  content: '5' !important;
  font-family: 'ETmodules';
  background: none !important;
  color: brown !important;
  border: none !important;
  font-size: 30px;
  color: #b48a78 !important;
}

.et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title::after {
  content: '3' !important;
}

.arzt-overview {
  padding-top: 75px !important;
}

.unser-team {
  padding-top: 75px !important;
}

@media (max-width: 980px) {
  .unser-team {
    padding-top: 30px !important;
  }
  .arzt-overview {
    padding-top: 30px !important;
  }
  .blog-cta p {
    text-align: center !important;
}
.wp-singular.single-post .et_pb_post .blog-cta {
  padding-bottom: 30px !important;
}
}

.wp-singular .et_pb_post h1.entry-title {
  display: none;
}

.page-template-page-uebersicht .leistungen-hero .et_pb_row:nth-child(1) {
  margin-bottom: 30px !important;
  padding-bottom: 0;
}

.page-template-page-uebersicht .leistungen-hero {
  padding-bottom: 30px !important;
}

.page-template-page-uebersicht .leistungen-hero .face-row {
  padding-bottom: 0;
}

.page-template-page-uebersicht .treatment-row {
  margin-bottom: 30px;
}







.single-post .entry-content {
  padding-inline: 0;
}

/* .single-post .entry-content .et_pb_section .et_pb_row {
  max-width: 1920px !important;
  width: 90% !important;
} */


.single-post .entry-content tr td {
  padding: 20px;
}

th {
  font-family: 'Quicksand';
}



.single-post .geprueftdeb h2.heading {
  color: #fff !important;
}

body:is(.page-id-5543, .page-id-2047) h2, 
body:is(.page-id-5543, .page-id-2047) h3 {
  font-size: 25px;
}

#top-menu > li > .sub-menu > li:last-child > a {
  padding-bottom: 0 !important;
}

.page-template-page-uebersicht .entry-content {
  margin-top: 65px;
}

#top-menu > li > .sub-menu:not(:has(.menu-item-has-children)) {
  gap: 0 !important;
}

#top-menu > li > .sub-menu:not(:has(.menu-item-has-children)) li a {
  padding-block: 2px !important;
  font-size: 16px !important;
}

.et_pb_pagebuilder_layout.single-post:not(.et-tb-has-body) #main-content .et_pb_with_background .et_pb_row {
  width: 90%;
}

@media (max-width: 480px) {
  .review-track .review-slide {
    margin-top: 10px;
  }
  
  .hero-content.hero-classic {
    padding-inline: 5vw;
  }

  .hero-content.hero-classic .hero-headline {
      gap: 5px;
  }
}

@media (max-width: 600px) {
  .quickfacts-tablepress .tablepress tbody tr:nth-child(2n) {
    margin-left: 10px;
  }
  .blog-page .et_pb_ajax_pagination_container {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 510px) {
  .quickfacts-tablepress .tablepress tbody tr {
    width: 100% !important;
    margin-left: 0 !important;
  }
}

@media (max-width: 480px) {
  .treatment-row .et_pb_column {
    margin-bottom: 10px !important;
  }
  .treatment-row .et_pb_column:last-child {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 720px) {
  .review-slide {
    padding-block: 30px !important;
  }

  .treatment-overview .behandlung-card-title {
    font-size: 28px !important;
  }
  .yt-video-short-title .et_pb_text_inner h3 {
    font-size: 28px !important;
  }
  .testimonials-header .et_pb_text_inner h3 {
    font-size: 25px !important;
  }
}

@media (max-width: 560px) {
  .detail-hero .hero-main-btn--filled {
    margin-bottom: 0;
  }
}

@media (max-width: 980px) {
  .wp-singular .et_pb_post .testimonials-maintitel h2 {
    margin-top: 0 !important;
  }
  .et_pb_code .outer-nav {
    margin-block: 10px;
  }
  .search-results .et_pb_section.et_pb_section_4.et_pb_with_background.et_section_regular.et_pb_section_first {
    padding-top: 30px !important;
}
  .unser-team {
    padding-top: 30px !important;
  }
  .faq-video .et_pb_column .et_pb_module {
    margin-bottom: 10px;
  }

  .home .testimonials-section {
    padding-bottom: 0px !important;
  }

  .doctors-section .doctors-main-btn:nth-of-type(2) {
    margin-top: 10px !important;
  }

  .doctors-section .doctors-main-btn:nth-of-type(1) {
      margin-top: 10px !important;
  }

  .doctors-section .doctors-desc {
      margin-bottom: 0;
  }

  .reviews-main-btn {
    margin-top: 10px !important;
  }

  .et_pb_promo_description {
    padding-bottom: 0;
  }

  .et_pb_cta_1.et_pb_promo, .ratenrechner-cta.et_pb_promo {
      padding-block: 30px;
  }
  .leistungen-row .et_pb_column.image-overlay-wrapper:last-child {
    margin-bottom: 0px;
  }
  .beinnedeinereise-cta .termin-btn-group {
    margin-bottom: 0 !important;
  }
  .geprueftdeb .et_pb_row {
    width: 90% !important;
  }
  .geprueftdeb .et_pb_row .et_pb_column {
    margin-bottom: 10px;
  }
  .quickfacts-tablepress .tablepress tbody tr {
    margin-right: 10px;
    width: calc(50% - 10px);
  }
  .stepfinder-actions {
    gap: 5px !important;
  }
  [lang=en-US] .video-section {
    padding-bottom: 30px !important;
  }

  .page-id-3271 #video {
    padding-bottom: 30px !important;
  }

  .shorts .et_pb_row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    max-width: 400px;
  }

  .shorts .et_pb_row .et_pb_column {
      width: 100%;
  }


  .testimonials-section {
    padding-bottom: 30px !important;
  }

  #praxis {
    padding-bottom: 20px !important;
  }


  
  #main-content article .et_pb_row.yt-video-short-title .et_pb_text_inner h3 {
    font-size: 33px;
    padding-bottom: 10px;
    margin-bottom: 0;
  }

  #main-content article .et_pb_row.yt-video-short-title {
    padding-bottom: 30px !important;
  }

  .blog-section .blog-row-box .et_pb_column > .et_pb_text:nth-child(1) {
      margin-bottom: 0 !important;
      padding-bottom: 10px !important;
  }

  #main-footer {
    padding-top: 30px;
  }

  .blog-section {
      padding-bottom: 30px !important;
  }

  .testimonials-header .et_pb_text_inner h3 {
      margin-bottom: 0;
      padding-bottom: 20px;
  }

  .testimonials-header .et_pb_text_inner h3 {
      font-size: 33px;
  }

  .testimonials-header + div:has(.et_pb_image_wrap) {
    margin-bottom: 0 !important;
    padding-bottom: 10px;
  }

  .testimonials-header .et_pb_text_inner h3 {
      margin-bottom: 0;
      padding-bottom: 30px;
      font-size: 33px;
      margin-bottom: 0;
      padding-bottom: 10px;
  }

  .blog-section {
      padding-bottom: 30px !important;
  }

  .et_pb_section .behandlung-header-row-top.et_pb_row {
    margin-bottom: 10px !important;
  }

  .centered-benefit-text h2, .centered-benefit-text h3 {
      margin-bottom: 0;
      padding-bottom: 4px;
  }
  
  h3, h2 {
    font-size: 25px;
  }
}

@media (max-width: 990px) {
  header#main-header {
      background-color: rgb(243, 238, 234) !important;
  }
}

#offcanvas_container li:not(.et_hover) > ul.sub-menu {
  pointer-events: all;
}

@media (max-width: 1024px) {
  .review-track .review-slide.active {
    background: white;
    border-color: white;
  }
  .review-track .review-slide.active .review-text {
    color: #8c8c8c;
  }
  .review-track .review-slide.active .review-text-toggle {
    color: #b08879;
  }
  .review-track .review-slide.active .stars {
    color: #b08879;
  }
  .review-track .review-slide.active .review-author {
    border-top: 2px solid #efe8df !important;
  }
  .review-track .review-slide.active .review-author {
    color: #b08879;
  }
}


#top-menu.nav li {
  padding-right: 19px;
}


@media (max-width: 1500px) {
  #top-menu.nav li { padding-right: 11px; }
}


@media (max-width: 1300px) {
  #top-menu.nav li { padding-right: 5px; }
}

@media (max-width: 1200px) {
  #top-menu.nav { margin-left: 12rem; }
}

@media (max-width: 1024px) {
  #top-menu.nav { margin-left: 9.5rem; }
}

@media (max-width: 1400px) {

.shorts {
  padding-block: 30px !important;
}

.shorts .et_pb_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 30px;
  max-width: 600px;
}

.shorts .et_pb_row .et_pb_column {
  width: 100%;
}

.shorts .et_pb_row .et_pb_column.et_pb_column_empty {
  display: none;
}

  #footer-widgets .fwidget {
      padding-inline: 20px;
  }
  
  
  #top-menu.nav > li > a {
    line-height: 1.4;
  }

  .quickfacts-tablepress .tablepress tbody tr {
    padding: 20px 30px !important;
    padding-right: 45px !important;
  }

  .quickfacts-tablepress .tablepress tbody tr td.column-1 {
      font-size: 20px !important;
      line-height: 1.4 !important;
  }

  .treatment-overview .behandlung-card-content .behandlung-more-btn {
      width: 28px;
      height: 28px;
      right: -5px;
      bottom: -5px;
      padding: 0;
      background: #ffffff36;
      backdrop-filter: brightness(2.0) blur(11px);
  }

  .treatment-overview .behandlung-card-content button.behandlung-more-btn img {
      filter: contrast(1);
  }
}

/* Basis */
.single-post .contenttable {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}

/* Zellen */
.single-post .contenttable td, .single-post .contenttable th {
  padding: 14px 16px !important;
  vertical-align: top;
  border-bottom: 1px solid #f0f0f0;
}
blockquote {
  border-color: #b08879;
}
.single-post .contenttable tr:last-child td,
.single-post .contenttable tr:last-child th {
  border-bottom: none;
}

/* Erste Spalte wie "Label" */
.single-post .contenttable td:first-child,
.single-post .contenttable th:first-child {
  font-weight: 700;
  color: #111;
  white-space: nowrap;
  width: 1%;
}

/* Typografie in Zellen (p aus TYPO3-Editor) */
.single-post .contenttable td p,
.single-post .contenttable th p {
  margin: 0;
}

/* Zebra & Hover */
.single-post .contenttable tr:nth-child(even) td {
  background: #fafafa;
}

.single-post .contenttable tr:hover td {
  background: #f5f7fb;
}

/* Links dezenter */
.single-post .contenttable a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(0,0,0,0.2);
}
.single-post .contenttable a:hover {
  text-decoration-color: rgba(0,0,0,0.5);
}

/* Kompakt auf kleinen Screens: Card-Layout je Zeile */
@media (max-width: 640px) {
  .single-post .contenttable {
    border: 0;
    box-shadow: none;
    background: transparent;
  }

  .single-post .contenttable,
  .single-post .contenttable tbody,
  .single-post .contenttable tr,
  .single-post .contenttable td,
  .single-post .contenttable th {
    display: block;
    width: 100%;
  }

  .single-post .contenttable tr {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    box-shadow: 0 1px 6px rgba(0,0,0,.04);
    padding: 12px 14px;
    margin: 12px 0;
  }

  /* Zebra zurücksetzen in Card-Ansicht */
  .single-post .contenttable tr:nth-child(even) td {
    background: transparent;
  }

  .single-post .contenttable td,
  .single-post .contenttable th {
    border: 0;
    padding: 6px 0;
  }

  .single-post .contenttable td:first-child,
  .single-post .contenttable th:first-child {
    font-size: 0.95rem;
    margin-bottom: 4px;
  }
}

.aweos-akkordeon-faq h5.et_pb_toggle_title {
  font-weight: bold;
}
.search-results .et_pb_module.et_pb_text.et_pb_text_6.doc-titel.et_pb_text_align_left.et_pb_bg_layout_light {
  margin-bottom: 10px;
}