/*
 * Erwachsenenhotels.de – TBE2 theme
 * Scope: ausschließlich das gerenderte <tbe>-Element und nachgewiesene
 * TBE2-/Material-Klassen. Keine Positions- oder Funktionsänderungen.
 * Diese Datei wird nach der offiziellen Partner-CSS geladen.
 */
tbe {
  display: block;
  min-height: 230px;
  color: #25322f;
  background: transparent;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  accent-color: #123f3a;
}

tbe:empty {
  display: grid;
  place-items: center;
}

tbe:empty::before {
  content: "Buchungsmaske wird geladen …";
  padding: 1rem 1.25rem;
  color: #61706c;
  font: 600 .92rem/1.5 system-ui, sans-serif;
  text-align: center;
}

tbe .tbe-container,
tbe .tbe-content-wrapper,
tbe .tbe-search-wrapper,
tbe .tbe-searchpage,
tbe .tbe-regionpage {
  color: #25322f;
  background-color: transparent;
}

tbe .tbe-switch__tabs {
  overflow: hidden;
  border-bottom-color: #123f3a;
  border-radius: .75rem .75rem 0 0;
}

tbe .tbe-switch__tab {
  color: #25322f;
  border-color: #ddd4c7;
  background-color: #f4eadb;
}

tbe .tbe-switch__tab:hover {
  color: #123f3a;
  background-color: #eee1d2;
}

tbe .tbe-switch__tab.active {
  color: #fbfaf7;
  border-color: #123f3a;
  background-color: #123f3a;
}

tbe .tbe-searchbox {
  color: #25322f;
  padding: clamp(1rem, 2vw, 1.75rem);
  border: 0;
  border-radius: 0 0 .9rem .9rem;
  background-color: rgba(244, 234, 219, .62);
}

tbe .tbe-input-label,
tbe .tbe-input-icon,
tbe .tbe-input-iconField__text,
tbe .tbe-input-pmslider__value {
  color: #25322f;
}

tbe .tbe-input-text input,
tbe .tbe-input-autosuggest input,
tbe .tbe-input-datepicker input,
tbe .tbe-input-select select,
tbe .tbe-input-multiple input,
tbe .mat-mdc-input-element {
  color: #25322f;
  border-color: #ddd4c7;
  background-color: #fbfaf7;
  caret-color: #123f3a;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

tbe .tbe-input-text input,
tbe .tbe-input-autosuggest input,
tbe .tbe-input-datepicker input,
tbe .tbe-input-select select,
tbe .tbe-input-multiple input,
tbe .mat-mdc-input-element,
tbe .tbe-primary-button,
tbe .tbe-searchbox__submit {
  min-height: 3.1rem;
  border-radius: .45rem;
}

tbe .tbe-input-text input:hover,
tbe .tbe-input-autosuggest input:hover,
tbe .tbe-input-datepicker input:hover,
tbe .tbe-input-select select:hover,
tbe .tbe-input-multiple input:hover,
tbe .mat-mdc-input-element:hover {
  border-color: #61706c;
}

tbe .tbe-input-text input:focus,
tbe .tbe-input-autosuggest input:focus,
tbe .tbe-input-datepicker input:focus,
tbe .tbe-input-select select:focus,
tbe .tbe-input-multiple input:focus,
tbe .mat-mdc-input-element:focus {
  border-color: #b65f3a;
  outline: 2px solid rgba(182, 95, 58, .32);
  outline-offset: 1px;
}

tbe .tbe-primary-button,
tbe .tbe-searchbox__submit,
tbe .tbe-searchbox__additionalSubmit,
tbe .tbe-input-multiple__submit,
tbe .tbe-timespan-component__submit,
tbe .tbe-travellers-component__submit,
tbe .tbe-ratings-component__submit {
  color: #fbfaf7;
  border-color: #123f3a;
  background-color: #123f3a;
  font-family: inherit;
}

tbe .tbe-primary-button:hover,
tbe .tbe-searchbox__submit:hover,
tbe .tbe-searchbox__additionalSubmit:hover,
tbe .tbe-input-multiple__submit:hover,
tbe .tbe-timespan-component__submit:hover,
tbe .tbe-travellers-component__submit:hover,
tbe .tbe-ratings-component__submit:hover {
  border-color: #24534d;
  background-color: #24534d;
}

tbe .tbe-primary-button:focus-visible,
tbe .tbe-searchbox__submit:focus-visible,
tbe .tbe-input-multiple__submit:focus-visible,
tbe .tbe-timespan-component__submit:focus-visible,
tbe .tbe-travellers-component__submit:focus-visible,
tbe .tbe-ratings-component__submit:focus-visible,
tbe .tbe-switch__tab:focus-visible,
tbe .tbe-collapse__link:focus-visible,
tbe .tbe-breadcrumb__link:focus-visible {
  outline: 3px solid #b65f3a;
  outline-offset: 3px;
}

tbe .tbe-input-multiple__popup,
tbe .tbe-timespan-component__popup,
tbe .tbe-travellers-component__popup,
tbe .tbe-ratings-component__popup,
tbe .tbe-tooltip__overlay,
tbe .tbe-modal__content {
  color: #25322f;
  border-color: #ddd4c7;
  background-color: #fbfaf7;
}

tbe .tbe-input-multiple__category,
tbe .tbe-input-multiple__reset,
tbe .tbe-ratings-component__reset,
tbe .tbe-collapse__link,
tbe .tbe-breadcrumb__link,
tbe .tbe-notepad__link {
  color: #123f3a;
}

tbe .tbe-input-multiple__category:hover,
tbe .tbe-input-multiple__reset:hover,
tbe .tbe-ratings-component__reset:hover,
tbe .tbe-collapse__link:hover,
tbe .tbe-breadcrumb__link:hover,
tbe .tbe-notepad__link:hover {
  color: #b65f3a;
}

tbe .tbe-breadcrumb__link {
  border-color: #ddd4c7;
  background-color: #f4eadb;
}

tbe .tbe-breadcrumb__link--active {
  color: #fbfaf7;
  border-color: #123f3a;
  background-color: #123f3a;
}

tbe .tbe-breadcrumb__link--disabled {
  color: #61706c;
  background-color: #f3efe7;
}

tbe .tbe-regions__row {
  color: #25322f;
  border-color: #ddd4c7;
  background-color: #fbfaf7;
}

tbe .tbe-regions__row:hover {
  background-color: #f4eadb;
}

tbe .tbe-regions__row--head {
  color: #fbfaf7;
  border-color: #123f3a;
  background-color: #123f3a;
}

tbe .tbe-notepad,
tbe .tbe-notepad__hotels,
tbe .tbe-notepad__priceinfo,
tbe .tbe-credit {
  color: #25322f;
  border-color: #ddd4c7;
  background-color: #fbfaf7;
}

tbe .noUi-target,
tbe .noUi-connects {
  border-color: #ddd4c7;
  background-color: #e8e1d7;
}

tbe .noUi-connect {
  background-color: #123f3a;
}

tbe .noUi-handle {
  border-color: #123f3a;
  background-color: #fbfaf7;
  box-shadow: 0 2px 8px rgba(18, 63, 58, .18);
}

tbe .mat-calendar {
  color: #25322f;
  background-color: #fbfaf7;
}

tbe .mat-calendar-body-selected {
  color: #fbfaf7;
  background-color: #123f3a;
}

tbe .mat-calendar-body-active .mat-calendar-body-cell-content {
  outline-color: #b65f3a;
}

tbe .mat-calendar-body-cell-content:hover {
  background-color: #f4eadb;
}

tbe .spinner,
tbe .mat-mdc-progress-spinner {
  color: #b65f3a;
}

@media (prefers-reduced-motion: reduce) {
  tbe *,
  tbe *::before,
  tbe *::after {
    scroll-behavior: auto;
    transition-duration: .01ms;
    animation-duration: .01ms;
    animation-iteration-count: 1;
  }
}
