/* Archiv-Hinweis auf Baumgärtner Marketing (bm1.de) – Farben aus dem BM1-Auftritt */
:root {
  --bm1-navy: #001829;
  --bm1-blue: #00558c;
  --bm1-yellow: #f5ed38;
  --bm1-light: #dce8ef;
}

/* Banner als fixierte Leiste ganz oben. Der Text bricht bei Bedarf um; ein Inline-Skript
   direkt am Banner setzt --bm1-banner-h auf seine Höhe (Werte unten nur als Rückfall ohne JS).
   Die Seite rückt per padding am body darum nach unten, die fixierte Navigation sitzt direkt
   darunter. Der Abstand zwischen Navigation und Inhalt bleibt der des Originals. */
:root { --bm1-banner-h: 48px; }
@media (max-width: 1199.98px) {
  :root { --bm1-banner-h: 66px; }
}
@media (max-width: 767.98px) {
  :root { --bm1-banner-h: 84px; }
}
body { padding-top: var(--bm1-banner-h); }
#nav-primary,
.fixed-top.frame-type-menu_section { top: var(--bm1-banner-h); }

.bm1-banner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1035;
  background: var(--bm1-blue);
  color: #fff;
  font-size: .95rem;
  line-height: 1.35;
}
.bm1-banner .bm1-banner__inner {
  max-width: none;
  min-height: 48px;
  padding: .45rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .9rem;
}
.bm1-banner__logo {
  flex: 0 0 auto;
  display: block;
  line-height: 0;
}
.bm1-banner__logo img {
  height: 1.7rem;
  width: auto;
}
.bm1-banner__text {
  margin: 0;
  flex: 0 1 auto;
  min-width: 0;
}
.bm1-banner__text strong {
  font-weight: 700;
  margin-right: .35rem;
}
.bm1-banner__sub {
  color: var(--bm1-light);
}
.bm1-banner__sub a {
  color: #fff !important;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--bm1-yellow);
  text-underline-offset: 2px;
}
.bm1-banner__btn {
  flex: 0 0 auto;
  background: var(--bm1-yellow);
  color: var(--bm1-navy) !important;
  font-weight: 700;
  padding: .4rem .95rem;
  border-radius: 2rem;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background-color .15s ease, transform .15s ease;
}
.bm1-banner__btn:hover,
.bm1-banner__btn:focus {
  background: #fff;
  transform: translateX(2px);
}
@media (max-width: 1199.98px) {
  .bm1-banner__text strong { display: block; margin-right: 0; }
}
@media (max-width: 767.98px) {
  .bm1-banner { font-size: .8rem; }
  .bm1-banner .bm1-banner__inner { padding: .45rem 1rem; gap: .65rem; justify-content: flex-start; }
  .bm1-banner__logo img { height: 1.4rem; }
  .bm1-banner__btn { padding: .3rem .7rem; }
}
@media (max-width: 767.98px) {
  /* schmal: Button platzsparend nur mit „bm1.de →“ */
  .bm1-banner__btn-long { display: none; }
}

/* Startseite: Hero statt altem YouTube-Video */
.bm1-hero {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  max-width: 1600px;
  margin: 0 auto;
  background: var(--bm1-blue);
  color: #fff;
  text-align: left;
}
.bm1-hero__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3.5rem 3rem 3.5rem 4rem;
}
.bm1-hero__kicker {
  color: var(--bm1-yellow);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .85rem !important;
  font-weight: 700;
  margin: 0 0 1rem !important;
  text-shadow: none !important;
}
.bm1-hero__title {
  color: #fff;
  font-size: 2.6rem;
  line-height: 1.15;
  margin: 0 0 1.25rem;
}
.bm1-hero__lead {
  font-size: 1.15rem !important;
  line-height: 1.55;
  color: var(--bm1-light);
  margin: 0 0 2rem !important;
  text-shadow: none !important;
}
.bm1-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.bm1-hero__image {
  position: relative;
  min-height: 420px;
}
.bm1-hero__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 35%;
}
@media (max-width: 991.98px) {
  .bm1-hero { grid-template-columns: 1fr; }
  .bm1-hero__image { order: -1; min-height: 0; aspect-ratio: 16 / 9; }
  .bm1-hero__text { padding: 2rem 1.25rem 2.5rem; }
  .bm1-hero__title { font-size: 1.8rem; }
  .bm1-hero__lead { font-size: 1rem !important; }
}

/* Buttons */
.bm1-btn {
  display: inline-block;
  background: var(--bm1-yellow);
  color: var(--bm1-navy) !important;
  font-weight: 700;
  padding: .7rem 1.4rem;
  border: 2px solid var(--bm1-yellow);
  border-radius: 2rem;
  text-decoration: none !important;
  transition: background-color .15s ease, color .15s ease;
}
.bm1-btn:hover,
.bm1-btn:focus {
  background: #fff;
  border-color: #fff;
}
.bm1-btn--ghost {
  background: transparent;
  color: #fff !important;
  border-color: rgba(255, 255, 255, .6);
}
.bm1-btn--ghost:hover,
.bm1-btn--ghost:focus {
  color: var(--bm1-navy) !important;
}

/* Ersatz für Formulare */
.bm1-cta-box {
  background: var(--bm1-light);
  border-left: 4px solid var(--bm1-blue);
  padding: 1.5rem 1.75rem;
  margin: 1.5rem 0;
}
.bm1-cta-box p {
  margin: 0 0 1rem;
  color: var(--bm1-navy);
}
.bm1-cta-box .bm1-btn {
  background: var(--bm1-blue);
  border-color: var(--bm1-blue);
  color: #fff !important;
}
.bm1-cta-box .bm1-btn:hover,
.bm1-cta-box .bm1-btn:focus {
  background: var(--bm1-navy);
  border-color: var(--bm1-navy);
}

/* Ersatz für eingebettete Videos */
.bm1-video-link {
  display: inline-block;
  margin: 1rem 0;
  font-weight: 700;
}


/* YouTube mit Zwei-Klick-Lösung (assets/bm1-video.js): Vorschaubild mit Einwilligungs-Hinweis */
.bm1-yt {
  margin: 1.5rem 0 2rem;
}
.bm1-yt__frame {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--bm1-navy);
}
.bm1-yt__frame iframe,
.bm1-yt__thumb {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}
.bm1-yt__thumb {
  filter: blur(2px) brightness(.55);
  transform: scale(1.03);
}
.bm1-yt__consent {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(30rem, calc(100% - 2rem));
  padding: 1.75rem 2rem;
  background: #fff;
  border-top: 5px solid var(--bm1-yellow);
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .4);
  text-align: center;
  color: var(--bm1-navy);
}
.bm1-yt__heading {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 .6rem;
}
.bm1-yt__text {
  font-size: .95rem;
  line-height: 1.5;
  margin: 0 0 1.25rem;
}
.bm1-yt__accept {
  background: var(--bm1-blue);
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  padding: .75rem 1.5rem;
  border: 0;
  border-radius: 2rem;
  cursor: pointer;
  transition: background-color .15s ease;
}
.bm1-yt__accept:hover,
.bm1-yt__accept:focus-visible {
  background: var(--bm1-navy);
}
@media (max-width: 575.98px) {
  .bm1-yt__frame { aspect-ratio: auto; min-height: 17rem; }
  .bm1-yt__consent { padding: 1.25rem; }
  .bm1-yt__heading { font-size: 1.05rem; }
  .bm1-yt__text { font-size: .85rem; margin-bottom: 1rem; }
  .bm1-yt.is-loaded .bm1-yt__frame { aspect-ratio: 16 / 9; min-height: 0; }
}
