@charset "UTF-8";
/* RESET */
html, body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

li {
  padding: 0;
  margin: 0;
}

a {
  color: unset;
  text-decoration: none;
}
a:not(.btn):hover {
  text-decoration: none;
  opacity: 0.8;
}

.newsletter-icon {
  opacity: 0.9;
  transform: scale(0.78);
  position: absolute;
  border-radius: 50%;
  padding: 10px;
  top: 80px;
  right: -65px;
  z-index: 3;
  cursor: pointer;
}
@media (max-width: 992px) {
  .newsletter-icon {
    right: 0px;
  }
  .newsletter-icon img {
    height: 62px;
  }
}

#basketicon_shop:hover {
  opacity: 0.8 !important;
}

.a {
  transition: opacity 0.2s ease; /* Nur opacity animieren */
}

.a:hover {
  opacity: 0.8;
  transform: translateZ(0); /* Hardwarebeschleunigung */
}

u {
  text-decoration: none !important;
}

p a {
  text-decoration: none;
  font-weight: 600;
}

body.modal-open header {
  right: 15px;
  width: calc(100% - 15px);
}

@supports (-webkit-touch-callout: none) {
  body.modal-open header {
    right: 12px;
    width: calc(100% - 12px);
  }
}
input, textarea, select {
  background-color: #fbf8f7 !important;
  border-radius: 25px !important;
  border-color: #4F2E27 !important;
  color: #4F2E27 !important;
}
input:focus, textarea:focus, select:focus {
  border-color: #4F2E27 !important;
  box-shadow: 0 0 0 0.25rem rgba(78, 46, 39, 0.33) !important;
}

/* GENERAL */
ul.horizontal {
  display: flex;
  align-items: center;
  gap: 7px;
  list-style: none;
  padding: 0;
}

ul.horizontal li:not(:last-child)::after {
  content: "";
  display: inline-block;
  margin-left: 7px;
  width: 2px;
  height: 1.5rem;
  background: linear-gradient(to bottom, transparent, #442d25, transparent);
  vertical-align: middle;
}

.block-padding {
  padding-bottom: 5rem;
  padding-top: 5rem;
}

.img-fluid img {
  height: auto;
  width: 100%;
}

/* SWIPER & HEADER */
:root {
  --header-height: 147px;
  --box-height: 170px;
}

@media (max-width: 399px) {
  :root {
    --header-height: 126px;
    --box-height: 145px;
  }
}
header {
  height: var(--header-height);
  transition: height 0.2s ease;
}
header img, header #logowrap {
  transition: all 0.2s ease;
}

@media (max-width: 1399px) {
  header.smaller {
    height: calc(var(--header-height) * 0.7);
  }
  header.smaller img {
    transform: scale(0.6);
    transform-origin: left center;
  }
  header.smaller #logowrap {
    margin-top: 0 !important;
    margin-bottom: 15px !important;
  }
}
img.logoheightreset {
  height: 99px;
}

html {
  scroll-padding-top: calc(var(--header-height) + 30px);
}

#headspacer {
  height: var(--header-height);
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}

.swiper {
  width: 100%;
  height: 100%;
}

.swiper-slide {
  width: 100%;
  height: 100%;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.swiper-wrapper {
  height: 100%;
}

.swiper-container-full-height {
  height: calc(100vh - var(--header-height));
  display: flex;
  flex-direction: column;
}

.swiper-full-height {
  flex: 1;
}

.swiper-full-height {
  flex: 1;
}

.thai img {
  transition: all 0.2s ease-in-out;
}
.thai img:hover {
  transform: scale(1.15);
}

/* SWIPER BOX UNDER */
.box-under-swiper {
  height: var(--box-height);
  background-color: #f0f0f0;
}

.logo-item {
  display: flex;
  align-items: center;
  justify-content: center;
}

.logo-item img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* SHOP */
.btn-custom-gray {
  background-color: #AF9090;
  color: white;
  border: none;
  border-radius: 30px;
  padding: 10px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn-custom-gray:hover, .btn-custom-gray:focus, .btn-custom-gray:active {
  background-color: #c4aeae !important;
  color: white !important;
}

.btn-dark-brown {
  background-color: #4F2E27;
  color: white;
  border-radius: 30px;
  padding: 10px 20px;
  font-weight: bold;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn-dark-brown:hover, .btn-dark-brown:focus, .btn-dark-brown:active {
  background-color: #714238 !important;
  color: #f1dfd7 !important;
}

.description-text {
  line-height: 1.4;
  max-width: 600px;
}

/* FONTS */
@font-face {
  font-family: "Lansing";
  src: url("../fonts/Lansing.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("../fonts/SourceSansPro-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("../fonts/SourceSansPro-It.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("../fonts/SourceSansPro-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("../fonts/SourceSansPro-Semibold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("../fonts/SourceSansPro-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Source Sans Pro";
  src: url("../fonts/SourceSansPro-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
}
body {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 300; /* Nutzt SourceSansPro-Regular.otf */
  line-height: 1.6;
  font-size: 20px;
  -webkit-font-smoothing: antialiased;
  word-break: break-word;
}

h4, h5, h6 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 600; /* Nutzt SourceSansPro-Semibold.otf */
  color: #4F2E27;
  margin-bottom: 1rem;
}

h1, h2, h3 {
  font-family: "Lansing", sans-serif;
  color: #4F2E27;
  margin-bottom: 1rem;
}

header, footer nav, .price {
  font-family: "Lansing", sans-serif;
  color: #370F0F;
}

.text-brown {
  color: #4F2E27;
}

strong {
  font-weight: 600;
  color: #4F2E27;
}

.heading-white strong, .heading-white h1, .heading-white h2, .heading-white h3, .heading-white h4, .heading-white h5, .heading-white h6 {
  color: #fff;
}

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  background-color: #4F2E27 !important;
}

.social_contact {
  margin-top: 20px;
  font-size: 14px;
  color: #4F2E27 !important;
  display: flex;
  gap: 10px; /* Abstand zwischen den Icons */
  justify-content: center; /* Zentriert die Icons horizontal */
  align-items: center; /* Zentriert die Icons vertikal */
}
.social_contact a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.social_contact svg {
  width: 60px; /* Größe der Icons */
  height: 60px;
  fill: #4F2E27 !important; /* Farbe der Icons */
}

/* MOBILE MENU */
.menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: 175px;
  height: 100%;
  background: #f4f4f4;
  box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
  overflow-y: auto;
  transition: right 0.3s ease;
  z-index: 999;
  color: #4F2E27;
}

.menu.active {
  right: 0;
}

.menu .close-btn {
  position: absolute;
  top: 0px;
  right: 15px;
  cursor: pointer;
  font-size: 40px;
  cursor: pointer;
  color: #4F2E27;
  background: none;
  border: none;
}

.menu ul {
  list-style: none;
  padding: 10px;
  margin: 0;
  padding-left: 20px;
  margin-top: 20px;
}

.menu ul li {
  margin: 10px 0;
}

.menu ul li a {
  text-decoration: none;
  color: #4F2E27;
  font-size: 18px;
}

/* SWIPER */
@media (max-width: 992px) {
  .logos-daniel-container {
    margin: 0;
    max-width: 100%;
  }
  .logos-container, .daniel-container {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-left: 15px;
    padding-right: 15px;
  }
  .logos-container .logo-item {
    flex: 0 0 auto;
    width: 150px;
    margin: 0 5px; /* Reduce spacing between items */
  }
  .daniel-container .daniel-item {
    flex: 0 0 auto;
    max-width: 100px;
    margin: 0 5px;
  }
  .logos-container .logo-item:first-child {
    margin-left: 0;
  }
  .logos-container .logo-item:last-child {
    margin-right: 0;
  }
  img {
    max-width: 100%;
    height: auto;
  }
}
/* basket */
#basket-wrapper {
  position: fixed;
  right: 20px;
  top: 50%;
  cursor: pointer;
  transform: translateX(200%);
}
#basket-wrapper.show {
  animation: slideIn 0.5s ease-out;
  transform: translateX(0);
}
#basket-wrapper #basket-icon {
  position: relative;
  z-index: 10;
  background-color: white;
  border-radius: 50%;
  padding-top: 13px;
  padding-bottom: 10px;
  padding-left: 13px;
  padding-right: 10px;
  box-shadow: 0 0 0 3px #EFE2DF;
}
#basket-wrapper #basket-icon .basket-badge {
  position: absolute;
  top: -12px;
  right: 0px;
  background-color: #4f2e27;
  width: 25px;
  color: white;
  border-radius: 50%;
  padding: 2px 9px;
  font-size: 14px;
  font-weight: bold;
}
#basket-wrapper #basket-icon svg {
  width: 40px !important;
  height: 40px !important;
  fill: #4F2E27 !important;
}

@keyframes slideIn {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
/* Wackel-Animation */
@keyframes shake {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateY(-9px);
  }
  35% {
    transform: translateY(-9px) rotate(17deg);
  }
  55% {
    transform: translateY(-9px) rotate(-17deg);
  }
  65% {
    transform: translateY(-9px) rotate(17deg);
  }
  75% {
    transform: translateY(-9px) rotate(-17deg);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.shake {
  animation: shake 1s ease-in-out infinite;
}

/* Warenkorb Styling */
#basket-list img {
  width: 50px;
  height: auto;
  margin-right: 10px;
}

#basket-list li {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.swiper, .swiperG {
  overflow: hidden;
}

.swiper-slide {
  overflow: hidden;
}

@font-face {
  font-family: "Thonburi";
  src: url("../fonts/Thonburi_Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  unicode-range: U+0E00-0E7F;
}
/* Termine */
.fc .fc-daygrid-day.fc-day-today {
  background-color: #FBE8C5;
  font-weight: 600;
}

#calendar table {
  background-color: #EFE2DF !important;
}

.terminwrap {
  background-color: rgb(207, 190, 186);
  background-size: 220%;
  padding: 10px;
  margin-top: 15px;
  max-width: 641px;
  border-radius: 25px !important;
}

.termintext {
  width: 538px;
}

@media (max-width: 992px) {
  .terminwrap {
    background-image: none !important;
    max-width: 100%;
    padding-right: 0 !important;
  }
  .termintext {
    width: 100%;
  }
}
/* TERMINE */
.fc {
  min-height: 0 !important;
  position: relative;
}

.fc-event-time, .fc-event-title {
  display: none;
}

.fc-daygrid-event-dot {
  border: calc(var(--fc-daygrid-event-dot-width) / 2) solid #4F2E27;
  border-radius: 50px !important;
  height: 0px !important;
  border-width: 14px !important;
  margin: 0px 0px !important;
  width: 0px;
}

#calender button {
  display: inline-flex;
}

.fc .fc-toolbar.fc-header-toolbar {
  margin-bottom: 0.2em;
}

.fc-dayGridMonth-view {
  display: flex;
  justify-content: start;
}

.fc-toolbar {
  display: flex;
  justify-content: space-between !important;
}
.fc-toolbar .fc-toolbar-title {
  min-width: 170px;
}

#calendar button {
  background-color: #4F2E27;
  color: white;
  border-radius: 20px;
  padding: 5px 10px;
  font-weight: bold;
  border: none;
  font-size: 14px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.fc-toolbar-chunk {
  display: flex;
  justify-content: end;
  align-self: flex-end;
}

#calendar h2 {
  font-size: 16px !important;
}

.fc-daygrid-day-events {
  position: relative;
}
.fc-daygrid-day-events .fc-daygrid-event-harness {
  position: absolute;
  top: 0;
  left: 0;
}

.fc-daygrid-day-frame {
  position: relative;
}
.fc-daygrid-day-frame .fc-daygrid-day-top {
  position: absolute;
  top: 0;
  left: 0;
}

a.fc-event, a.fc-event:hover {
  background: none !important;
  text-decoration: none;
  opacity: 1;
  margin-left: 28px !important;
  margin-top: 5px !important;
}

.dot-wrapper {
  display: flex;
  gap: 2px;
}

.terminwrap {
  overflow: hidden;
}

.termin-date {
  background-image: url("/image/X.png");
  width: 140.85px;
  height: 147.15px;
  background-size: 60%;
  background-position: 35px 15px;
  background-repeat: no-repeat;
  margin-top: -10px;
  margin-left: -16px;
}

/* Dot 1 → Website */
.dot-link {
  background-color: #78625d;
  transition: all 0.2s ease;
}
.dot-link:hover {
  transform: scale(1.1);
  opacity: 0.8 !important;
}

.fc-button-group button:hover {
  opacity: 0.8 !important;
}

.dot-link::before {
  width: 14px !important;
  height: 14px !important;
}

/* Dot 2 → Popup */
.dot-popup {
  background-color: #4F2E27;
  transition: all 0.2s ease;
}
.dot-popup:hover {
  transform: scale(1.1);
  opacity: 0.8 !important;
}

/* Basis Dot */
.dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

/* SVG allgemein */
.dot::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

h4, h5 {
  font-family: "Lansing", sans-serif;
  font-weight: 400;
}

.modal-footer {
  justify-content: space-between;
}

.dot-link::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'><path fill='%23fff' d='M384 64C366.3 64 352 78.3 352 96C352 113.7 366.3 128 384 128L466.7 128L265.3 329.4C252.8 341.9 252.8 362.2 265.3 374.7C277.8 387.2 298.1 387.2 310.6 374.7L512 173.3L512 256C512 273.7 526.3 288 544 288C561.7 288 576 273.7 576 256L576 96C576 78.3 561.7 64 544 64L384 64zM144 160C99.8 160 64 195.8 64 240L64 496C64 540.2 99.8 576 144 576L400 576C444.2 576 480 540.2 480 496L480 416C480 398.3 465.7 384 448 384C430.3 384 416 398.3 416 416L416 496C416 504.8 408.8 512 400 512L144 512C135.2 512 128 504.8 128 496L128 240C128 231.2 135.2 224 144 224L224 224C241.7 224 256 209.7 256 192C256 174.3 241.7 160 224 160L144 160z'/></svg>");
}

.dot-popup::before {
  /*  background-image: url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'>\
  <path fill='%23fff' d='M424 64C437.3 64 448 74.7 448 88L448 128L480 128C515.3 128 544 156.7 544 192L544 480C544 515.3 515.3 544 480 544L160 544C124.7 544 96 515.3 96 480L96 192C96 156.7 124.7 128 160 128L192 128L192 88C192 74.7 202.7 64 216 64C229.3 64 240 74.7 240 88L240 128L400 128L400 88C400 74.7 410.7 64 424 64zM160 176C151.2 176 144 183.2 144 192L144 480C144 488.8 151.2 496 160 496L480 496C488.8 496 496 488.8 496 480L496 192C496 183.2 488.8 176 480 176L160 176zM390.7 241.9C398.5 231.2 413.5 228.8 424.2 236.6C434.9 244.4 437.3 259.4 429.5 270.1L307.4 438.1C303.3 443.8 296.9 447.4 289.9 447.9C282.9 448.4 276 445.9 271.1 441L215.2 385.1C205.8 375.7 205.8 360.5 215.2 351.2C224.6 341.9 239.8 341.8 249.1 351.2L285.1 387.2L390.7 242z'/>\
  </svg>");
  */
}

.dot-popup::before {
  background-image: url("data:image/svg+xml;utf8,<svg class='me-1' height='23' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M4 19V6.2C4 5.0799 4 4.51984 4.21799 4.09202C4.40973 3.71569 4.71569 3.40973 5.09202 3.21799C5.51984 3 6.0799 3 7.2 3H16.8C17.9201 3 18.4802 3 18.908 3.21799C19.2843 3.40973 19.5903 3.71569 19.782 4.09202C20 4.51984 20 5.0799 20 6.2V17H6C4.89543 17 4 17.8954 4 19ZM4 19C4 20.1046 4.89543 21 6 21H20M9 7H15M9 11H15M19 17V21' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}

/*# sourceMappingURL=style.css.map */
