/*
Theme Name: Schalber Clean Rebuild
Template: hello-elementor
Version: 1.3.0
Description: Minimal trusted child theme for the isolated Schalber rebuild.
*/

:root {
  --schalber-content-width: 1200px;
}

html { scroll-behavior: smooth; }
body { margin: 0; }
/* Header nach Original-Vorlage "Schalber - Header" (Elementor Pro Theme Builder, hier ohne Pro nachgebaut) */
.schalber-site-header {
  position: relative;
  z-index: 6;
  width: 100%;
  margin-bottom: -6rem;
  background: rgba(23, 27, 31, .77);
  font-family: "DM Sans", sans-serif;
}
.schalber-site-header__inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  gap: 24px;
}
.schalber-brand { flex: 0 0 auto; display: block; color: #fff; font-weight: 700; text-decoration: none; }
.schalber-brand__logo { display: block; width: auto; height: auto; max-height: 76px; max-width: 260px; }
.schalber-navigation { flex: 1 1 auto; display: flex; justify-content: center; }
.schalber-menu, .schalber-menu ul { list-style: none; margin: 0; padding: 0; }
.schalber-menu { display: flex; align-items: center; gap: 4px 6px; }
.schalber-menu li { position: relative; }
.schalber-site-header .schalber-menu a {
  display: block;
  padding: 13px 14px;
  color: #D1D1D1;
  font-size: 1.1em;
  font-weight: 600;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
}
.schalber-site-header .schalber-menu a:hover, .schalber-site-header .schalber-menu a:focus,
.schalber-site-header .schalber-menu .current-menu-item > a, .schalber-site-header .schalber-menu .current-menu-ancestor > a { color: #D9B342; }
.schalber-menu .menu-item-has-children > a::after { content: ""; display: inline-block; margin-left: 8px; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-3px) rotate(45deg); }
.schalber-menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 240px;
  padding: 8px 0;
  background: #292F35;
  border: 1px solid #1B1F23;
  border-radius: 15px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .15s ease;
  z-index: 20;
}
.schalber-menu .sub-menu .sub-menu { top: -9px; left: 100%; }
.schalber-menu li:hover > .sub-menu, .schalber-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; }
.schalber-menu .sub-menu a { padding: 11px 20px; font-size: 1.05em; }
.schalber-menu .sub-menu .menu-item-has-children > a::after { transform: translateY(-2px) rotate(-45deg); }
.schalber-site-header a.schalber-cta {
  flex: 0 0 auto;
  display: inline-block;
  padding: 15px 35px;
  border-radius: 999px;
  background: linear-gradient(147deg, #F4D8AA 0%, #D9B342 100%);
  color: #1B1F23;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
.schalber-site-header a.schalber-cta:hover, .schalber-site-header a.schalber-cta:focus { color: #1B1F23; filter: brightness(1.05); }
.schalber-site-header button.schalber-menu-toggle { display: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 1024px) {
  .schalber-site-header__inner { padding: 20px 35px; flex-wrap: wrap; }
  .schalber-site-header button.schalber-menu-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    margin-left: auto; width: 44px; height: 44px; padding: 0;
    background: transparent; border: 0; border-radius: 0; cursor: pointer; color: #D9B342;
  }
  .schalber-menu-toggle__bar, .schalber-menu-toggle__bar::before, .schalber-menu-toggle__bar::after {
    display: block; width: 26px; height: 2px; background: currentColor; position: relative; content: "";
  }
  .schalber-menu-toggle__bar::before { position: absolute; top: -8px; }
  .schalber-menu-toggle__bar::after { position: absolute; top: 8px; }
  .schalber-navigation { order: 10; flex: 1 0 100%; display: none; }
  .schalber-site-header.is-open .schalber-navigation { display: block; }
  .schalber-menu { flex-direction: column; align-items: stretch; background: #292F35; border-radius: 15px; padding: 8px 0; }
  .schalber-menu .sub-menu, .schalber-menu .sub-menu .sub-menu { position: static; opacity: 1; visibility: visible; display: none; border: 0; border-radius: 0; padding: 0 0 0 16px; min-width: 0; background: transparent; }
  .schalber-menu li.is-open > .sub-menu { display: block; }
  .schalber-menu a { white-space: normal; }
  .schalber-site-header a.schalber-cta { order: 5; }
}
@media (max-width: 767px) {
  .schalber-site-header__inner { padding: 10px; gap: 12px; }
  .schalber-brand__logo { max-height: 56px; max-width: 200px; }
  .schalber-site-header a.schalber-cta { display: none; }
}
.schalber-site-main { min-height: 50vh; }
.schalber-site-footer { margin-top: 0; }

/* Hero-Wechseltext (Original: Seiten-CSS der Startseite) */
.highlight { background-color: #d1aa33; color: #1e1e1e; line-height: 1.5; animation: schalberFadeIn 1s ease-in-out; animation-fill-mode: both; }
@keyframes schalberFadeIn {
  0% { opacity: 0; transform: scale(1.4) translateY(10px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}
#wechseltext { display: inline-block; padding: 0 .25em; }

/* Footer-Logo (Ersatz für Elementor-Pro-Widget "Site Logo") */
.schalber-footer-logo-link { display: inline-block; margin-bottom: 24px; }
.schalber-footer-logo { display: block; width: 100%; max-width: 260px; height: auto; }
