:root {
  --s43-navy: #0f2d49;
  --s43-navy-dark: #092039;
  --s43-blue: #24384f;
  --s43-gold: #d19e2d;
  --s43-gold-dark: #b9861f;
  --s43-sand: #f5f0e8;
  --s43-sand-light: #fbf7ef;
  --s43-white: #ffffff;
  --s43-text: #24384f;
  --s43-muted: #6f7882;
  --s43-border: rgba(209, 158, 45, 0.55);
  --s43-shadow: 0 24px 70px rgba(9, 32, 57, 0.28);
  --s43-hero-image: url("https://seaside43.de/wp-content/uploads/2026/05/hintergrundbild-zimmersoftware.png");
}

/* =========================================================
   SEASIDE 43 – Zimmersoftware Custom Theme
   Optimierte Version: bereinigt, gleiche Optik, ohne doppelte Blöcke
   ========================================================= */

* {
  box-sizing: border-box !important;
}

html,
body {
  min-height: 100% !important;
}

body {
  margin: 0 !important;
  background: var(--s43-sand) !important;
  color: var(--s43-text) !important;
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: geometricPrecision !important;
}

a {
  color: inherit !important;
  text-decoration: none !important;
}

/* =========================================================
   Header / Navigation
   ========================================================= */

header.clx {
  background: rgba(255, 255, 255, 0.97) !important;
  border-bottom: 3px solid var(--s43-gold) !important;
  box-shadow: 0 8px 28px rgba(9, 32, 57, 0.08) !important;
  min-height: 132px !important;
  position: relative !important;
  z-index: 50 !important;
}

header.clx>.container {
  max-width: 1220px !important;
  min-height: 132px !important;
  padding: 0 28px !important;
  position: relative !important;
}

header.clx .row {
  min-height: 132px !important;
  display: flex !important;
  align-items: flex-end !important;
  margin: 0 !important;
  padding: 0 0 28px !important;
}

.extracontainer {
  position: absolute !important;
  top: 14px !important;
  right: 28px !important;
  z-index: 4 !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--s43-navy-dark) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  text-align: right !important;
}

.extrainfo,
.extrainfo a,
.extracontainer a {
  color: var(--s43-navy-dark) !important;
  font-weight: 650 !important;
  opacity: 1 !important;
}

.extrainfo i,
.extracontainer i {
  color: var(--s43-navy-dark) !important;
  margin-right: 4px !important;
}

.extrainfo a:hover,
.extracontainer a:hover,
.navigation a:hover,
.globe_switcher:hover {
  color: var(--s43-gold) !important;
}

.logo {
  width: 315px !important;
  height: 82px !important;
  min-height: 82px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  flex: 0 0 315px !important;
}

.logo a.dBlock,
.logo a {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  width: 315px !important;
  height: 78px !important;
  overflow: visible !important;
}

/* Logo als echtes hinterlegtes Bild anzeigen, keine CSS-Nachzeichnung */
.logo a::before,
.logo a::after {
  content: none !important;
  display: none !important;
}

.logo a {
  background: none !important;
}

.logo img {
  display: block !important;
  /* width: auto !important;
  max-width: 315px !important;
  max-height: 78px !important;*/
  object-fit: contain !important;
}

.langSelect.navArea,
.navArea,
.navigation {
  width: auto !important;
  margin-left: auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
}

.langSelect {
  position: relative !important;
}

.navigation ul {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.navigation li {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.navigation li:empty,
.navigation ul>li:first-child:empty {
  display: none !important;
}

.navigation a,
.globe_switcher {
  color: var(--s43-navy-dark) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
}

.globe_switcher {
  position: relative !important;
  padding: 0 2px !important;
}

.globe_switcher::after {
  content: "⌄" !important;
  display: inline-block !important;
  margin-left: 8px !important;
  color: var(--s43-navy-dark) !important;
  font-size: 15px !important;
  transform: translateY(-1px) !important;
}

.globe_switcher .child_menu,
.child_menu {
  top: 24px !important;
  right: 0 !important;
  left: auto !important;
  min-width: 210px !important;
  background: var(--s43-white) !important;
  border: 1px solid rgba(15, 45, 73, 0.12) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 45px rgba(9, 32, 57, 0.16) !important;
  overflow: hidden !important;
  z-index: 100 !important;
}

.globe_switcher .child_menu li,
.child_menu li,
.child_menu a {
  color: var(--s43-navy-dark) !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}

.menu-responsive {
  display: none !important;
}

header.clx .titlebarcontainer:not(:has(.s_20_container)) {
  display: none !important;
}

/* =========================================================
   Hero / Startseite
   ========================================================= */

.homeBanner {
  position: relative !important;
  min-height: 560px !important;
  padding: 86px 24px 92px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background:
    linear-gradient(180deg, rgba(245, 240, 232, 0.06) 0%, rgba(245, 240, 232, 0.28) 48%, rgba(15, 45, 73, 0.50) 100%),
    linear-gradient(90deg, rgba(9, 32, 57, 0.42), rgba(255, 255, 255, 0.10), rgba(9, 32, 57, 0.20)),
    var(--s43-hero-image) center center / cover no-repeat !important;
}

.homeBanner::before {
  content: "Willkommen im\A Seaside 43";
  white-space: pre-line !important;
  position: absolute !important;
  top: 58px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(92vw, 900px) !important;
  text-align: center !important;
  color: var(--s43-navy-dark) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(34px, 5vw, 72px) !important;
  line-height: 0.95 !important;
  letter-spacing: 0.055em !important;
  text-shadow: 0 2px 18px rgba(255, 255, 255, 0.55) !important;
  pointer-events: none !important;
}

.homeBanner::after {
  content: "Ihr Rückzugsort an der Nordsee";
  position: absolute !important;
  top: clamp(172px, 22vw, 208px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(92vw, 720px) !important;
  text-align: center !important;
  color: rgba(112, 81, 20, 0.88) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(18px, 2.4vw, 27px) !important;
  letter-spacing: 0.025em !important;
  text-shadow: 0 2px 18px rgba(255, 255, 255, 0.55) !important;
  pointer-events: none !important;
}

.bookRoom {
  position: relative !important;
  z-index: 2 !important;
  width: min(1120px, calc(100vw - 48px)) !important;
  margin: 210px auto 0 !important;
  padding: 30px 36px !important;
  background: linear-gradient(135deg, rgba(9, 32, 57, 0.97), rgba(15, 45, 73, 0.94)) !important;
  color: var(--s43-white) !important;
  border-radius: 18px !important;
  border: 1px solid var(--s43-border) !important;
  box-shadow: var(--s43-shadow) !important;
  overflow: visible !important;
}

.bookRoom h2 {
  color: var(--s43-white) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  line-height: 1.15 !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  margin: 0 0 22px !important;
  text-align: center !important;
}

/* =========================================================
   Formularfelder allgemein / Start- und Ergebnis-Suche
   ========================================================= */

.s_10_container,
.s_20_container {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.bookRoom label,
.s_20_container label,
.s_20_container span,
.rightDd span {
  display: block !important;
  color: var(--s43-white) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  margin-bottom: 8px !important;
  letter-spacing: 0.01em !important;
}

.dpArea,
.rightAreaDd,
.rightDd,
.halfWidth,
.rightSubmit {
  float: none !important;
}

.rightAreaDd {
  display: flex !important;
  align-items: flex-end !important;
  gap: 16px !important;
}

.calender_box,
.t-datepicker {
  display: flex !important;
  gap: 10px !important;
}

.t-check-in,
.t-check-out {
  display: block !important;
}

.t-dates,
.select_box2,
.selblock {
  min-height: 52px !important;
  height: 52px !important;
  min-width: 98px !important;
  background: rgba(255, 255, 255, 0.97) !important;
  color: var(--s43-navy-dark) !important;
  border: 1px solid rgba(255, 255, 255, 0.74) !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  box-shadow: 0 8px 24px rgba(9, 32, 57, 0.22) !important;
  outline: none !important;
}

.t-dates {
  min-width: 154px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.t-dates i {
  color: var(--s43-gold) !important;
}

.select_box2:focus,
.t-dates:hover,
.submitBtn:focus {
  border-color: var(--s43-gold) !important;
  box-shadow: 0 0 0 3px rgba(209, 158, 45, 0.24), 0 8px 24px rgba(9, 32, 57, 0.20) !important;
}

.submitBtn,
.submitbtn2,
input[type="submit"].submitBtn {
  min-height: 52px !important;
  height: 52px !important;
  min-width: 250px !important;
  padding: 0 34px !important;
  background: linear-gradient(180deg, #e3b744 0%, var(--s43-gold) 100%) !important;
  color: var(--s43-white) !important;
  border: 0 !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  letter-spacing: 0.01em !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.12) !important;
  box-shadow: 0 12px 26px rgba(209, 158, 45, 0.32) !important;
  cursor: pointer !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

.submitBtn:hover,
.submitbtn2:hover {
  background: linear-gradient(180deg, #f0c75a 0%, var(--s43-gold-dark) 100%) !important;
  color: var(--s43-white) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 34px rgba(209, 158, 45, 0.40) !important;
}

.bookRoom .dpArea {
  width: 300px !important;
  min-width: 300px !important;
}

.bookRoom .calender_box,
.bookRoom .t-datepicker {
  width: 300px !important;
}

.bookRoom .t-check-in,
.bookRoom .t-check-out,
.bookRoom .t-dates {
  width: 145px !important;
  min-width: 145px !important;
}

.bookRoom .t-dates {
  box-sizing: border-box !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-align: left !important;
}

.bookRoom .rightAreaDd {
  display: contents !important;
}

.bookRoom .halfWidth,
.bookRoom .select_box2 {
  width: 120px !important;
  min-width: 120px !important;
}

.bookRoom .halfWidth {
  margin: 0 !important;
}

.bookRoom .select_box2,
.bookRoom .submitBtn {
  height: 54px !important;
  box-sizing: border-box !important;
}

.bookRoom .rightSubmit,
.bookRoom .submitBtn {
  width: 260px !important;
  min-width: 260px !important;
}

.bookRoom label,
.bookRoom .halfWidth label {
  text-align: center !important;
  min-height: 18px !important;
}

/* =========================================================
   Ergebnis- / Fehlerseiten: Suchleiste oben
   ========================================================= */

.titlebarcontainer {
  background: var(--s43-blue) !important;
  border-bottom: 4px solid var(--s43-gold) !important;
  padding: 26px 0 34px !important;
  box-shadow: 0 12px 30px rgba(9, 32, 57, 0.12) !important;
}

.titlebarcontainer .container {
  max-width: 1180px !important;
}

.titlebarcontainer .s_20_container,
.s_20_container {
  display: grid !important;
  grid-template-columns: 320px 130px 130px 130px 280px !important;
  gap: 24px !important;
  justify-content: center !important;
  width: 100% !important;
}

.s_20_container label,
.s_20_container span {
  color: var(--s43-white) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}

.s_20_date_c,
.s_20_container .calender_box,
.s_20_container .t-datepicker {
  width: 320px !important;
}

.s_20_container .calender_box,
.s_20_container .t-datepicker {
  display: flex !important;
  gap: 10px !important;
}

.s_20_container .t-check-in,
.s_20_container .t-check-out {
  width: 155px !important;
  min-width: 155px !important;
}

.s_20_container .t-dates {
  width: 155px !important;
  height: 52px !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

.s_20_container .rightAreaDd {
  display: contents !important;
}

.s_20_container .rightDd,
.s_20_container .select_box2 {
  width: 130px !important;
  min-width: 130px !important;
}

.s_20_container .rightDd {
  margin: 0 !important;
}

.s_20_container .select_box2 {
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  box-sizing: border-box !important;
}

.s_20_container .rightSubmit {
  display: flex !important;
  align-items: flex-end !important;
  width: 280px !important;
  min-width: 280px !important;
  margin: 0 !important;
}

.s_20_container .submitBtn,
.s_20_container .submitbtn2 {
  width: 280px !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 28px !important;
  border-radius: 999px !important;
}

.s_20_container .t-dates,
.s_20_container .select_box2 {
  background: var(--s43-white) !important;
  color: var(--s43-blue) !important;
  border: 1px solid rgba(209, 158, 45, 0.45) !important;
  font-weight: 700 !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12) !important;
}

.s_20_container .submitBtn:hover,
.s_20_container .submitbtn2:hover {
  background: var(--s43-white) !important;
  color: var(--s43-blue) !important;
}

body>.clx,
.clx>section:not(.homeBanner),
.content,
.mainContent,
.noResult,
.noResults {
  background: var(--s43-hero-image);
}

.clx>section:not(.homeBanner),
.noResult,
.noResults,
.availabilityMessage {
  color: var(--s43-text) !important;
  font-size: 24px !important;
  line-height: 1.4 !important;
  text-align: center !important;
  padding: 44px 20px !important;
}

/* =========================================================
   Zimmerauswahl / Ergebnisliste
   ========================================================= */

.searchListWrap,
.fillDetails {
  position: relative !important;
  padding: 70px 0 !important;
  background: var(--s43-hero-image) center center / cover no-repeat !important;
}

.searchListWrap .container {
  max-width: 1180px !important;
}

.searchListWrap .tableWrap {
  display: grid !important;
  grid-template-columns: 1fr 360px !important;
  gap: 0 !important;
  align-items: stretch !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(209, 158, 45, 0.28) !important;
  border-radius: 18px !important;
  margin-bottom: 22px !important;
  overflow: visible !important;
  box-shadow: 0 18px 42px rgba(36, 56, 79, 0.14) !important;
}

.searchListWrap .hotContent {
  padding: 32px 36px !important;
  min-height: 118px !important;
  display: flex !important;
  align-items: center !important;
  background: rgba(255, 255, 255, 0.88) !important;
}

.searchListWrap .hotContent h4 {
  margin: 0 !important;
}

.searchListWrap .room {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: transparent !important;
  border: none !important;
  color: var(--s43-blue) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.searchListWrap .room i {
  color: var(--s43-gold) !important;
  font-size: 22px !important;
}

.searchListWrap .ratePart {
  padding: 24px 28px !important;
  background: linear-gradient(180deg, var(--s43-blue) 0%, #172b40 100%) !important;
  border-left: 1px solid rgba(209, 158, 45, 0.35) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.searchListWrap .ratestable {
  width: 100% !important;
  border-collapse: collapse !important;
  background: transparent !important;
}

.searchListWrap .ratestable th,
.searchListWrap .ratestable td {
  border: none !important;
  background: transparent !important;
  padding: 4px 0 !important;
}

.searchListWrap .ratestable th {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-align: left !important;
  padding-bottom: 12px !important;
}

.searchListWrap .qm {
  display: inline-block !important;
  position: relative !important;
  color: var(--s43-gold) !important;
  margin-left: 6px !important;
}

.searchListWrap .finalr {
  color: var(--s43-white) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  text-align: left !important;
  white-space: nowrap !important;
}

.searchListWrap .bookr {
  text-align: right !important;
}

.searchListWrap .btn_book {
  background: linear-gradient(180deg, #e0b545 0%, #c9972f 100%) !important;
  color: var(--s43-white) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  min-width: 130px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  box-shadow: 0 10px 22px rgba(209, 158, 45, 0.28) !important;
  cursor: pointer !important;
}

.searchListWrap .btn_book:hover {
  background: var(--s43-white) !important;
  color: var(--s43-blue) !important;
}

.searchListWrap .hint {
  background: var(--s43-white) !important;
  color: var(--s43-blue) !important;
  border: 1px solid rgba(209, 158, 45, 0.45) !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22) !important;
  min-width: 260px !important;
  z-index: 20 !important;
}

.searchListWrap .hint h3 {
  color: var(--s43-blue) !important;
  font-size: 20px !important;
  margin: 0 0 10px !important;
}

.searchListWrap .responsiveSlider,
.searchListWrap .roomDesc,
.searchListWrap .nodisc,
.searchListWrap .rebate,
.searchListWrap .showxs {
  display: none !important;
}

/* ==========================
   Keine Ergebnisse / H3 Bereich
========================== */

.searchListWrap h3 {
  max-width: 920px !important;
  margin: 42px auto 58px !important;
  padding: 34px 46px !important;

  background: rgba(255, 255, 255, .90) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;

  border: 1px solid rgba(209, 158, 45, .28) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 42px rgba(36, 56, 79, .16) !important;

  color: var(--s43-navy-dark) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(28px, 2.4vw, 42px) !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  letter-spacing: .01em !important;

  position: relative !important;
  overflow: hidden !important;
}

/* Goldene Linie oben */
.searchListWrap h3::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;

  width: 140px !important;
  height: 4px !important;

  background: linear-gradient(90deg,
      transparent 0%,
      var(--s43-gold) 15%,
      #e3b744 50%,
      var(--s43-gold) 85%,
      transparent 100%) !important;
}

/* Optional: freundlicher Zusatztext */
.searchListWrap h3::after {
  content: "Bitte wählen Sie einen anderen Zeitraum oder kontaktieren Sie uns direkt." !important;
  display: block !important;

  margin-top: 18px !important;

  color: rgba(36, 56, 79, .72) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

/* Mobile */
@media (max-width: 768px) {
  .searchListWrap h3 {
    margin: 28px 16px 40px !important;
    padding: 28px 24px !important;
    border-radius: 16px !important;
    font-size: 28px !important;
  }

  .searchListWrap h3::after {
    font-size: 14px !important;
  }
}

/* =========================================================
   Buchungsformular / Gastdaten
   ========================================================= */

.fillDetails .formArea,
.fillDetails .bookDtlsArea {
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(209, 158, 45, 0.28) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 42px rgba(36, 56, 79, 0.18) !important;
}

.fillDetails .formArea {
  padding: 28px 30px 34px !important;
}

.fillDetails label {
  color: var(--s43-blue) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}

.fillDetails label span,
.fillDetails input[type="radio"] {
  accent-color: var(--s43-gold) !important;
}

.fillDetails label span {
  color: var(--s43-gold) !important;
}

.fillDetails .form-group {
  margin-bottom: 18px !important;
}

.fillDetails .input1,
.fillDetails .form-control,
.fillDetails .select_box {
  height: 46px !important;
  background: var(--s43-white) !important;
  color: var(--s43-blue) !important;
  border: 1px solid rgba(36, 56, 79, 0.18) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 10px 13px !important;
}

.fillDetails .input1:focus,
.fillDetails .form-control:focus,
.fillDetails .select_box:focus {
  border-color: var(--s43-gold) !important;
  box-shadow: 0 0 0 3px rgba(209, 158, 45, 0.16) !important;
  outline: none !important;
}

.fillDetails .payment-label {
  margin-top: 8px !important;
  font-size: 17px !important;
  color: var(--s43-blue) !important;
}

.fillDetails .payment-wrapper {
  background: rgba(245, 240, 232, 0.75) !important;
  border: 1px solid rgba(209, 158, 45, 0.22) !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  margin: 6px 0 18px !important;
}

.fillDetails .all_btn,
.fillDetails .btn_next {
  background: linear-gradient(180deg, #e0b545 0%, #c9972f 100%) !important;
  color: var(--s43-white) !important;
  border: none !important;
  border-radius: 999px !important;
  min-height: 48px !important;
  padding: 0 34px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  box-shadow: 0 10px 22px rgba(209, 158, 45, 0.28) !important;
}

.fillDetails .all_btn:hover,
.fillDetails .btn_next:hover {
  background: var(--s43-blue) !important;
  color: var(--s43-white) !important;
}

.fillDetails .bookDtlsArea {
  padding: 28px 26px !important;
}

.fillDetails .bookDtlsTitle h3 {
  color: var(--s43-blue) !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  margin-bottom: 18px !important;
  padding-bottom: 16px !important;
  border-bottom: 2px solid rgba(36, 56, 79, 0.65) !important;
}

.fillDetails .bookDtlsArea ul {
  display: flex !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 0 0 10px !important;
}

.fillDetails .bookDtlsArea li {
  color: var(--s43-blue) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
}

.fillDetails .bookDtlsArea .info {
  font-weight: 800 !important;
}

.fillDetails .bookDtlsArea .val {
  text-align: right !important;
}

.fillDetails .totalPrice {
  margin-top: 20px !important;
  padding-top: 18px !important;
  border-top: 2px solid rgba(36, 56, 79, 0.65) !important;
}

.fillDetails .totalPrice h4 {
  color: var(--s43-blue) !important;
  font-size: 24px !important;
  font-weight: 800 !important;
}

.fillDetails .bookDtlsArea .btn_next {
  width: 100% !important;
  margin: 14px 0 0 !important;
  font-size: 13px !important;
}

/* =========================================================
   Kalender
   ========================================================= */

.popCalender,
.calenderPanel {
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 1px solid rgba(209, 158, 45, 0.32) !important;
  box-shadow: 0 24px 70px rgba(9, 32, 57, 0.28) !important;
}

.toppart,
.top_eliment,
.mid_eliment,
.btm_eliment {
  background: var(--s43-navy) !important;
  color: var(--s43-white) !important;
}

.calendar_mh,
.check_in_title,
.calendar_date_info,
.calender_week_each_name li,
.leftAngleBtn,
.leftAngleBtn i {
  color: var(--s43-white) !important;
}

.month_heading {
  color: var(--s43-navy-dark) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
}

.days,
.button.days {
  color: var(--s43-navy-dark) !important;
  border-radius: 999px !important;
}

.days.selectable:hover,
.days.today,
.days.calendar__selected,
.days.selected {
  background: var(--s43-gold) !important;
  color: var(--s43-white) !important;
}

.calendar__disabled {
  opacity: 0.28 !important;
}

/* =========================================================
   Footer / Kontaktbereich
   ========================================================= */

.contactDtl {
  background: linear-gradient(180deg, var(--s43-blue) 0%, #1d2e42 100%) !important;
  padding: 55px 0 !important;
  border-top: 1px solid rgba(209, 158, 45, 0.18) !important;
}

.contactDtl .col-md-4 {
  position: relative !important;
}

.contactDtl .col-md-4:not(:last-child)::after {
  content: "";
  position: absolute !important;
  right: 0 !important;
  top: 10% !important;
  height: 80% !important;
  width: 1px !important;
  background: rgba(255, 255, 255, 0.18) !important;
}

.contactDtlInner {
  padding: 10px 20px !important;
}

.contactDtlInner::after {
  display: none !important;
}

.contactDtl i,
footer i,
.footer i,
.footerTop i,
.footer_top i {
  display: block !important;
  color: var(--s43-gold) !important;
  font-size: 34px !important;
  margin-bottom: 16px !important;
}

.contactDtl h4,
.contactDtl h4 a {
  color: var(--s43-white) !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

.contactDtl a:hover,
.contactDtl a:hover h4 {
  color: var(--s43-gold) !important;
  transition: all 0.25s ease !important;
}

footer,
.footer,
.footerTop,
.footerBottom,
.footer_top,
.footer_bottom {
  background: linear-gradient(135deg, var(--s43-navy-dark), var(--s43-navy)) !important;
  color: var(--s43-white) !important;
  border-top: 1px solid rgba(209, 158, 45, 0.12) !important;
}

footer a,
.footer a,
.footerTop a,
.footerBottom a,
.footer_top a,
.footer_bottom a {
  color: rgba(255, 255, 255, 0.9) !important;
}

footer a:hover,
.footer a:hover,
.footerTop a:hover,
.footerBottom a:hover,
.footer_top a:hover,
.footer_bottom a:hover {
  color: var(--s43-gold) !important;
}

footer img,
.footer img,
.footerBottom img,
.footer_bottom img {
  opacity: 0.4 !important;
  filter: grayscale(100%) brightness(1.5) !important;
  max-height: 18px !important;
}

/* =========================================================
   Optionale Trustbar
   ========================================================= */

.s43-trustbar {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 28px 24px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  color: var(--s43-navy-dark) !important;
}

.s43-trustbar strong {
  color: var(--s43-navy-dark) !important;
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 980px) {
  .s_20_container {
    display: block !important;
    padding: 0 18px !important;
  }

  .s_20_date_c,
  .s_20_container .calender_box,
  .s_20_container .t-datepicker,
  .s_20_container .rightDd,
  .s_20_container .rightSubmit,
  .s_20_container .submitBtn,
  .s_20_container .submitbtn2 {
    width: 100% !important;
    min-width: 0 !important;
  }

  .s_20_container .t-check-in,
  .s_20_container .t-check-out {
    width: calc(50% - 5px) !important;
    min-width: 0 !important;
  }

  .s_20_container .t-dates {
    width: 100% !important;
  }

  .s_20_container .rightDd,
  .s_20_container .rightSubmit {
    margin-top: 14px !important;
  }
}

@media (max-width: 900px) {
  .homeBanner {
    min-height: auto !important;
    padding: 220px 18px 64px !important;
  }

  .homeBanner::before {
    top: 48px !important;
  }

  .homeBanner::after {
    top: 160px !important;
  }

  .bookRoom {
    width: 100% !important;
    margin-top: 0 !important;
    padding: 24px 18px !important;
    border-radius: 16px !important;
  }

  .bookRoom .s_10_container,
  .s_10_container,
  .rightAreaDd,
  .calender_box,
  .t-datepicker {
    display: block !important;
    width: 100% !important;
  }

  .dpArea,
  .rightAreaDd,
  .rightDd,
  .halfWidth,
  .rightSubmit,
  .t-check-in,
  .t-check-out,
  .bookRoom .dpArea,
  .bookRoom .calender_box,
  .bookRoom .t-datepicker,
  .bookRoom .t-check-in,
  .bookRoom .t-check-out,
  .bookRoom .t-dates,
  .bookRoom .halfWidth,
  .bookRoom .select_box2,
  .bookRoom .rightSubmit,
  .bookRoom .submitBtn {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 13px !important;
  }

  .t-dates,
  .select_box2,
  .selblock,
  .submitBtn,
  .submitbtn2 {
    width: 100% !important;
    min-width: 0 !important;
  }

  .bookRoom .halfWidth,
  .bookRoom .rightSubmit {
    margin-top: 14px !important;
  }

  .searchListWrap {
    padding: 42px 18px !important;
  }

  .searchListWrap .tableWrap {
    display: block !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }

  .searchListWrap .hotContent {
    padding: 26px 22px !important;
    min-height: auto !important;
  }

  .searchListWrap .room {
    font-size: 24px !important;
  }

  .searchListWrap .ratePart {
    border-left: none !important;
    border-top: 1px solid rgba(209, 158, 45, 0.35) !important;
    padding: 22px !important;
  }

  .searchListWrap .finalr {
    font-size: 26px !important;
  }

  .searchListWrap .btn_book {
    width: 100% !important;
    margin-top: 12px !important;
  }

  .searchListWrap .ratestable tr:last-child {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .searchListWrap .bookr {
    text-align: left !important;
  }

  .fillDetails .formArea,
  .fillDetails .bookDtlsArea {
    padding: 24px 20px !important;
    border-radius: 16px !important;
  }

  .fillDetails .col-md-6,
  .fillDetails .col-md-3 {
    width: 100% !important;
  }

  .fillDetails .bookDtlsArea {
    margin-top: 24px !important;
  }
}

@media (max-width: 768px) {

  header.clx,
  header.clx>.container {
    min-height: 116px !important;
  }

  header.clx>.container {
    padding: 0 18px !important;
  }

  header.clx .row {
    min-height: 116px !important;
    padding-bottom: 20px !important;
  }

  .extracontainer {
    top: 8px !important;
    right: 18px !important;
    left: 18px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .logo,
  .logo a.dBlock,
  .logo a {
    width: 220px !important;
    flex-basis: 220px !important;
  }

  .logo img {
    max-width: 220px !important;
    max-height: 58px !important;
  }

  .navigation ul {
    gap: 14px !important;
  }

  .navigation a,
  .globe_switcher {
    font-size: 14px !important;
  }

  .contactDtl {
    padding: 36px 0 !important;
  }

  .contactDtl .col-md-4 {
    margin-bottom: 24px !important;
  }

  .contactDtl .col-md-4::after {
    display: none !important;
  }

  .contactDtl i {
    font-size: 28px !important;
    margin-bottom: 12px !important;
  }

  .contactDtl h4,
  .contactDtl h4 a {
    font-size: 14px !important;
  }
}

@media (max-width: 560px) {
  .homeBanner {
    padding-top: 190px !important;
  }

  .homeBanner::before {
    font-size: 34px !important;
    letter-spacing: 0.035em !important;
  }

  .homeBanner::after {
    top: 138px !important;
    font-size: 18px !important;
  }

  .bookRoom h2 {
    font-size: 23px !important;
  }

  .titlebarcontainer .s_20_container {
    padding: 18px 14px !important;
  }
}