/* 
Theme Name:    Derjosef-Child
Theme URI:     http://childtheme-generator.com/
Description:   Derjosef-Child is a child theme of DerJosef
Author:       Josef Gerhardter
Author URI:    https://derjosef.com
Template:      derjosef
Version:      1.0.0
Text Domain:   derjosef-child
*/

/*
    Add your custom styles here
*/

:root {
  --color-green: #474d18;
  --color-beige: #f5f2ed;
  --color-black: #121111;
  --color-white: #fdfdfd;
  --color-dark-white: #fafaf5;

  --font-size-base: 14px;
  --font-size-h1: 3.96vw;
  --font-size-h2: 3.3vw;
  --font-size-h3: 3.3vw;
  --font-size-h4: 2.5vw;
  --font-size-h5: 1.71vw;
  --font-size-h6: 3.3vw;
  --line-height: 1.6;

  --spacing-small: 8px;
  --spacing-medium: 16px;
  --spacing-large: 32px;
  --spacing-xlarge: 150px;

  --corner-size-small: 25px;
  --corner-size-big: 50px;

  --border-radius-default: 60px;
  --border-radius-top: 60px;
}

/* Fonts */

/* Larken Regular */
@font-face {
  font-family: "Larken";
  src: url("/wp-content/themes/derjosef-child/fonts/Larken/Larken-Regular.woff2")
      format("woff2"),
    url("/wp-content/themes/derjosef-child/fonts/Larken/Larken-Regular.woff")
      format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* WorkSans Thin */
@font-face {
  font-family: "WorkSans";
  src: url("/wp-content/themes/derjosef-child/fonts/WorkSans/WorkSans-Thin.woff2")
      format("woff2"),
    url("/wp-content/themes/derjosef-child/fonts/WorkSans/WorkSans-Thin.woff")
      format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

/* WorkSans ExtraLight */
@font-face {
  font-family: "WorkSans";
  src: url("/wp-content/themes/derjosef-child/fonts/WorkSans/WorkSans-ExtraLight.woff2")
      format("woff2"),
    url("/wp-content/themes/derjosef-child/fonts/WorkSans/WorkSans-ExtraLight.woff")
      format("woff");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

/* WorkSans Light */
@font-face {
  font-family: "WorkSans";
  src: url("/wp-content/themes/derjosef-child/fonts/WorkSans/WorkSans-Light.woff2")
      format("woff2"),
    url("/wp-content/themes/derjosef-child/fonts/WorkSans/WorkSans-Light.woff")
      format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* WorkSans Regular */
@font-face {
  font-family: "WorkSans";
  src: url("/wp-content/themes/derjosef-child/fonts/WorkSans/WorkSans-Regular.woff2")
      format("woff2"),
    url("/wp-content/themes/derjosef-child/fonts/WorkSans/WorkSans-Regular.woff")
      format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* WorkSans Medium */
@font-face {
  font-family: "WorkSans";
  src: url("/wp-content/themes/derjosef-child/fonts/WorkSans/WorkSans-Medium.woff2")
      format("woff2"),
    url("/wp-content/themes/derjosef-child/fonts/WorkSans/WorkSans-Medium.woff")
      format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* WorkSans SemiBold */
@font-face {
  font-family: "WorkSans";
  src: url("/wp-content/themes/derjosef-child/fonts/WorkSans/WorkSans-SemiBold.woff2")
      format("woff2"),
    url("/wp-content/themes/derjosef-child/fonts/WorkSans/WorkSans-SemiBold.woff")
      format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
/* Fonts end */
html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  scroll-behavior: smooth;
  height: fit-content;
  overflow-x: hidden;
  margin-top: 0px !important;
  font-family: "WorkSans", sans-serif;
  background-color: var(--color-white-clear) !important;
}
::-webkit-scrollbar-track {
  background: var(--color-green);
}
main#main {
  margin: 0px !important;
  padding: 0px !important;
}
body {
  margin: 0;
  font-family: "WorkSans" !important;
  background-color: var(--color-white-clear) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
.h1,
h1 p {
  font-size: calc(1.4rem + 1vw) !important;
  line-height: 1.2;
  margin-bottom: 0.5em;
  font-family: "Larken", sans-serif;
  font-weight: 400 !important;
  font-style: normal;
  color: var(--color-green) !important;
}

h2,
.h2 {
  font-size: calc(1.8rem + 0.3vw) !important;
  line-height: 1.3;
  margin-bottom: 0.5em;
  font-family: "Larken", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--color-green) !important;
}

h3,
.h3 {
  font-size: calc(1.3rem + 0.4vw) !important;
  line-height: 1.4;
  margin-bottom: 0.5em;
  font-family: "Larken", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--color-green) !important;
}

h4,
.h4 {
  font-size: calc(1.2rem + 0.3vw);
  line-height: 1.5;
  margin-bottom: 0.5em;
  font-family: "Larken", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--color-green) !important;
}

h5,
.h5 {
  font-size: calc(1.1rem + 0.2vw) !important;
  line-height: 1.6;
  margin-bottom: 0.5em;
  font-family: "Larken", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--color-green) !important;
}

h6,
.h6 {
  font-size: calc(1rem + 0.2vw) !important;
  line-height: 1.7;
  margin-bottom: 0.5em;
  font-family: "Larken", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--color-green) !important;
}
h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong {
  color: var(--color-green) !important;
  font-family: "" !important;
  font-weight: normal !important;
}
.subheadline {
  font-family: "WorkSans" !important;
  text-transform: uppercase;
  letter-spacing: 0.1;
  font-size: calc(0.9rem + 0.2vw) !important;
}
.coursive {
  font-family: "Larken", sans-serif;
  font-style: italic;
}
.h1-xl {
  font-size: calc(2rem + 1vw) !important;
  font-family: "";
  margin-bottom: 0.2em;
}
p,
li {
  margin-bottom: 1em;
  font-family: "WorkSans", sans-serif !important;
  font-size: 1rem !important;
}

main a,
header a {
  font-family: "Larken" !important;
  color: var(--color-green) !important;
}
a:hover {
}
small {
  font-size: 0.8em !important;
}
strong {
  font-family: "WorkSans" !important;
}

/* Spacer */

.spacer-none {
  margin: 0px 0px;
}
.spacer-small {
  margin: 32px 0px;
}
.spacer-middle {
  margin: 64px 0px;
}
.spacer-big {
  margin: 128px 0px;
}
.spacer-biggest {
  margin: 200px 0px;
}

/* color */
.bc-green {
  background-color: var(--color-green) !important;
}

.bc-beige {
  background-color: var(--color-beige) !important;
}
.bc-black {
  background-color: var(--color-black) !important;
}
.bc-white {
  background-color: var(--color-white) !important;
}
.bc-dark-white {
  background-color: var(--color-dark-white) !important;
}

.color-green {
  color: var(--color-green) !important;
}
.color-beige {
  color: var(--color-beige) !important;
}
.color-black {
  color: var(--color-black) !important;
}
.color-white {
  color: var(--color-white) !important;
}
.color-dark-white {
  color: var(--color-dark-white) !important;
}
::-moz-selection {
  background-color: var(--color-beige);
  color: var(--color-green);
}
::selection {
  background-color: var(--color-beige);
  color: var(--color-green);
}
.main-button {
  font-family: "Larken", sans-serif !important;
  position: relative !important;
  display: inline-block !important;
  cursor: pointer !important;
  border: 1.5px solid var(--color-green) !important;
  border-radius: 50px !important;
  padding: 8px 20px !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  overflow: hidden !important;
  background-color: var(--color-green);
  color: var(--color-beige);
  transition: color 0.4s cubic-bezier(0.42, 0, 0.58, 1);
  width: fit-content !important;
}

.main-button:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: var(--color-beige); /* Hover-Hintergrund */
  z-index: 0;
  transition: width 0.4s cubic-bezier(0.42, 0, 0.58, 1);
}

.main-button span {
  position: relative;
  z-index: 1; /* Text immer über :before */
  color: var(--color-beige);
  transition: color 0.4s cubic-bezier(0.42, 0, 0.58, 1);
}

.main-button:hover:before {
  width: 100%; /* Hover-Layer aufziehen */
}

.main-button:hover span {
  color: var(--color-green); /* Textfarbe beim Hover */
}
/* Main-Button green */
.main-button-green {
  --btn-color: var(--color-white);
  --btn-color-dark: var(--color-green);
  border-radius: 50px;
  position: relative;
  display: inline-block;
  min-width: 200px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  text-transform: uppercase;
  color: var(--color-white);
  border: 1px solid currentColor;
  overflow: hidden;
  user-select: none;
}

.main-button-green span {
  position: absolute;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: var(--btn-color-dark);
  transform: translate(-50%, -50%);
  transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
  z-index: -1;
}

.main-button-green:hover span {
  width: 250%;
  height: 250%;
}

.main-button-green:active {
  background: var(--btn-color);
}

/* Secondary button */
.secondary-button {
  font-family: "Larken", sans-serif !important;
  display: inline-flex;
  align-items: center;
  text-transform: uppercase;
  color: var(--color-green);
  text-decoration: none;
  position: relative;
  transition: color 0.3s ease;
}

/* Punkt links vom Text */
.secondary-button::before {
  content: "";
  display: inline-block;
  background-color: var(--color-green);
  border-radius: 50%;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  transition: transform 0.3s ease, background-color 0.3s ease;
  margin-right: 8px;
}

/* Hover-Effekt */
.secondary-button:hover {
  color: var(--color-green);
}

.secondary-button:hover::before {
  transform: scale(1.2);
  background-color: var(--color-green);
}

/* Main */

.container-fluid {
  padding-left: 20px !important;
  padding-right: 20px !important;
}
/* --- Standard: Mobile (bis 767.98px) immer 100% + zentriert --- */
.w-100,
.w-90,
.w-85,
.w-75,
.w-66,
.w-50,
.w-40,
.w-33,
.w-25,
.w-auto {
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* --- Ab 768px eigene Breiten + zentriert --- */
@media (min-width: 768px) {
  .w-100 {
    width: 100% !important;
  }
  .w-90 {
    width: 90% !important;
  }
  .w-85 {
    width: 85% !important;
  }
  .w-75 {
    width: 75% !important;
  }
  .w-66 {
    width: 66% !important;
  } /* ca. 2/3 */
  .w-50 {
    width: 50% !important;
  }
  .w-40 {
    width: 40% !important;
  }
  .w-33 {
    width: 33% !important;
  } /* ca. 1/3 */
  .w-25 {
    width: 25% !important;
  }
  .w-auto {
    width: auto !important;
  }
}

/* Main end */

/* Splash */

/* Vollbild Splash */
.splash-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: var(--color-beige);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 1;
  pointer-events: all;
  transition: opacity 1s ease-in-out;
}

/* Zentrierung + Logo */
.splash-content {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.splash-content svg {
  max-width: 500px;
  height: auto;
  display: block;
}

/* Splash ausblenden */
.splash-screen.hidden {
  opacity: 0;
  pointer-events: none;
  transition: opacity 1s ease-in-out;
}

/* Beispiel-Animationen für SVG-Gruppen */
#Gruppe_2,
#hochoben,
#tief {
  opacity: 0;
  transform: translateY(20px);
}

#Gruppe_2 {
  animation: fadeInUp 1s forwards;
}

#hochoben {
  animation: fadeInUp 0.5s forwards;
  animation-delay: 0.5s;
}

#tief {
  animation: fadeInUp 0.5s forwards;
  animation-delay: 1s;
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* splash end */
/* Menu */
/* ================= HEADER ================= */
#site-header {
  position: fixed;
  top: 20px; /* Abstand oben */
  left: 20px; /* Abstand links */
  right: 20px; /* Abstand rechts */
  background: var(--color-beige);
  border-radius: 50px; /* runde Ecken */
  z-index: 1000;
  padding: 0 15px;
}

/* Logos Desktop / Mobile */
.logo-desktop {
  max-height: 60px;
  display: inline-block;
}
.logo-mobile {
  display: none;
}
@media (max-width: 768px) {
  .logo-desktop {
    display: none;
  }
  .logo-mobile {
    display: inline-block;
    max-height: 30px;
  }
}

/* Menübutton (ersetzt Hamburger) */
.menu-toggle.secondary-button {
  background: none;
  color: var(--color-green);
  padding: 0.4rem 0.4rem;
  border: unset !important;
  cursor: pointer;
}

/* Body Scroll Lock */
body.open {
  overflow: hidden; /* Sperrt Scrollen im Hintergrund */
}

/* ================= FULLSCREEN MENU ================= */
#gloval-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  background: var(--color-beige);
  z-index: 990;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  overflow: hidden; /* kein Scrollen */
}
body.open #gloval-nav {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* ================= MENÜ LINKS ================= */
#gloval-nav .menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Hauptmenüpunkte Fade-In */
#gloval-nav .menu-list > li {
  margin: 0.5rem 0;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
body.open #gloval-nav .menu-list > li {
  opacity: 1;
  transform: translateY(0);
}
/* Verzögerungen je nach Position */
body.open #gloval-nav .menu-list > li:nth-child(1) {
  transition-delay: 0.1s;
}
body.open #gloval-nav .menu-list > li:nth-child(2) {
  transition-delay: 0.2s;
}
body.open #gloval-nav .menu-list > li:nth-child(3) {
  transition-delay: 0.3s;
}
body.open #gloval-nav .menu-list > li:nth-child(4) {
  transition-delay: 0.4s;
}
body.open #gloval-nav .menu-list > li:nth-child(5) {
  transition-delay: 0.5s;
}
body.open #gloval-nav .menu-list > li:nth-child(6) {
  transition-delay: 0.6s;
}
body.open #gloval-nav .menu-list > li:nth-child(7) {
  transition-delay: 0.7s;
}

#gloval-nav .menu-list > li > a {
  font-size: 2rem;
  text-decoration: none;
  color: var(--color-green);
  font-family: "Larken", sans-serif;
  position: relative;
}

/* Pfeil anzeigen bei Menüpunkten mit Submenu */
#gloval-nav .menu-item-has-children > a::after {
  content: "";
  position: absolute;
  right: -30px;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  width: 20px;
  height: 20px;
  background-image: url("/wp-content/themes/derjosef-child/img/arrow_down.svg");
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.3s ease;
}
/* Pfeil dreht sich bei aktivem Submenu */
#gloval-nav .menu-item-has-children.open > a::after {
  transform: translateY(-50%) rotate(180deg);
}

/* ================= SUBMENUS ================= */
#gloval-nav .sub-menu {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s ease, opacity 0.3s ease;
  display: flex;
  flex-wrap: wrap; /* responsive */
  justify-content: center;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 0;
}
#gloval-nav .sub-menu li {
  margin: 0;
  padding: 0;
}

/* Submenu-Links mit Hover-Linie */
#gloval-nav .sub-menu a {
  display: inline-block;
  position: relative;
  color: var(--color-green);
  text-decoration: none;
  transition: color 0.3s ease;
  padding: 0.5rem 1rem;
  font-size: 1.2rem;
}
#gloval-nav .sub-menu a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background-color: currentColor;
  transition: width 0.3s ease;
}
#gloval-nav .sub-menu a:hover::after {
  width: 100%;
}

/* Sichtbar bei geöffnetem Submenu */
#gloval-nav .menu-item-has-children.open .sub-menu {
  max-height: 500px;
  opacity: 1;
}
.menu-inner a {
  color: var(--color-green) !important;
}
@media (max-width: 768px) {
  #site-header {
    position: fixed;
    top: 10px;
    left: 10px;
    right: 10px;
    padding: 0 10px;
  }
}
/* menu end */

/* Big text Section */
.fullwidth-text-block .main-button {
  display: inline-block;
}
.fullwidth-text-block strong {
  font-size: calc(2rem + 1vw) !important;
  font-family: "Larken", sans-serif !important;
}
.fullwidth-text-block {
  overflow-x: hidden;
}

@media (max-width: 768px) {
  .fullwidth-text-block .text-block,
  .fullwidth-text-block .button-block {
    flex: 0 0 100% !important;
    justify-content: flex-start !important;
    margin-top: 1rem;
  }
}
/* Big text Section END */

/* Cards Slider Block */
.cards-slider:first-child .card-slide {
  margin-left: 0px !important;
}
.cards-slider .card-slide {
  overflow: hidden;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  margin: 0 10px;
  aspect-ratio: 4/4.5;
  display: flex;
  flex-direction: column;
  border-radius: var(--border-radius-top) var(--border-radius-top) 0 0;
}

.cards-slider .card-slide img.slider-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: var(--border-radius-top) var(--border-radius-top) 0 0;
}

.cards-slider .card-slide:hover img.slider-image {
  transform: scale(1.05);
}

.cards-slider .slide-hover-text {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 30%; /* Overlay nimmt 30% der Höhe ein */
  display: flex;
  justify-content: center;
  align-items: flex-end; /* Text unten ausrichten */
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  ); /* unten deckend, nach oben transparent */
  color: #fff;
  padding-bottom: 10px;
  pointer-events: none; /* Overlay blockiert keine Klicks */
  z-index: 2;
}

.cards-slider .card-slide:hover .slide-hover-text {
  opacity: 1;
}

.cards-slider .slide-hover-text h2 {
  font-size: 1.5rem;
  letter-spacing: 1px;
  color: white;
  margin: 0;
  z-index: 3; /* Text über Overlay */
}

.cards-slider.slick-slider .slick-slide {
  display: flex !important;
  justify-content: center;
}

.cards-slider .btn-style {
  background: var(--color-beige);
  border-radius: 50px;
  color: var(--color-green) !important;
  width: fit-content;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 5px 20px;
}

.cards-slider-prev,
.cards-slider-next {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  width: 60px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}

.cards-slider-prev:hover,
.cards-slider-next:hover {
  transform: scale(1.1);
}

.cards-slider-prev img,
.cards-slider-next img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

.slider-info p {
  margin-bottom: 7px;
}

.cards-slider .slide-hover-text h2 {
  letter-spacing: 0px;
  transition: letter-spacing 0.3s ease, transform 0.3s ease;
}

.cards-slider .card-slide .slide-hover-text h2:hover {
  letter-spacing: 2px;
  transform: scale(1.05);
}

@media (max-width: 768px) {
  .cards-slider.slick-slider .slick-slide {
    flex: 0 0 100%;
    margin: 0 5px;
  }
  .cards-slider .btn-style {
    width: fit-content;
    max-width: 80%;
    text-align: center;
  }

  .cards-slider .slide-hover-text {
    opacity: 1 !important;
  }
}
/* Cards Slider Block END */

/* Fancy Image Block one */

/* Fancy Image Block one END */

/* Fancy Text Section */
.fancy-text-section .text-content {
  font-size: 1rem;
  line-height: 1.6;
}
/* Fancy Text Section END */

/* Fancy Text Section 2 - Dropdown Zwei Spalten */
.fancy-text-dropdown .dropdown-items {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
  min-width: 0;
}

.fancy-text-dropdown .dropdown-item {
  border-bottom: 1px solid var(--color-green);
}

.fancy-text-dropdown .dropdown-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background: none;
  border: none;
  padding: 12px 0;
  font-size: 1rem;
  cursor: pointer;
  text-align: left;
  outline: none;
}

.fancy-text-dropdown .dropdown-toggle::after {
  content: none !important;
}

.fancy-text-dropdown .dropdown-toggle .number {
  width: 30px;
  margin-right: 20px;
  flex-shrink: 0;
}

.fancy-text-dropdown .dropdown-toggle .title {
  flex: 1;
}

.fancy-text-dropdown .dropdown-toggle .icon {
  font-size: 3.5rem !important;
  transition: transform 0.3s ease;
  line-height: 0;
}

.fancy-text-dropdown .dropdown-content {
  display: none;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  padding: 10px 0 15px 0;
  font-size: 0.95rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal !important;
}

.fancy-text-dropdown .dropdown-item.active .dropdown-content {
  display: block;
}

.fancy-text-dropdown .dropdown-item.active .dropdown-toggle .icon {
  transform: rotate(45deg);
}

.fancy-text-dropdown .dropdown-link {
  display: block;
  margin: 5px 0 10px 0;
  text-decoration: underline;
  word-break: break-word;
}

.fancy-text-dropdown .row > [class*="col-"] {
  min-width: 0;
  overflow: hidden;
}
/* Dropdown Button Layout */
.fancy-text-dropdown .dropdown-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  text-align: left;
  white-space: normal; /* erlaubt nur dem Text Umbrüche */
  word-break: break-word;
}

/* Titel flexibel umbrechbar */
.fancy-text-dropdown .dropdown-toggle .title {
  flex: 1;
  line-height: 1.3;
  word-break: break-word;
}

/* Zahl fix, kein Umbruch */
.fancy-text-dropdown .dropdown-toggle .number {
  flex-shrink: 0;
  white-space: nowrap; /* Zahl bleibt in einer Zeile */
}

/* Icon fix halten */
.fancy-text-dropdown .dropdown-toggle .icon {
  flex-shrink: 0;
}
/* Fancy Text Section 2 - Dropdown Zwei Spalten END */

/* fullwidth-slider-section */
.fullwidth-slider-section {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.fullwidth-slider-section .slider-subheadline {
  text-transform: uppercase;
}

.fullwidth-slider-section .slider-item {
  width: 100%;
  height: 100vh;
}

.fullwidth-slider-section .slider-item img,
.fullwidth-slider-section .slider-item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fullwidth-slider-section .slider-overlay-bg {
  background: rgba(92, 64, 36, 0.33);
  z-index: 1;
}

.fullwidth-slider-section .slider-overlay {
  z-index: 2;
  pointer-events: none;
}

.fullwidth-slider-section .slider-button-wrapper {
  position: absolute;
  bottom: 20px;
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 4;
}

.fullwidth-slider-section .slider-button-wrapper .main-button {
  pointer-events: auto;
}

/* Eigene Buttons */
.fullwidth-slider-section .custom-prev,
.fullwidth-slider-section .custom-next {
  position: absolute;
  bottom: 20px;
  cursor: pointer;
  z-index: 4;
  background: unset !important;
  border: unset !important;
}

.fullwidth-slider-section .custom-prev img,
.fullwidth-slider-section .custom-next img {
  width: 80px;
}

.fullwidth-slider-section .custom-prev {
  left: 20px;
}

.fullwidth-slider-section .custom-next {
  right: 20px;
}
/* fullwidth-slider-section END */

.header-slider .slider-item {
  height: 100vh;
  overflow: hidden;
  position: relative;
}

.header-slider .slider-item img,
.header-slider .slider-item video {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* Content-Box im Slider */
.header-slider .content-box {
  position: relative;
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: opacity 0.8s ease, visibility 0.8s ease, transform 0.8s ease;
  border-radius: var(--border-radius-top) var(--border-radius-top) 0 0;
  margin-bottom: 50px !important;
  padding-bottom: 25px !important;
  padding-right: 25px !important;
  padding-left: 25px !important;
}

.header-slider .content-box.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.header-slider .content-box.is-hidden {
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
}

/* Formular unterhalb des Sliders */
#bookingwidget {
  position: relative;
  z-index: 5;
  border-radius: var(--border-radius-default);
  transform: translateY(-50%);
  padding: 20px 30px;
  margin-top: -20px !important;
}

/* Input-Felder minimalistisch */
.header-slider .request-form .form-control {
  border: none;
  border-bottom: 1px solid var(--color-green);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 0.8rem;
}

.header-slider .request-form .form-control:focus {
  border-bottom-color: var(--color-green);
  outline: none;
  box-shadow: none;
}
.header-slider .request-form label.form-label {
  margin-bottom: 0px;
  text-transform: uppercase;
  font-size: 0.8rem !important;
}
.kbe-booking-params-wrapper {
  border-radius: 108px !important;
}
/* Custom Arrows */
.header-slider .slick-prev-custom,
.header-slider .slick-next-custom {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header-slider .slick-prev-custom {
  left: 10px;
}

.header-slider .slick-next-custom {
  right: 10px;
}

@media (max-width: 768px) {
  .header-slider .content-box,
  .header-slider .request-form {
    width: 90% !important;
  }

  .header-slider .request-form {
    transform: translateY(-30%);
  }
}
/* Headerslider END */
/* Image Slider */
/* Gemeinsame Styles */
.image-slider .image-slide {
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 20px;
  flex-shrink: 0;
  transition: transform 0.5s ease;
}

.image-slider .image-slide img {
  display: block;
  object-fit: cover;
  height: 100%;
}

.image-slider .image-slide:hover {
  transform: scale(1.05);
  transition: transform 0.3s ease;
}

.image-slider.slick-slider .slick-slide {
  display: flex !important;
  justify-content: center;
}

/* ======================
       BIG Variante (default)
       ====================== */
.image-slider-block.slider-big .image-slide {
  height: 70vh;
}

.image-slider-block.slider-big .format-round img {
  width: 70vh;
  border-radius: 50%;
}

.image-slider-block.slider-big .format-tall img {
  max-width: 180px;
  border-radius: var(--border-radius-top);
}

.image-slider-block.slider-big .format-wide img {
  max-width: 800px;
  border-radius: var(--border-radius-top);
}

/* ======================
       SMALL Variante
       ====================== */
.image-slider-block.slider-small .image-slide {
  height: 50vh;
}

.image-slider-block.slider-small .format-round img {
  width: 50vh;
  border-radius: 50%;
}

.image-slider-block.slider-small .format-tall img {
  max-width: 140px;
  border-radius: var(--border-radius-top);
}

.image-slider-block.slider-small .format-wide img {
  max-width: 600px;
  border-radius: var(--border-radius-top);
}

/* ======================
       Responsive Anpassungen
       ====================== */
@media (max-width: 992px) {
  .image-slider-block.slider-big .image-slide {
    height: 55vh;
  }

  .image-slider-block.slider-big .format-round img {
    width: 55vh;
  }

  .image-slider-block.slider-big .format-tall img {
    max-width: 150px;
  }

  .image-slider-block.slider-big .format-wide img {
    max-width: 500px;
  }

  .image-slider-block.slider-small .image-slide {
    height: 40vh;
  }

  .image-slider-block.slider-small .format-round img {
    width: 40vh;
  }

  .image-slider-block.slider-small .format-tall img {
    max-width: 120px;
  }

  .image-slider-block.slider-small .format-wide img {
    max-width: 400px;
  }
}

@media (max-width: 768px) {
  .image-slider-block.slider-big .image-slide {
    height: 45vh;
    margin: 0 10px;
  }

  .image-slider-block.slider-big .format-round img {
    width: 45vh;
  }

  .image-slider-block.slider-big .format-tall img {
    max-width: 120px;
  }

  .image-slider-block.slider-big .format-wide img {
    max-width: 350px;
  }

  .image-slider-block.slider-small .image-slide {
    height: 30vh;
    margin: 0 10px;
  }

  .image-slider-block.slider-small .format-round img {
    width: 30vh;
  }

  .image-slider-block.slider-small .format-tall img {
    max-width: 90px;
  }

  .image-slider-block.slider-small .format-wide img {
    max-width: 280px;
  }
}

/* Slider Header */
.slider-header h1 {
  margin-right: 20px;
}

.slider-header h4 {
  margin: 0;
}
/* Image Slider END */

/* zimmer-filter-section */

.zimmer-item,
.zimmer-item img,
.zimmer-item div.position-relative {
  border-radius: var(--border-radius-top) var(--border-radius-top) 0 0;
}
.zimmer-item .d-flex.align-items-end h3,
.zimmer-item .d-flex.align-items-end h4 {
  margin-bottom: 0; /* gleiche Bottom-Margin, sonst versetzt */
}
.zimmer-item img {
  transition: transform 0.5s ease; /* weiches Zoomen */
}

.zimmer-item:hover img {
  transform: scale(1.05); /* leichtes Einzoomen */
}
.zimmer-filter-section > .container > .d-flex.align-items-end h2,
.zimmer-filter-section > .container > .d-flex.align-items-end h4 {
  margin-bottom: 0;
}

.zimmer-item > .card,
.zimmer-item > .card-body,
.zimmer-item > .shadow-sm {
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
}

.badge-tag {
  font-size: 14px !important;
  letter-spacing: 1px;
  padding: 2px 15px !important;
  margin-bottom: 0px !important;
  font-family: "Larken", sans-serif !important;
}
button.btn.btn-outline-primary.filter-btn {
  border-radius: 50px !important;
  padding: 10px 25px;
}
.filter-btn {
  border-radius: 50px;
  font-family: "Larken", sans-serif !important;
  text-transform: uppercase !important;
  color: var(--color-green) !important;
  border: 1px solid var(--color-green) !important;
  padding: 8px 25px;
  background-color: unset !important;
  font-size: calc(0.8rem + 0.2vw) !important;
  letter-spacing: 1px;
}

.filter-btn:active,
button.filter-btn.active,
.filter-btn:hover {
  background-color: var(--color-green) !important;
  color: var(--color-white) !important;
}

.zimmer-item img {
  height: 380px;
  width: 100%;
  object-fit: cover;
}
/* zimmer-filter-section END */

/* Form Section */

/* Form Section */
/* Form Section */
.wpcf7-form .wpcf7-form-control {
  border: none;
  border-top: 1px solid var(--color-green);
  border-bottom: 1px solid var(--color-green);
  border-radius: 0;
  width: 100%;
  padding: 0.5rem 0;
  background: transparent;
  box-shadow: none;
  outline: none;
  margin-top: 10px;
}

/* Label oben mit Larken und größere Schrift */
.wpcf7-form p {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.5rem;
}

.wpcf7-form p span.wpcf7-form-control-wrap::before {
  content: attr(data-name);

  margin-bottom: 0.25rem;
  color: var(--color-green);
  font-family: "Larken", serif;
  font-size: calc(1.1rem + 0.2vw) !important; /* größere Schrift */
  text-transform: capitalize;
  margin-bottom: 10px;
}

/* Textarea extra */
.wpcf7-form textarea.wpcf7-form-control {
  min-height: 120px;
}

/* Button */
.wpcf7-form input.wpcf7-submit {
  border-radius: 0;
  background-color: var(--color-green);
  color: var(--color-white);
  padding: 0.75rem 2rem;
  border: none;
  cursor: pointer;
  width: auto !important;
}

/* Focus-Effekt: beige Outline */
.wpcf7-form .wpcf7-form-control:focus,
.wpcf7-form .wpcf7-form-control:active {
  border-color: var(--color-green);
  outline: 2px solid var(--color-beige) !important; /* beige Outline statt blau */
  outline-offset: 2px;
  box-shadow: unset !important;
}

/* Select mit Pfeil rechts */
.wpcf7-form select.wpcf7-form-control {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg fill="none" stroke="%23000" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M6 9l6 6 6-6"></path></svg>');
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem;
  padding-right: 2rem;
}

/* Acceptance DSGVO Checkbox */
.wpcf7-form .form-check span.wpcf7-acceptance {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.wpcf7-form .form-check-label {
  margin-left: 0.5rem;
  font-family: inherit;
  font-size: 0.9rem;
}

/* Form Section end */

/* content-ahnliche-zimmer-secition */
@media (max-width: 767.98px) {
  .ahnliche-zimmer-section .d-flex.align-items-baseline.gap-3.mb-4 {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  .ahnliche-zimmer-section .d-flex.align-items-baseline.gap-3.mb-4 h2,
  .ahnliche-zimmer-section .d-flex.align-items-baseline.gap-3.mb-4 h4 {
    margin: 0;
  }

  .ahnliche-zimmer-section
    .p-3
    .d-flex.justify-content-between.align-items-end {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }

  .ahnliche-zimmer-section
    .p-3
    .d-flex.justify-content-between.align-items-end
    h3,
  .ahnliche-zimmer-section
    .p-3
    .d-flex.justify-content-between.align-items-end
    h5 {
    margin: 0;
  }
  .ahnliche-zimmer-section .p-3.d-flex.flex-column.gap-1 {
    padding: 0px !important;
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .ahnliche-zimmer-section
    .p-3
    .d-flex.justify-content-between.align-items-end {
    align-items: flex-start !important;
  }
  .ahnliche-zimmer-section h5.h5.ms-2.color-green.text-rechts {
    margin-left: 0px !important;
    margin-bottom: 10px !important;
  }
}

/* content-ahnliche-zimmer-secition end */

/* blog-filter-section */
.blog-item span {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: "WorkSans", sans-serif;
}

.blog-item img {
  border-radius: var(--border-radius-top) var(--border-radius-top) 0 0;
}

.blog-grid ul.list-unstyled {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
}

.blog-grid ul.list-unstyled li {
  white-space: nowrap;
}
/* blog-filter-section end */

/* cards-slider-seciton */

.cards-slider-prev,
.cards-slider-next {
  display: inline-block !important;
  visibility: visible !important;
}

/* cards-slider-seciton end */
/* fancy-image-block-one-section */

.fancy-text-block img.fancy-img {
  object-fit: cover;
  max-height: 60vh;
  width: 100%;
}

.fancy-text-block .row.align-items-stretch {
  align-items: stretch;
}

.fancy-text-block .col-12.col-md-4 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.fancy-img-top {
  border-radius: var(--border-radius-top) var(--border-radius-top) 0 0;
}

.fancy-img-bottom {
  border-radius: 0 0 var(--border-radius-top) var(--border-radius-top);
}

img.img-fluid.w-100.fancy-img.fancy-img-bottom {
  height: 35vh;
}

.fancy-text-block .text-links {
  text-align: left;
}

.fancy-text-block .text-mittig {
  text-align: center;
}

.fancy-text-block .text-rechts {
  text-align: right;
}

.text-hight {
  height: 60vh !important;
}

.fancy-text-block .text-bottom {
  margin-top: auto;
}

.text-bottom.mt-auto {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.fancy-text-block .text-hight .text-content,
.fancy-text-block .text-hight .text-content * {
  text-align: inherit !important;
}

.fancy-text-block .text-end .secondary-button {
  display: flex;
  margin-left: auto;
  align-items: center;
}

.fancy-text-block .text-start .secondary-button {
  display: inline-block;
  margin-right: auto;
}

.equal-height-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.equal-height-row > .col-12.col-md-4,
.equal-height-row > .col-12.col-md-8 {
  display: flex;
  flex-direction: column;
}

.equal-height-row > .col-12.col-md-4.image-col img,
.equal-height-row > .col-12.col-md-8.image-col img {
  flex: 1 1 auto;
  width: 100%;
  object-fit: cover;
}

@media (min-width: 768px) {
  .fancy-text-block .text-hight {
    height: 60vh;
  }

  .fancy-text-block .equal-height-row > .image-col {
    display: flex;
    flex-direction: column;
    height: 60vh;
  }

  .fancy-text-block .equal-height-row > .image-col img {
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    max-height: none;
  }
}

@media (max-width: 768px) {
  .fancy-text-block .col-12.col-md-4 {
    margin-bottom: 1rem;
  }
}

@media (max-width: 767.98px) {
  .fancy-text-block .col-12.col-md-4.image-col {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .fancy-text-block .equal-height-row {
    flex-wrap: wrap;
  }

  .fancy-text-block .text-hight {
    order: 3 !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .fancy-text-block .text-hight .secondary-button {
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 1rem;
  }

  .fancy-text-block .fancy-img-bottom {
    order: 4 !important;
  }

  .fancy-text-block .text-hight {
    height: auto !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .fancy-text-block .text-hight .h1,
  .fancy-text-block .text-hight h5 {
    margin-bottom: 0.5rem !important;
    margin-top: 0 !important;
  }

  .fancy-text-block .text-bottom {
    margin-top: 0.5rem !important;
  }

  .fancy-text-block .text-hight .secondary-button {
    margin-top: 0.75rem !important;
  }

  .fancy-text-block .image-col img {
    height: 250px;
    object-fit: cover;
  }
}

/* fancy-image-block-one-section end */

/* full-width-image-section */

.fullwidth-slider-section {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.slider-subheadline {
  text-transform: uppercase;
}

.slider-item {
  width: 100%;
  height: 100vh;
}

.slider-item img,
.slider-item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slider-overlay-bg {
  background: rgba(92, 64, 36, 0.33);
  z-index: 1;
}

.slider-overlay {
  z-index: 2;
  pointer-events: none;
}

.slider-overlay-inner {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  pointer-events: auto;
}

.slider-button-wrapper {
  position: absolute;
  bottom: 20px;
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 4;
}

.slider-button-wrapper .main-button {
  pointer-events: auto;
}

.custom-prev,
.custom-next {
  position: absolute;
  bottom: 20px;
  cursor: pointer;
  z-index: 4;
  background: unset !important;
  border: unset !important;
}

.custom-prev img,
.custom-next img {
  width: 80px;
}

.custom-prev {
  left: 20px;
}

.custom-next {
  right: 20px;
}
/* full-width-image-section end */

/* content-image-slider-text-section */

/* ================= DESKTOP ================= */
.circle-mask-wrapper {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: flex-start;
}

.circle-mask {
  height: 110vh;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: -20vh;
  position: relative;
  background-color: #fff;
  /* Hintergrund hinter Bild */
}

.circle-mask .slide-item img {
  height: 110vh;
  width: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Navigation */
.image-slider-next {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  width: 60px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
  position: absolute;
  top: 50%;
  right: 3vw;
  transform: translateY(-50%);
  z-index: 10;
}

.image-slider-next:hover {
  transform: translateY(-50%) scale(1.1);
}

.image-slider-next img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

/* ================= MOBILE ================= */
@media (max-width: 576px) {
  .circle-mask-wrapper {
    justify-content: center;
    overflow: visible;
    /* wichtig */
  }

  .circle-mask {
    width: 90vw;
    height: 90vw;
    margin: 0 auto;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }

  /* Basis für Bilder ohne object-fit */
  .circle-mask .slide-item img {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    object-position: center;
    display: block;
    min-height: 450px;
  }

  /* Dynamische Fits */
  .circle-mask .slide-item img.fit-cover {
    object-fit: cover;
  }

  .circle-mask .slide-item img.fit-contain {
    object-fit: contain;
  }

  .image-slider-text-section .col-12.col-lg-5 {
    text-align: center;
  }

  .image-slider-text-section .col-12.col-lg-5 .button-group {
    justify-content: center;
  }

  .image-slider-text-section .col-12.col-lg-5 .main-button,
  .image-slider-text-section .col-12.col-lg-5 .secondary-button {
    margin-left: 0 !important;
  }
}

/* content-image-slider-text-section end */

/* content-link-section */

.link-section-block {
  border-radius: var(--border-radius-top);
  overflow-x: hidden;
}

.link-section-block .inner-container {
  padding: 3rem;
  background-color: var(--color-beige);

  border-radius: var(--border-radius-top);
}

.link-section-block .headline-wrapper h2,
.link-section-block .headline-wrapper h4 {
  margin: 0;
}

.link-section-row {
  display: flex;
  align-items: stretch;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#link-section-links {
  gap: 0;
}

#link-section-links .link-item {
  display: flex;
  align-items: center;
  justify-content: start;
  padding: 5px 0;
  text-decoration: none;
  transition: color 0.3s ease;
}

#link-section-links .link-item span {
  flex: 0 0 auto;
}

#link-section-links .link-item .link-arrow {
  width: 25px;
  height: auto;
  margin-left: 10px;
  transition: margin-left 0.3s ease, transform 0.3s ease;
}

#link-section-links .link-item:hover .link-arrow {
  transform: translateX(5px);
}

.link-section-image-wrapper {
  height: 500px;
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  width: 100%;
}

.link-section-image-wrapper .link-section-image-main,
.link-section-image-wrapper .link-section-image-hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  border-radius: 1rem;
}

.link-section-image-wrapper .link-section-image-hover {
  opacity: 0;
  transition: opacity 0.6s ease;
}

@media (max-width: 767px) {
  .link-section-block .inner-container {
    padding: 1rem !important;
  }

  .link-section-block .headline-wrapper {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
  }

  .link-section-block h2,
  .link-section-block h4 {
    width: 100% !important;
    margin: 0 !important;
  }

  .link-section-block .link-section-row {
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  .link-section-block .col-md-4,
  .link-section-block .col-md-8 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .link-section-block .link-section-image-wrapper {
    height: 250px !important;
    margin-top: 1.5rem !important;
  }

  #link-section-links .link-item {
    font-size: 1rem;
    padding: 8px 0;
  }
  .link-section-block {
    margin: 0px !important;
    padding: 0px !important;
  }
  #link-section-links .link-item {
    white-space: normal !important;
  }
}

/* content-link-section end */

/* content-pauschale-section */

/* Pauschalen */
/* Kachel Styles */
.pauschalen-slick .pauschale-item {
  display: block;
  overflow: hidden;
  transition: transform 0.3s ease;
  cursor: pointer;
}

.pauschalen-slick .pauschale-item-link {
  display: block;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.pauschalen-slick .pauschale-img-wrapper {
  border-radius: var(--border-radius-top) var(--border-radius-top) 0 0;
  height: 60vh;
  overflow: hidden;
  position: relative;
}

.pauschalen-slick .pauschale-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.pauschalen-slick .pauschale-item:hover .pauschale-img {
  transform: scale(1.05);
}

.pauschalen-slick .pauschale-stoerer {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  width: auto;
  border-radius: 50px;
  text-align: center;
}

/* Störer Text */
.pauschalen-slick .pauschale-stoerer span {
  width: auto;
  padding: 6px 15px;
  font-size: 1rem;
  display: inline-block;
  text-align: center;
  margin: 0;
}

/* Content */
.pauschalen-slick .pauschale-content {
  border-radius: 0 0 0 0;
}

/* Custom Slick Arrows */
.pauschalen-slider .slick-prev,
.pauschalen-slider .slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 20px;
  height: 20px;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}

.pauschalen-slider .slick-prev:hover,
.pauschalen-slider .slick-next:hover {
  transform: translateY(-50%) scale(1.1);
}

.pauschalen-slider .slick-prev::before,
.pauschalen-slider .slick-next::before {
  content: "";
}

.pauschalen-slider .slick-prev {
  left: 10px;
}

.pauschalen-slider .slick-next {
  right: 10px;
}

.pauschalen-slider .slick-prev img,
.pauschalen-slider .slick-next img {
  width: 60px;
}

span.date,
span.price {
  font-family: "Larken";
  font-style: italic;
  font-size: 1.3rem;
}

/* Responsive */
@media (max-width: 768px) {
  .pauschalen-slick .pauschale-img-wrapper {
    height: 40vh;
  }
}

@media (max-width: 765px) {
  /* Badge / Stoerer */
  .pauschalen-slick .pauschale-stoerer span {
    font-size: 14px !important;
    min-width: 200px;
  }

  .pauschalen-slider .slick-prev,
  .pauschalen-slider .slick-next {
    top: 30%;
  }
}

/* content-pauschale-section end */

/* content-pauschale-view-section */

/* Pauschalen Grid */
.pauschalen-grid .pauschale-item {
  display: block;
  overflow: hidden;
  transition: transform 0.3s ease;
  cursor: pointer;
  height: 100%;
  border-radius: var(--border-radius-top);
}

.pauschalen-grid .pauschale-item-link {
  display: block;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.pauschalen-grid .pauschale-img-wrapper {
  border-radius: var(--border-radius-top) var(--border-radius-top) 0 0;
  height: 40vh;
  overflow: hidden;
  position: relative;
}

.pauschalen-grid .pauschale-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.pauschalen-grid .pauschale-item:hover .pauschale-img {
  transform: scale(1.05);
}

.pauschalen-grid .pauschale-stoerer {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  /* nur so breit wie Inhalt */
  border-radius: 50px;
  white-space: nowrap;
  /* falls Text umbricht verhindern */
  padding: 0;
  /* padding nur im span */
}

/* Störer Text */
.pauschalen-grid .pauschale-stoerer span {
  display: inline-block;
  padding: 6px 15px;
  font-size: 1rem;
  text-align: center;
  margin: 0;
}

/* Content */
.pauschalen-grid .pauschale-content {
  padding: 15px;
}

span.date,
span.price {
  font-family: "Larken", serif;
  font-style: italic;
  font-size: 1.2rem;
}

/* Responsive */
@media (max-width: 768px) {
  .pauschalen-grid .pauschale-img-wrapper {
    height: 30vh;
  }
  .pauschale-content span.price {
    margin-right: 3px;
  }
}

/* content-pauschale-view-section end */
/* content-scroll-snap-section */

:root {
  --vits-fixed-height: 420px;
}

.vits-main,
.vits-text {
  height: 100%;
}

.vits-slide {
  aspect-ratio: 16/9;
  background-size: cover;
  background-position: center;
  border-radius: var(--border-radius-top);
  height: 100%;
  width: 100%;
}

.vits-text-slide {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: 2rem 2rem 0;
  margin-bottom: 20px !important;
  border-radius: var(--border-radius-top);
}

.vits-text-slide h3 {
  margin-top: 20px;
}

.bc-color-beige {
  background-color: #f5f0e6;
  width: 100%;
}

.vits-text .slick-list {
  overflow: hidden !important;
}

/* Desktop Arrows */
.vits-arrows .slider-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  transform: rotate(90deg);
  transition: transform 0.3s ease;
}

.vits-arrows .slider-btn:hover {
  transform: scale(1.1) rotate(90deg);
}

.vits-arrows .slider-btn img {
  width: 60px;
}

/* Desktop-Buttons */
.vits-arrows .slider-btn img {
  width: 40px !important;
  /* gleiche Breite wie z. B. Cards-Slider */
  height: auto !important;
}

.vits-arrows-mobile .slider-btn img {
  width: 60px !important;

  height: auto !important;
}

.vits-mobile-slider,
.vits-mobile-slider .slick-list {
  overflow: hidden !important;
  width: 100% !important;
}

.vits-mobile-slider .slick-track {
  display: flex !important;
}

/* Desktop fix arrows position */
@media (min-width: 768px) {
  .vits-text-wrapper {
    position: relative;
  }

  .vits-arrows {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
}

/* Mobile Styles */
@media (max-width: 767.98px) {
  .vits-mobile-img {
    aspect-ratio: 16/9;
    background-size: cover;
    background-position: center;
    border-radius: var(--border-radius-top);
    width: 100%;
    border-radius: var(--border-radius-top) var(--border-radius-top) 0 0;
    /* nur oben rund */
  }

  .vits-arrows-mobile .slider-btn {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .vits-arrows-mobile .slider-btn img {
    width: 28px;
    /* statt 40px */
    height: auto;
    display: block;
  }

  /* Flexbox aufspalten */
  .vits-block .d-flex.align-items-baseline {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
    /* etwas engerer Abstand */
  }

  /* Headline & Subheadline volle Breite */
  .vits-block h2.h1,
  .vits-block h4 {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* content-scroll-snap-section end */

/* content-text-section */

@media (max-width: 767.98px) {
  .text-section-block .w-100,
  .text-section-block .w-90,
  .text-section-block .w-85,
  .text-section-block .w-75,
  .text-section-block .w-66,
  .text-section-block .w-50,
  .text-section-block .w-40,
  .text-section-block .w-33,
  .text-section-block .w-25,
  .text-section-block .w-auto {
    width: 100% !important;
  }

  .text-section-block .mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .text-section-block .d-flex {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
  }
}

/* content-text-section end */

/* content-headerslider */

/* Slick Arrow Styles unterhalb des Slider */
.slider-arrows {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.slick-prev-custom,
.slick-next-custom {
  background: none;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.slick-prev-custom img,
.slick-next-custom img {
  width: 60px;
  height: 40px;
}

.content-box.is-hidden {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.content-box.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

/* content-headerslider end */

body.error404 main {
  margin-top: 10vh !important;
}

/* form */
.wpcf7 form.sent .wpcf7-response-output {
  border-color: var(--color-green) !important;
  background-color: var(--color-green) !important;
  color: var(--color-white) !important;
}

/* form end */
/* Gutscheine */
h3.sc-fjdhpX.cclNUQ {
  color: white !important;
}

/* Foto filter */

section img {
  display: block;
  width: 100%;
  height: auto;
  filter: contrast(1) saturate(1.1) sepia(0.22) hue-rotate(350deg)
    brightness(1.06);
}
/* footer */
.footer {
  position: relative;
  margin-top: 200px !important;
}
.footer-space-top {
  margin-top: 200px;
}
.footer__logo-wrapper {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}

.footer__logo-circle {
  width: 320px;
  height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer__logo-circle img {
  max-width: 70%;
  height: auto;
}

.footer a {
  position: relative;
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 0;
  height: 1px;
  background-color: currentColor;
  transition: width 0.3s ease;
}

.footer a:hover::after {
  width: 100%;
}

@media (max-width: 768px) {
  .footer {
    text-align: center;
    padding: 2rem 1rem;
  }

  .footer a {
    display: inline-block;
    margin: 0.5rem 0;
  }
  .footer__logo-circle {
    width: 280px;
    height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* Mobile */
@media (max-width: 768px) {
  :root {
    --border-radius-top: 25px;
    --border-radius-default: 25px;
  }
  /* header */

  /* oder dein Breakpoint */
  header .lang-switcher {
    display: none;
  }

  .header-left .btn-anfrage {
    display: none !important;
  }

  .header-slider .content-box,
  .header-slider .request-form {
    width: 100% !important;
  }
  .header-slider .slick-prev-custom,
  .header-slider .slick-next-custom {
    top: 40%;
  }
  .header-slider .content-box {
    margin-bottom: 80px !important;
  }
  /* header end */
  /* spacing */
  .spacing-big {
    height: 50px !important;
  }
  /* spacing end */
  /* fancy-text-section */
  /* Mobile (unter 768px) volle Breite */

  .fancy-text-section .text-content {
    width: 100% !important;
  }
  .fancy-text-section .text-content {
    margin-top: 2rem; /* Abstand zum Button */
  }
  /* fancy-text-section end */
  /* zimmer-filter-section */

  .zimmer-filter-section .d-flex.align-items-baseline {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  .zimmer-filter-section h2,
  .zimmer-filter-section h4 {
    width: 100%;
  }
  .zimmer-filter-section .filter-btn,
  button.btn.btn-outline-primary.filter-btn {
    padding: 0.25rem 0.8rem;
    font-size: 0.875rem; /* optional kleinere Schrift */
  }

  /* zimmer-filter-section end */
  /* image-slider-block */

  .image-slider-block .slider-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .image-slider-block .slider-header h2,
  .image-slider-block .slider-header h4 {
    width: 100%;
  }
  section.image-slider-block {
    overflow-x: hidden !important;
  }
  /* image-slider-block end */
  /* zimmer-filter-section */
  .zimmer-filter-section aside.zimmer-item.always-visible {
    height: auto !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .zimmer-filter-section aside.zimmer-item.always-visible h3,
  .zimmer-filter-section aside.zimmer-item.always-visible h6 {
    margin-top: 0 !important;
    margin-bottom: 0.5rem !important;
  }

  .zimmer-filter-section aside.zimmer-item.always-visible .main-button {
    margin-top: 1rem !important;
    align-self: center;
    width: auto;
  }
  .zimmer-item ul.position-absolute.top-0.start-0.m-4 {
    margin: 0.5rem !important;
  }
  .zimmer-slider .slider-item {
    margin-right: unset !important;
  }
  h4.m-0.ms-3 {
    margin: unset !important;
  }
  /* zimmer-filter-section end */
  /* fancy-text-two-section */

  .fancy-text-dropdown .col-md-6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .fancy-text-dropdown h4.text-uppercase,
  .fancy-text-dropdown .headline,
  .fancy-text-dropdown .fancy-text-section-text {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
  }
  .fancy-text-dropdown .main-button {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1rem;
  }
  .fancy-text-dropdown .dropdown-items {
    margin-top: 2rem !important;
  }
  /* fancy-text-two-section end */
}

/* Fixes */

/* Lenis */
