/* Kopfzeile – Live: 120px hoch, Logo 100×33, Links Bricolage 15.2px/600, Abstand 10px */
.site-header { position: relative; z-index: 50; background: var(--color-bg); }
.site-header__inner {
  position: relative; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter);
  height: 118px; display: flex; align-items: center; justify-content: space-between;
}
@media (min-width: 1300px) { .site-header__inner { padding-inline: 0 28px; } }
.site-header__logo img { width: 100px; height: 33px; object-fit: cover; }
.site-header__burger { width: 56px; height: 56px; min-height: 56px; padding: 7px 0; background: var(--color-bg-card); color: var(--color-text); }
.burger { display: flex; flex-direction: column; gap: 5px; width: 22px; }
.burger i { display: block; height: 2px; background: currentColor; border-radius: 1px; }
.site-nav__list { display: flex; align-items: center; }
.site-nav__item { position: relative; }
.site-nav__link {
  display: flex; align-items: center; gap: 4px; padding: 10px;
  font: 600 15.2px/1.3 var(--font-head); color: var(--color-text); letter-spacing: -0.2px; white-space: nowrap;
}
.site-nav__link.is-active, .site-nav__link:hover { color: var(--color-accent); }
.site-nav__link .icon--chevron { width: 16px; height: 16px; fill: currentColor; }
.site-nav__item--cta { margin-left: 69px; }
.site-nav__item--cta .btn { width: 192px; min-height: 56px; }

/* Artikel-Variante: 112px, Link + Knopf statt bevoflats.de */
.site-header--article .site-header__inner { height: 112px; }
.site-header--article .site-nav__item--cta { margin-left: 40px; }
.site-header__talk { display: inline-flex; align-items: center; padding: 10px 12px; font: 700 14px/18.2px var(--font-head); color: #007324; }
.site-header__consult { width: 144px; min-height: 48px; padding: 7px 24px; font: 700 14px/18.2px var(--font-head); }
.site-header--article .site-nav__item--talk { margin-left: 170px; }

/* Ratgeber-Untermenü */
.megamenu { display: none; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); min-width: 420px; padding-top: 8px; }
.site-nav__item.is-open > .megamenu { display: block; }
.megamenu__list { background: var(--color-bg); border-radius: 8px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(25, 25, 25, 0.08); padding: 8px; }
.megamenu__item { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: 6px; }
.megamenu__item:hover { background: var(--color-bg-card); }
.megamenu__title { font: 600 15px/1.4 var(--font-head); }
.megamenu__text { font: 400 13.5px/1.4 var(--font-text); color: var(--color-text-soft); }

@media (min-width: 1024px) { .site-header__burger { display: none; } }
@media (max-width: 1023px) {
  .site-nav { display: none; position: absolute; top: 118px; left: 0; right: 0; background: var(--color-text); padding: 16px 8px 32px; }
  .site-nav.is-open { display: block; }
  .site-nav__list { flex-direction: column; align-items: stretch; }
  .site-nav__link { color: var(--color-white); padding: 16px; font-size: 16.8px; width: 100%; justify-content: flex-start; }
  .site-nav__link.is-active, .site-nav__link:hover { color: var(--color-accent); }
  .megamenu { position: static; transform: none; min-width: 0; padding: 0 0 8px 16px; }
  .megamenu__list { background: transparent; box-shadow: none; padding: 0; }
  .megamenu__title, .megamenu__text { color: var(--color-white); }
  .megamenu__text { opacity: 0.7; }
  .site-nav__item--cta { margin: 16px 16px 0; }
  .site-nav__item--cta .btn { width: 100%; color: var(--color-white); box-shadow: rgb(255 255 255) 0 0 0 1px inset, rgb(255 255 255) 4px 4px 0 0; }
}

/* Fußzeile – Live: schwarz, 32px Rand, vier Spalten (326 / 326 / 304 / 384), Text weiß */
.site-footer { background: var(--color-black); color: var(--color-white); }
.site-footer__inner { display: grid; grid-template-columns: 334px 354px 304px 1fr; padding: 101px 32px 104px; min-height: 413px; }
.site-footer a { color: inherit; }
.site-footer__brand img { width: 63px; height: 63px; }
.site-footer__copy { margin-top: 20px; font-size: 16px; line-height: 24px; max-width: 326px; }
.site-footer__navlist { display: grid; grid-template-columns: 163px 163px; grid-auto-flow: column; grid-template-rows: repeat(var(--rows, 3), auto); margin-top: -16px; }
.site-footer__navlist a.is-active { color: var(--color-accent); }
.site-footer__legallist a span, .site-footer__legallist a { text-decoration: none; }
.site-footer__legallist a { display: inline-block; padding: 12px 0 2px; margin: 0 12px 8px; border-bottom: 2px solid var(--color-accent); }
.site-footer__navlist a, .site-footer__legallist a { display: block; padding: 16px; font: 600 16.8px/1.3 var(--font-head); }
.site-footer__navlist a:hover, .site-footer__legallist a:hover { color: var(--color-accent); }
.site-footer__legallist { margin: -12px 0 0 -12px; }
.site-footer__legallist a { padding: 12px; }
.site-footer__legal { padding-left: 12px; }
.site-footer__social { display: inline-flex; align-items: center; gap: 10px; margin-top: 35px; font: 600 17px/1.5 var(--font-text); }
.site-footer__social .icon { width: 24px; height: 24px; fill: currentColor; }
.site-footer__contact { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.site-footer__contactline { display: flex; align-items: center; gap: 21px; min-height: 52px; }
.site-footer__contactline .icon { width: 24px; height: 24px; fill: currentColor; flex: none; }
.site-footer__contactline > span { display: flex; flex-direction: column; }
.site-footer__contactlabel { font: 400 17px/1.5 var(--font-text); padding: 4px 0; }
.site-footer__contactvalue { font: 400 13.6px/1.5 var(--font-text); }
.btn--whatsapp { background: var(--color-whatsapp); color: #010101; font: 600 15px/1.5 var(--font-text); padding: 7px 28px; gap: 12px; margin-top: 8px; min-width: 269px; }
.btn--whatsapp .icon { width: 32px; height: 32px; fill: currentColor; }
@media (max-width: 1023px) {
  .site-footer__inner { grid-template-columns: 1fr; gap: 20px; padding: 50px 12px 73px; }
  .site-footer__navlist { grid-template-columns: 162px; grid-auto-flow: row; margin-top: 0; margin-left: -16px; }
  .site-footer__legal { padding-left: 0; }
  .site-footer__contact { flex-direction: row; flex-wrap: wrap; gap: 12px 24px; margin-top: 16px; }
  .site-footer__contact .btn--whatsapp { flex-basis: 100%; max-width: 518px; margin: 4px 0 0 -2px; }
  .btn--whatsapp { width: auto; min-width: 239px; margin-left: -4px; }
}
@media (max-width: 767px) {
  .site-footer__inner { padding: 50px 24px 73px; }
  .site-footer__social { margin-top: 14px; }
  .site-footer__contact { flex-direction: column; gap: 12px; margin-top: 28px; }
  .site-footer__contact .btn--whatsapp { flex-basis: auto; width: auto; max-width: none; min-width: 239px; margin: 8px 0 0 -4px; }
}
