/* =========================================================
   BM Website - Styles fuer die Elementor-Seiten und Blogbeitraege
   Inhalte bleiben in Elementor bzw. im WordPress-Editor bearbeitbar.
   ========================================================= */

html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body.elementor-template-canvas, body.bm-single { background: #ffffff; }

/* ---------- Header ---------- */
/* Elementor-Container (.e-con) setzen z-index/position selbst und laden NACH diesem Stylesheet - deshalb hoehere Spezifitaet + !important,
   sonst liegen die Seitenabschnitte ueber dem Kopfbereich. */
.e-con.bm-sticky.bm-sticky, .bm-sticky.bm-sticky { position: sticky !important; top: 0 !important; z-index: 9990 !important; }
body.admin-bar .e-con.bm-sticky.bm-sticky, body.admin-bar .bm-sticky.bm-sticky { top: 32px !important; }
.bm-header { -webkit-backdrop-filter: saturate(160%) blur(12px); backdrop-filter: saturate(160%) blur(12px); }
.bm-header > .e-con-inner { flex-wrap: nowrap !important; }
.bm-header > .e-con-inner > .e-con:first-child { flex: 1 1 auto; min-width: 0; }
.bm-header .bm-nav { flex: 0 0 auto; margin-right: 28px; }
.bm-header .bm-nav .elementor-icon-list-items { flex-wrap: nowrap !important; }
.bm-header .bm-nav .elementor-icon-list-icon { display: none !important; }
.bm-header .bm-nav .elementor-icon-list-text { white-space: nowrap; padding: 0 !important; }
.bm-header .elementor-widget-button { flex: 0 0 auto; }
.bm-header .elementor-button, .bm-header .elementor-button-text { white-space: nowrap; }

/* Menue-Links: feine Unterstreichung beim Hover */
.bm-nav .elementor-icon-list-text { position: relative; }
.bm-nav .elementor-icon-list-text::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 1px;
  background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .35s ease;
}
.bm-nav .elementor-icon-list-item:hover .elementor-icon-list-text::after,
.bm-nav .elementor-icon-list-item a:focus-visible .elementor-icon-list-text::after { transform: scaleX(1); }

/* ---------- Schlagwoerter als Chips (Icon-Liste mit Klasse bm-tags) ---------- */
.elementor-widget.bm-tags .elementor-icon-list-items { display: flex !important; flex-wrap: wrap; gap: 10px; margin: 0 !important; padding: 0 !important; }
.elementor-widget.bm-tags .elementor-icon-list-items .elementor-icon-list-item {
  margin: 0 !important; padding: 8px 17px !important; border: 1px solid #DEDDD9; border-radius: 999px;
  line-height: 1.25; background: transparent; transition: border-color .25s ease, background-color .25s ease, color .25s ease;
}
.elementor-widget.bm-tags .elementor-icon-list-item:hover { border-color: var(--e-global-color-primary, #111111); }
.elementor-widget.bm-tags .elementor-icon-list-item::after { display: none !important; }
.elementor-widget.bm-tags .elementor-icon-list-icon { display: none !important; }
.elementor-widget.bm-tags .elementor-icon-list-text { padding: 0 !important; margin: 0 !important; white-space: nowrap; }
.elementor-widget.bm-tags-dark .elementor-icon-list-items .elementor-icon-list-item { border-color: rgba(255,255,255,.14); }

.bm-photo img { display: block; }

/* =========================================================
   SCHNEEKUGEL (Originalgestaltung von Bettina Maack)
   ========================================================= */
.bm-globe-area { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; }
.bm-globe { position: relative; width: 620px; height: 590px; max-width: 100%; cursor: pointer; transform-origin: 50% 50%; outline: none; -webkit-tap-highlight-color: transparent; }
.bm-globe:focus-visible .bm-glass { box-shadow: 0 0 0 2px var(--e-global-color-primary, #111111), inset 22px 18px 46px rgba(255,255,255,.95); }
.bm-glass {
  position: absolute; z-index: 5; top: 0; left: 50%; margin-left: -280px; width: 560px; height: 560px; overflow: hidden; border-radius: 50%; border: 1px solid rgba(90,102,108,.30);
  background: radial-gradient(circle at 34% 24%, rgba(255,255,255,.99) 0%, rgba(255,255,255,.94) 23%, rgba(247,250,250,.75) 58%, rgba(218,226,226,.43) 100%);
  box-shadow: inset 22px 18px 46px rgba(255,255,255,.95), inset -20px -24px 42px rgba(85,100,105,.07), 0 28px 64px rgba(0,0,0,.075);
}
.bm-glass::after { content: ""; position: absolute; z-index: 40; inset: 10px; border-radius: 50%; border: 1px solid rgba(255,255,255,.72); pointer-events: none; }
.bm-reflection { position: absolute; z-index: 30; pointer-events: none; }
.bm-reflection-one { top: 55px; left: 76px; width: 42px; height: 190px; border-radius: 50%; transform: rotate(35deg); background: linear-gradient(90deg, transparent, rgba(255,255,255,.78), transparent); filter: blur(2.5px); opacity: .82; }
.bm-reflection-two { right: 76px; top: 104px; width: 20px; height: 110px; border-radius: 50%; transform: rotate(-24deg); background: rgba(255,255,255,.45); filter: blur(2px); }
.bm-globe-text { position: absolute; z-index: 8; left: 50%; top: 46%; width: 72%; transform: translate(-50%, -50%); text-align: center; font-family: "Hanken Grotesk", Arial, Helvetica, sans-serif; font-size: 30px; line-height: 1.05; font-weight: 400; letter-spacing: -0.04em; color: var(--e-global-color-primary, #111111); }
.bm-globe-text span { display: block; }
.bm-resting-snow {
  position: absolute; z-index: 10; left: -6%; bottom: -12px; width: 112%; height: 140px;
  background: radial-gradient(ellipse at 8% 72%, #fff 0 20%, transparent 21%), radial-gradient(ellipse at 18% 60%, #fff 0 27%, transparent 28%), radial-gradient(ellipse at 30% 70%, #fff 0 21%, transparent 22%), radial-gradient(ellipse at 43% 48%, #fff 0 33%, transparent 34%), radial-gradient(ellipse at 56% 68%, #fff 0 22%, transparent 23%), radial-gradient(ellipse at 69% 55%, #fff 0 29%, transparent 30%), radial-gradient(ellipse at 82% 67%, #fff 0 23%, transparent 24%), radial-gradient(ellipse at 94% 75%, #fff 0 18%, transparent 19%), linear-gradient(to bottom, #ffffff, #fafafa 60%, #eeeeec);
  border-radius: 46% 54% 0 0; transition: transform .32s ease, opacity .32s ease;
}
.bm-snow-canvas { position: absolute; z-index: 20; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; }
.bm-globe.is-shaking { animation: bm-shake .82s ease-in-out; }
@keyframes bm-shake { 0%{transform:translateX(0) rotate(0)} 15%{transform:translateX(-11px) rotate(-3deg)} 30%{transform:translateX(11px) rotate(3deg)} 45%{transform:translateX(-12px) rotate(-3.5deg)} 60%{transform:translateX(10px) rotate(3deg)} 75%{transform:translateX(-5px) rotate(-1.5deg)} 100%{transform:translateX(0) rotate(0)} }
@keyframes bm-shake-mobile { 0%{transform:translateX(0) rotate(0)} 15%{transform:translateX(-7px) rotate(-3deg)} 30%{transform:translateX(7px) rotate(3deg)} 45%{transform:translateX(-8px) rotate(-3.5deg)} 60%{transform:translateX(7px) rotate(3deg)} 75%{transform:translateX(-3px) rotate(-1.5deg)} 100%{transform:translateX(0) rotate(0)} }
@media (max-width: 1360px) and (min-width: 601px) {
  .bm-globe { width: 500px; height: 480px; }
  .bm-glass { left: 50%; margin-left: -230px; width: 460px; height: 460px; }
  .bm-reflection-one { top: 45px; left: 62px; width: 34px; height: 156px; }
  .bm-reflection-two { right: 62px; top: 86px; width: 16px; height: 90px; }
  .bm-globe-text { font-size: 26px; }
  .bm-resting-snow { height: 115px; }
}
@media (max-width: 600px) {
  .bm-globe { width: 330px; height: 330px; margin: 0 auto; transform: none; }
  .bm-glass { top: 0; left: 50%; margin-left: -150px; width: 300px; height: 300px; }
  .bm-glass::after { inset: 6px; }
  .bm-reflection-one { top: 30px; left: 40px; width: 24px; height: 100px; }
  .bm-reflection-two { top: 55px; right: 40px; width: 12px; height: 58px; }
  .bm-globe-text { font-size: 21px; width: 70%; }
  .bm-resting-snow { bottom: -7px; height: 78px; }
  .bm-globe.is-shaking { animation: bm-shake-mobile .82s ease-in-out; }
}

/* =========================================================
   BLOG-KARTEN (Shortcode [bm_beitraege])
   ========================================================= */
.bm-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; font-family: "Hanken Grotesk", Arial, Helvetica, sans-serif; }
.bm-posts--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bm-posts--count-1 { grid-template-columns: 1fr; }
.bm-post { position: relative; display: flex; flex-direction: column; border-top: 1px solid var(--e-global-color-primary, #111111); padding-top: 28px; color: var(--e-global-color-primary, #111111); }
.bm-post__media { display: block; overflow: hidden; aspect-ratio: 16 / 10; margin-bottom: 26px; background: #F5F4F1; }
.bm-post__media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: transform .7s ease; }
.bm-post:hover .bm-post__media img { transform: scale(1.03); }
.bm-post__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #77736F; }
.bm-post__title { margin: 16px 0 0; font-size: 28px; line-height: 1.12; font-weight: 400; letter-spacing: -0.03em; color: var(--e-global-color-primary, #111111); }
.bm-post__title a { color: inherit; text-decoration: none; background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size .35s ease; }
.bm-post__title a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.bm-post:hover .bm-post__title a { background-size: 100% 1px; }
.bm-post__excerpt { margin: 16px 0 0; font-size: 17px; line-height: 1.7; color: #4D4A46; }
.bm-post__more { position: relative; z-index: 2; pointer-events: none; align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; padding: 12px 22px; border: 1px solid var(--e-global-color-primary, #111111); border-radius: 999px; font-size: 15px; font-weight: 500; color: var(--e-global-color-primary, #111111); text-decoration: none; transition: background-color .25s ease, color .25s ease; }
.bm-post:hover .bm-post__more, .bm-post__more:focus-visible { background: var(--e-global-color-primary, #111111); color: #ffffff; }
.bm-post__more span { transition: transform .25s ease; }
.bm-post:hover .bm-post__more span { transform: translateX(3px); }

/* Ein einzelner Beitrag: grosse redaktionelle Zeile statt leerer Karte */
.bm-posts--count-1 .bm-post { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 72px; align-items: start; padding-top: 40px; }
.bm-posts--count-1 .bm-post__media { grid-column: 1 / -1; aspect-ratio: 21 / 9; margin-bottom: 40px; }
.bm-posts--count-1 .bm-post__head { grid-column: 1; }
.bm-posts--count-1 .bm-post__body { grid-column: 2; padding-top: 34px; }
.bm-posts--count-1 .bm-post__title { font-size: clamp(34px, 3.6vw, 52px); line-height: 1.04; letter-spacing: -0.045em; }
.bm-posts--count-1 .bm-post__excerpt { margin-top: 0; font-size: 18px; }
.bm-posts-empty { font-family: "Hanken Grotesk", Arial, sans-serif; font-size: 18px; color: #77736F; }
@media (max-width: 1024px) {
  .bm-posts, .bm-posts--count-2 { grid-template-columns: 1fr 1fr; gap: 32px; }
  .bm-posts--count-1 .bm-post { grid-template-columns: 1fr; }
  .bm-posts--count-1 .bm-post__body { grid-column: 1; padding-top: 22px; }
}
@media (max-width: 767px) {
  .bm-posts, .bm-posts--count-2 { grid-template-columns: 1fr; gap: 44px; }
  .bm-post__title { font-size: 25px; }
}

/* =========================================================
   EINZELNER BLOGBEITRAG
   ========================================================= */
body.bm-single { margin: 0; font-family: "Hanken Grotesk", Arial, Helvetica, sans-serif; color: #4D4A46; -webkit-font-smoothing: antialiased; }
.bm-skip { position: absolute; left: -9999px; top: 0; z-index: 1000; padding: 12px 18px; background: var(--e-global-color-primary, #111111); color: #ffffff; }
.bm-skip:focus { left: 16px; top: 16px; }
.bm-article { padding: 88px 32px 0; }
.bm-article__head { max-width: 1240px; margin: 0 auto; }
.bm-article__back { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 64px; font-size: 15px; color: #77736F; text-decoration: none; transition: color .2s ease; }
.bm-article__back:hover, .bm-article__back:focus-visible { color: var(--e-global-color-primary, #111111); }
.bm-article__back span { transition: transform .25s ease; }
.bm-article__back:hover span { transform: translateX(-3px); }
.bm-article__meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-bottom: 26px; font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #77736F; }
.bm-article__meta a { color: inherit; text-decoration: none; }
.bm-article__meta a:hover { color: var(--e-global-color-primary, #111111); }
.bm-article__title { margin: 0; font-size: clamp(42px, 6vw, 84px); line-height: 1.0; font-weight: 400; letter-spacing: -0.05em; color: var(--e-global-color-primary, #111111); }
.bm-article__lead { margin: 30px 0 0; max-width: 60ch; font-size: clamp(19px, 1.7vw, 23px); line-height: 1.55; color: #4D4A46; }
.bm-article__byline { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; margin-top: 56px; padding-top: 22px; border-top: 1px solid #DEDDD9; font-size: 15px; line-height: 1.5; color: #77736F; }
.bm-article__byline strong { display: block; font-weight: 500; color: var(--e-global-color-primary, #111111); }
.bm-article__figure { max-width: 1240px; margin: 72px auto 0; }
.bm-article__figure img { display: block; width: 100%; max-width: 840px; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 14px; filter: grayscale(1); }
.bm-article__content { max-width: 1240px; margin: 72px auto 0; font-size: 19px; line-height: 1.8; color: #4D4A46; }
.bm-article__content > * { margin-top: 0; margin-bottom: 1.4em; }
.bm-article__content > p:first-child { font-size: 23px; line-height: 1.6; letter-spacing: -0.01em; color: var(--e-global-color-primary, #111111); }
.bm-article__content h2, .bm-article__content h3, .bm-article__content h4 { color: var(--e-global-color-primary, #111111); font-weight: 400; letter-spacing: -0.03em; }
.bm-article__content h2 { margin-top: 2.2em; margin-bottom: .6em; font-size: 34px; line-height: 1.12; }
.bm-article__content h3 { margin-top: 2em; margin-bottom: .5em; font-size: 26px; line-height: 1.2; }
.bm-article__content a { color: var(--e-global-color-primary, #111111); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.bm-article__content strong { color: var(--e-global-color-primary, #111111); font-weight: 600; }
.bm-article__content blockquote, .bm-article__content .wp-block-quote, .bm-article__content .wp-block-pullquote { margin: 2.2em 0; padding: 4px 0 4px 30px; border-left: 2px solid var(--e-global-color-primary, #111111); font-size: 26px; line-height: 1.45; letter-spacing: -0.02em; color: var(--e-global-color-primary, #111111); }
.bm-article__content blockquote p { margin: 0; }
.bm-article__content cite { display: block; margin-top: 14px; font-size: 15px; font-style: normal; letter-spacing: 0; color: #77736F; }
.bm-article__content ul, .bm-article__content ol { padding-left: 1.2em; }
.bm-article__content li { margin: .45em 0; padding-left: .2em; }
.bm-article__content img { max-width: 100%; height: auto; filter: grayscale(1); }
.bm-article__content figure { margin-left: 0; margin-right: 0; }
.bm-article__content figcaption { margin-top: 10px; font-size: 14px; color: #77736F; }
.bm-article__content hr { border: 0; border-top: 1px solid #DEDDD9; margin: 3em 0; }
.bm-article__end { max-width: 1240px; margin: 80px auto 0; padding: 30px 0 0; border-top: 1px solid var(--e-global-color-primary, #111111); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 18px; }
.bm-article__end p { margin: 0; font-size: 17px; color: #4D4A46; }
.bm-btn { display: inline-flex; align-items: center; gap: 10px; padding: 13px 24px; border: 1px solid var(--e-global-color-primary, #111111); border-radius: 999px; font-size: 15px; font-weight: 500; line-height: 1.2; text-decoration: none; white-space: nowrap; transition: background-color .25s ease, color .25s ease, border-color .25s ease; }
.bm-btn--solid { background: var(--e-global-color-primary, #111111); color: #ffffff; }
.bm-btn--solid:hover, .bm-btn--solid:focus-visible { background: transparent; color: var(--e-global-color-primary, #111111); }
.bm-btn--ghost { background: transparent; color: var(--e-global-color-primary, #111111); }
.bm-btn--ghost:hover, .bm-btn--ghost:focus-visible { background: var(--e-global-color-primary, #111111); color: #ffffff; }
.bm-btn--light { background: #ffffff; color: var(--e-global-color-primary, #111111); border-color: #ffffff; }
.bm-btn--light:hover, .bm-btn--light:focus-visible { background: transparent; color: #ffffff; }
.bm-btn--light-ghost { background: transparent; color: #ffffff; border-color: #A8A39D; }
.bm-btn--light-ghost:hover, .bm-btn--light-ghost:focus-visible { border-color: #ffffff; }
.bm-more { margin-top: 120px; padding: 110px 32px; background: #F5F4F1; }
.bm-more__inner, .bm-cta__inner { max-width: 1240px; margin: 0 auto; }
.bm-more__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 48px; }
.bm-more h2, .bm-cta h2 { margin: 0; font-size: clamp(32px, 3.6vw, 48px); line-height: 1.05; font-weight: 400; letter-spacing: -0.04em; color: var(--e-global-color-primary, #111111); }
.bm-cta { padding: 120px 32px; background: var(--e-global-color-primary, #111111); color: #A8A39D; }
.bm-article + .bm-cta { margin-top: 120px; }
.bm-cta__inner { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px 80px; align-items: end; }
.bm-cta h2 { color: #ffffff; }
.bm-cta p { margin: 22px 0 0; max-width: 56ch; font-size: 18px; line-height: 1.7; color: #A8A39D; }
.bm-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.bm-fallback-header { display: flex; justify-content: space-between; align-items: center; padding: 22px 32px; border-bottom: 1px solid #DEDDD9; }
.bm-fallback-header a { color: var(--e-global-color-primary, #111111); text-decoration: none; font-size: 24px; letter-spacing: -0.03em; }
@media (max-width: 1024px) {
  .bm-cta__inner { grid-template-columns: 1fr; align-items: start; }
  .bm-cta__actions { justify-content: flex-start; }
}
@media (max-width: 767px) {
  .bm-article { padding: 56px 20px 0; }
  .bm-article__back { margin-bottom: 40px; }
  .bm-article__figure, .bm-article__content { margin-top: 48px; }
  .bm-article__content { font-size: 18px; }
  .bm-article__content > p:first-child { font-size: 20px; }
  .bm-article__content blockquote { font-size: 22px; padding-left: 20px; }
  .bm-more, .bm-cta { padding: 80px 20px; }
  .bm-more, .bm-article + .bm-cta { margin-top: 80px; }
}

/* Weniger Bewegung, wenn im System so eingestellt */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .elementor-invisible { visibility: visible !important; }
  .animated { animation: none !important; }
  .bm-post__media img, .bm-post__more, .bm-post__more span, .bm-nav .elementor-icon-list-text::after { transition: none !important; }
}
/* =========================================================
   BLOG-SEITE (Filter, Raster, Seitennavigation)
   ========================================================= */
.bm-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.bm-blog-page .bm-nav .elementor-icon-list-item a[href*="/blog"] .elementor-icon-list-text::after { transform: scaleX(1); }
.bm-blog__featured { margin-bottom: 88px; }
.bm-blog__grid { row-gap: 64px; }
.bm-filter { display: flex; flex-wrap: wrap; gap: 10px; font-family: "Hanken Grotesk", Arial, Helvetica, sans-serif; }
.bm-filter a { padding: 10px 20px; border: 1px solid #DEDDD9; border-radius: 999px; font-size: 15px; font-weight: 500; line-height: 1.2; color: #4D4A46; text-decoration: none; transition: border-color .25s ease, background-color .25s ease, color .25s ease; }
.bm-filter a:hover, .bm-filter a:focus-visible { border-color: var(--e-global-color-primary, #111111); color: var(--e-global-color-primary, #111111); }
.bm-filter a.is-current { background: var(--e-global-color-primary, #111111); border-color: var(--e-global-color-primary, #111111); color: #ffffff; }
.bm-pager { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 88px; padding-top: 28px; border-top: 1px solid var(--e-global-color-primary, #111111); font-family: "Hanken Grotesk", Arial, Helvetica, sans-serif; font-size: 15px; }
.bm-pager__list { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; }
.bm-pager__num { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid transparent; border-radius: 999px; color: #4D4A46; text-decoration: none; transition: border-color .25s ease, background-color .25s ease, color .25s ease; }
.bm-pager__num:hover, .bm-pager__num:focus-visible { border-color: var(--e-global-color-primary, #111111); color: var(--e-global-color-primary, #111111); }
.bm-pager__num.is-current { background: var(--e-global-color-primary, #111111); border-color: var(--e-global-color-primary, #111111); color: #ffffff; }
.bm-pager__step { display: inline-flex; align-items: center; gap: 10px; font-weight: 500; color: var(--e-global-color-primary, #111111); text-decoration: none; }
.bm-pager__step.is-disabled { color: #A8A39D; }
@media (max-width: 1024px) { .bm-blog__featured { margin-bottom: 64px; } .bm-blog__grid { row-gap: 48px; } }
@media (max-width: 600px) { .bm-pager__list { display: none; } .bm-pager { margin-top: 64px; } }

/* Kopfbereich bleibt auch in Blogbeitraegen oben haften */
.bm-head-wrap, .bm-head-wrap > .elementor { display: contents; }
@media (max-width: 782px) { body.admin-bar .e-con.bm-sticky.bm-sticky, body.admin-bar .bm-sticky.bm-sticky { top: 46px !important; } }

/* =========================================================
   UEBER-MICH: Foto fuellt die Spalte buendig zum Text, Absaetze ohne unruhige Umbrueche
   ========================================================= */
.bm-photo-col { align-self: stretch; }
.bm-photo-col .elementor-widget.bm-photo { position: relative; flex: 1 1 auto; width: 100%; min-height: 520px; }
.bm-photo-col .elementor-widget.bm-photo > .elementor-widget-container { position: absolute; inset: 0; }
.bm-photo-col .elementor-widget.bm-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
@media (max-width: 1024px) { .bm-photo-col .elementor-widget.bm-photo { min-height: 480px; } }
@media (max-width: 767px) { .bm-photo-col .elementor-widget.bm-photo { min-height: 400px; } }

/* Das Theme setzt text-wrap: pretty auf alle Absaetze und erzeugt damit frueh abgebrochene Zeilen. Auf den Elementor-Seiten normal umbrechen. */
body.elementor-template-canvas .elementor p { text-wrap: wrap; }
/* Seitenspalte (Zitat + Schlagwoerter) bleibt beim Lesen des langen Textes unter dem Kopfbereich stehen */
@media (min-width: 1025px) {
  .e-con.bm-side { position: sticky !important; top: 132px; align-self: flex-start; }
  body.admin-bar .e-con.bm-side { top: 164px; }
}

/* Raster: Karten gleich hoch, Weiterlesen-Button bleibt unten buendig */
.bm-posts:not(.bm-posts--count-1) .bm-post__body { display: flex; flex-direction: column; flex: 1 1 auto; }
.bm-posts:not(.bm-posts--count-1) .bm-post__excerpt { margin-bottom: 26px; }
.bm-posts:not(.bm-posts--count-1) .bm-post__more { margin-top: auto; }


/* Text beginnt buendig mit der Ueberschrift (gleiche 900px-Box), Zeilenlaenge bleibt gut lesbar (700px) */
.bm-article__content > * { max-width: 840px; }
.bm-article__content > figure, .bm-article__content > .wp-block-image, .bm-article__content > .wp-block-gallery, .bm-article__content > .alignwide, .bm-article__content > hr, .bm-article__content > .wp-block-separator { max-width: 100%; }

/* Der Elementor-Kit faerbt ALLE Links dunkel (.elementor-kit-N a). Damit die Buttons der Beitragsseite lesbar bleiben,
   stehen ihre Farben hier mit hoeherer Spezifitaet. */
body a.bm-btn.bm-btn--solid { color: #ffffff; }
body a.bm-btn.bm-btn--solid:hover, body a.bm-btn.bm-btn--solid:focus-visible { color: var(--e-global-color-primary, #111111); }
body a.bm-btn.bm-btn--ghost { color: var(--e-global-color-primary, #111111); }
body a.bm-btn.bm-btn--ghost:hover, body a.bm-btn.bm-btn--ghost:focus-visible { color: #ffffff; }
body a.bm-btn.bm-btn--light { color: var(--e-global-color-primary, #111111); }
body a.bm-btn.bm-btn--light:hover, body a.bm-btn.bm-btn--light:focus-visible { color: #ffffff; }
body a.bm-btn.bm-btn--light-ghost { color: #ffffff; }

/* Abstand zwischen Kategorie-Filter und Beitraegen (der Filter ist unsichtbar, solange nur eine Kategorie existiert) */
.bm-filter { margin-bottom: 48px; }


/* Schrift unabhaengig vom Theme */
body.bm-single h1, body.bm-single h2, body.bm-single h3, body.bm-single h4, body.bm-single h5, .bm-posts h3, .bm-blog h2 { font-family: "Hanken Grotesk", Arial, Helvetica, sans-serif; text-transform: none; }
body.bm-single { font-family: "Hanken Grotesk", Arial, Helvetica, sans-serif; }


/* Hauptfarbe: Astras eigene Palette folgt der Elementor-Farbe 'Schwarz (Hauptfarbe)', damit sich wirklich alles gemeinsam aendert */
body { --ast-global-color-0: var(--e-global-color-primary, #111111); --ast-global-color-1: var(--e-global-color-primary, #111111); --ast-global-color-2: var(--e-global-color-primary, #111111); --ast-global-color-7: var(--e-global-color-primary, #111111); }
