/* =====================================================================
   Blumen Heck – Design (weiß und grün), für das Kadence-Theme
   ===================================================================== */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/inter-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Outfit';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/outfit-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root {
  --bhx-green: #5e8131;
  --bhx-green-d: #3f5a21;
  --bhx-ink: #1c2b12;
  --bhx-text: #34432b;
  --bhx-muted: #5f6c55;
  --bhx-tint: #f5f9ef;
  --bhx-tint-2: #e4eed5;
  --bhx-line: #dde6d3;
  --bhx-rose: #c2607a;
  --bhx-leaf: 4px 44px 4px 44px;
  --bhx-leaf-l: 8px 96px 8px 96px;
  --bhx-head: 'Outfit', 'Inter', system-ui, sans-serif;
  --bhx-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --bhx-ease: cubic-bezier(.2, .7, .2, 1);
  --global-body-font-family: var(--bhx-body);
  --global-heading-font-family: var(--bhx-head);
}

html { scroll-behavior: smooth; scroll-padding-top: 110px; }
html, body { overflow-x: clip; }
body { font-family: var(--bhx-body); color: var(--bhx-text); -webkit-font-smoothing: antialiased; }
body h1, body h2, body h3, body h4, .bhx-h1, .bhx-h2 { text-transform: none; font-family: var(--bhx-head); font-weight: 300; color: var(--bhx-ink); letter-spacing: -.022em; line-height: 1.06; }
body h1 strong, body h2 strong, body h3 strong, .bhx-h1 strong, .bhx-h2 strong { font-weight: 700; color: var(--bhx-green); }
::selection { background: var(--bhx-tint-2); color: var(--bhx-ink); }
a { text-decoration: none; }

/* ---------- Kopfleiste (Kadence) ---------- */
#masthead .site-main-header-wrap .site-header-row-container-inner { background: #fff; border-bottom: 1px solid var(--bhx-line); }
#masthead .site-branding img.custom-logo { max-height: 62px; width: auto; transition: max-height .3s var(--bhx-ease); }
#masthead .item-is-fixed .site-branding img.custom-logo { max-height: 48px; }
#masthead .item-is-fixed .site-header-row-container-inner { box-shadow: 0 8px 30px rgba(28, 43, 18, .09); }
#masthead #primary-menu { flex-wrap: nowrap; }
#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a { font-family: var(--bhx-body); font-size: 12px; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; color: var(--bhx-ink); position: relative; padding-left: .55em; padding-right: .55em; }
#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a::after { content: ""; position: absolute; left: .55em; right: .55em; bottom: .55em; height: 2px; background: var(--bhx-green); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--bhx-ease); }
#masthead .main-navigation .primary-menu-container > ul > li.menu-item:hover > a::after,
#masthead .main-navigation .primary-menu-container > ul > li.current-menu-item > a::after,
#masthead .main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a::after { transform: scaleX(1); }
#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
#masthead .main-navigation .primary-menu-container > ul > li.current-menu-item > a,
#masthead .main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a { color: var(--bhx-green-d); }
#masthead .main-navigation .sub-menu { background: #fff; border-radius: 18px; box-shadow: 0 24px 60px rgba(28, 43, 18, .18); padding: 8px; border: 1px solid var(--bhx-line); }
#masthead .main-navigation .sub-menu a { font-family: var(--bhx-body); font-size: 14.5px; color: var(--bhx-ink); border-radius: 12px; padding: .7em 1em; }
#masthead .main-navigation .sub-menu a:hover { background: var(--bhx-tint); color: var(--bhx-green-d); }
#masthead .header-button, #masthead .button.header-button { text-transform: none; white-space: nowrap; font-size: 14.5px; border-radius: 999px; background: var(--bhx-green); color: #fff; padding: .8em 1.4em; font-family: var(--bhx-body); font-weight: 600; letter-spacing: .02em; box-shadow: 0 10px 24px rgba(94, 129, 49, .3); transition: transform .3s var(--bhx-ease), background .25s, box-shadow .25s; }
#masthead .header-button:hover { background: var(--bhx-green-d); color: #fff; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(63, 90, 33, .34); }

/* ---------- Hinweisleiste ---------- */
.bhx-notice { position: relative; z-index: 300; background: var(--bhx-rose); color: #fff; text-align: center; font-size: .95rem; }
.bhx-notice p { margin: 0; padding: 9px 20px; }
.bhx-notice a { color: #fff; font-weight: 700; margin-left: .5em; background: rgba(255, 255, 255, .22); padding: 3px 12px; border-radius: 999px; }

/* ---------- Bausteine ---------- */
.bhx-wrap { width: min(1240px, 100% - 48px); margin-inline: auto; }
.bhx-eyebrow { display: inline-block; font: 600 .8rem/1 var(--bhx-body); letter-spacing: .14em; text-transform: uppercase; color: var(--bhx-green); margin: 0 0 1.4em; }
.bhx-h1 { font-size: clamp(2.5rem, 5vw, 4.8rem); margin: 0 0 .35em; }
.bhx-h2 { font-size: clamp(2.1rem, 4.6vw, 3.9rem); margin: 0 0 .5em; }
.bhx-lead { font-size: clamp(1.08rem, 1.5vw, 1.28rem); color: var(--bhx-muted); max-width: 32em; }
.bhx-role { color: var(--bhx-green-d); font-weight: 600; margin: 0 0 .7em; }
.bhx-ico { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(255, 255, 255, .24); transition: transform .4s var(--bhx-ease); flex: none; }
.bhx-ico svg { width: 16px; height: 16px; transform: rotate(-45deg); transition: transform .4s var(--bhx-ease); }
.bhx-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .8em; padding: .5em .5em .5em 1.5em; min-height: 52px; border-radius: 999px; background: var(--bhx-green); color: #fff !important; font: 600 1rem/1.1 var(--bhx-body); border: 2px solid var(--bhx-green); cursor: pointer; overflow: hidden; isolation: isolate; box-shadow: 0 10px 26px rgba(94, 129, 49, .3); transition: transform .3s var(--bhx-ease), background .25s, color .25s, border-color .25s; }
.bhx-btn:hover { transform: translateY(-3px); background: var(--bhx-green-d); border-color: var(--bhx-green-d); }
.bhx-btn:hover .bhx-ico svg { transform: rotate(0); }
.bhx-btn::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .3) 50%, transparent 70%); transform: translateX(-120%); transition: transform .9s; }
.bhx-btn:hover::after { transform: translateX(120%); }
.bhx-btn--ghost { background: transparent; color: var(--bhx-ink) !important; border-color: var(--bhx-ink); box-shadow: none; padding-right: 1.5em; }
.bhx-btn--ghost:hover { background: var(--bhx-ink); border-color: var(--bhx-ink); color: #fff !important; }
.bhx-btn--light { background: #fff; color: var(--bhx-ink) !important; border-color: #fff; box-shadow: none; }
.bhx-btn--light .bhx-ico { background: var(--bhx-green); color: #fff; }
.bhx-btn--light:hover { background: var(--bhx-tint-2); border-color: var(--bhx-tint-2); }
.bhx-btn--lg { min-height: 60px; font-size: 1.05rem; padding-left: 1.8em; }
.bhx-btn--lg .bhx-ico { width: 42px; height: 42px; }
.bhx-btnrow { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.7em; align-items: center; }
.bhx-chip { display: inline-flex; align-items: center; gap: .5em; padding: .5em 1.1em; border-radius: 999px; border: 1.5px solid currentColor; font-weight: 600; font-size: .92rem; color: var(--bhx-green-d); transition: background .25s, color .25s, transform .3s var(--bhx-ease), border-color .25s; }
.bhx-chip:hover { background: var(--bhx-green); border-color: var(--bhx-green); color: #fff; transform: translateY(-2px); }
.bhx-chip--fill { background: var(--bhx-green); border-color: var(--bhx-green); color: #fff; }
.bhx-chip--fill:hover { background: var(--bhx-green-d); border-color: var(--bhx-green-d); }
.bhx-leaf { border-radius: var(--bhx-leaf); overflow: hidden; position: relative; }
.bhx-leaf img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bhx-leaf--l { border-radius: var(--bhx-leaf-l); }

/* ---------- Einstieg ---------- */
.bhx-hero { position: relative; overflow: hidden; background: #fff; padding: clamp(44px, 6vw, 96px) 0 clamp(50px, 7vw, 100px); }
.bhx-hero::before { content: ""; position: absolute; right: -12%; top: -22%; width: 62vw; height: 62vw; max-width: 900px; max-height: 900px; border-radius: 50%; background: radial-gradient(circle at 40% 40%, var(--bhx-tint-2), rgba(228, 238, 213, 0) 68%); pointer-events: none; }
.bhx-hero-grid { position: relative; display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(28px, 5vw, 80px); align-items: center; min-height: min(720px, calc(100svh - 150px)); }
.bhx-hero-copy > * { opacity: 0; transform: translateY(30px); animation: bhxRise 1s var(--bhx-ease) forwards; }
.bhx-hero-copy > *:nth-child(1) { animation-delay: .05s; } .bhx-hero-copy > *:nth-child(2) { animation-delay: .15s; } .bhx-hero-copy > *:nth-child(3) { animation-delay: .3s; } .bhx-hero-copy > *:nth-child(4) { animation-delay: .45s; } .bhx-hero-copy > *:nth-child(5) { animation-delay: .6s; }
@keyframes bhxRise { to { opacity: 1; transform: none; } }
.bhx-facts { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 26px; padding: 0; margin: 2.2em 0 0; color: var(--bhx-muted); font-size: .95rem; }
.bhx-facts li { margin: 0; }
.bhx-facts li::before { content: "✿"; color: var(--bhx-green); margin-right: .55em; }
.bhx-hero-visual { position: relative; opacity: 0; animation: bhxRise 1.2s .2s var(--bhx-ease) forwards; }
.bhx-slides { aspect-ratio: 5 / 5.6; border-radius: var(--bhx-leaf-l); box-shadow: 0 40px 80px rgba(28, 43, 18, .2); background: var(--bhx-tint-2); }
.bhx-slides img { position: absolute; inset: 0; opacity: 0; transform: scale(1.14); transition: opacity 1.4s ease, transform 8s ease-out; }
.bhx-slides img.is-active { opacity: 1; transform: scale(1); }
.bhx-float { position: absolute; left: -6%; bottom: 9%; background: #fff; border-radius: 22px; padding: 18px 22px; box-shadow: 0 24px 50px rgba(28, 43, 18, .18); min-width: 230px; animation: bhxFloat 6s ease-in-out infinite; }
.bhx-float small { display: block; font: 700 .72rem/1 var(--bhx-body); letter-spacing: .14em; text-transform: uppercase; color: var(--bhx-green); margin-bottom: .7em; }
.bhx-float strong { font-family: var(--bhx-head); font-weight: 400; font-size: 1.35rem; line-height: 1.15; color: var(--bhx-ink); display: block; }
@keyframes bhxFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
.bhx-seal { position: absolute; right: -3%; top: 5%; width: 118px; height: 118px; border-radius: 50%; background: var(--bhx-green); color: #fff; display: grid; place-items: center; box-shadow: 0 16px 34px rgba(63, 90, 33, .4); }
.bhx-seal svg { position: absolute; inset: 0; animation: bhxSpin 24s linear infinite; }
.bhx-seal text { font: 600 9.4px var(--bhx-body); letter-spacing: .17em; fill: #fff; }
.bhx-seal b { font-family: var(--bhx-head); font-weight: 300; font-size: 1.9rem; }
@keyframes bhxSpin { to { transform: rotate(360deg); } }

/* ---------- Laufband ---------- */
.bhx-marquee { overflow: hidden; background: var(--bhx-tint); border-block: 1px solid var(--bhx-line); padding: 18px 0; }
.bhx-marquee-track { display: flex; width: max-content; align-items: center; gap: 34px; animation: bhxScroll 48s linear infinite; font-family: var(--bhx-head); font-weight: 300; font-size: clamp(1.5rem, 3vw, 2.5rem); white-space: nowrap; letter-spacing: -.02em; color: var(--bhx-ink); }
.bhx-marquee-track b { font-weight: 700; color: var(--bhx-green); }
.bhx-marquee-track i { font-style: normal; color: var(--bhx-green); font-size: .6em; }
@keyframes bhxScroll { to { transform: translateX(-50%); } }

/* ---------- Abschnitte ---------- */
.bhx-sec { padding: clamp(64px, 9vw, 130px) 0; }
.bhx-sec--tint { background: var(--bhx-tint); }
.bhx-sec--tint2 { background: var(--bhx-tint-2); }
.bhx-head { display: grid; grid-template-columns: 1.3fr .7fr; gap: 20px 56px; align-items: end; margin-bottom: clamp(32px, 5vw, 70px); }
.bhx-head .bhx-h2 { margin: 0; }
.bhx-head p { margin: 0; color: var(--bhx-muted); font-size: 1.08rem; }

/* Aktionen */
.bhx-aktuell { background: #fff; padding: clamp(56px, 8vw, 110px) 0; border-bottom: 1px solid var(--bhx-line); }
.bhx-tickets { display: grid; gap: 22px; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.bhx-ticket { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--bhx-line); border-radius: var(--bhx-leaf); overflow: hidden; transition: transform .4s var(--bhx-ease), box-shadow .4s, border-color .3s; }
.bhx-ticket:hover { transform: translateY(-8px); box-shadow: 0 28px 56px rgba(28, 43, 18, .14); border-color: var(--bhx-green); }
.bhx-ticket-media { position: relative; overflow: hidden; }
.bhx-ticket-media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform 1s var(--bhx-ease); }
.bhx-ticket:hover img { transform: scale(1.06); }
.bhx-days { position: absolute; left: 16px; top: 16px; background: var(--bhx-rose); color: #fff; font: 700 .8rem/1 var(--bhx-body); letter-spacing: .05em; padding: .7em 1.1em; border-radius: 999px; }
.bhx-days--static { position: static; align-self: flex-start; }
.bhx-ticket-body { padding: 26px 30px 32px; display: flex; flex-direction: column; gap: 10px; flex: 1; align-items: flex-start; }
.bhx-ticket-body h3 { font-size: 2rem; color: var(--bhx-rose); font-weight: 400; margin: 0; }
.bhx-ticket-text { color: var(--bhx-muted); }
.bhx-ticket-text > :last-child { margin-bottom: 0; }
.bhx-ticket-body .bhx-btn { margin-top: auto; }
.bhx-tickets--1 { grid-template-columns: minmax(0, 960px); }
.bhx-tickets--1 .bhx-ticket { flex-direction: row; }
.bhx-tickets--1 .bhx-ticket-media { width: 46%; }
.bhx-tickets--1 .bhx-ticket-media img { height: 100%; aspect-ratio: auto; }

/* Intro-Satz mit Bildern */
.bhx-big { font-family: var(--bhx-head); font-weight: 300; font-size: clamp(2rem, 5vw, 4.5rem); line-height: 1.1; letter-spacing: -.03em; max-width: 19em; margin: 0; color: var(--bhx-ink); }
.bhx-big em { font-style: normal; font-weight: 700; color: var(--bhx-green); }
.bhx-pill { display: inline-block; vertical-align: middle; width: 2.2em; height: .9em; margin: 0 .1em; border-radius: 4px 999px 4px 999px; overflow: hidden; position: relative; top: -.06em; transition: width .6s var(--bhx-ease), transform .6s var(--bhx-ease); }
.bhx-pill img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bhx-pill:hover { width: 3.3em; transform: rotate(-3deg); }
.bhx-intro-foot { display: flex; flex-wrap: wrap; gap: 28px 64px; align-items: flex-end; justify-content: space-between; margin-top: clamp(36px, 5vw, 80px); padding-top: 30px; border-top: 1px solid var(--bhx-line); }
.bhx-stats { display: flex; gap: clamp(24px, 5vw, 72px); }
.bhx-stat strong { display: block; font-family: var(--bhx-head); font-weight: 300; font-size: clamp(2.8rem, 6vw, 5rem); line-height: .95; letter-spacing: -.04em; color: var(--bhx-green); }
.bhx-stat span { font-size: .9rem; color: var(--bhx-muted); }

/* Leistungen: abwechselnde Reihen */
.bhx-row { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 6vw, 100px); align-items: center; padding: clamp(40px, 6vw, 84px) 0; }
.bhx-row + .bhx-row { border-top: 1px solid var(--bhx-line); }
.bhx-row--flip .bhx-row-media { order: 2; }
.bhx-no { font-family: var(--bhx-head); font-weight: 200; font-size: clamp(4rem, 8vw, 7rem); line-height: .8; color: var(--bhx-tint-2); letter-spacing: -.05em; margin-bottom: .1em; }
.bhx-row-media { position: relative; }
.bhx-row-media .bhx-leaf { aspect-ratio: 4 / 4.4; box-shadow: 0 30px 60px rgba(28, 43, 18, .16); }
.bhx-row-media .bhx-leaf img { transition: transform 1.2s var(--bhx-ease); }
.bhx-row:hover .bhx-row-media img { transform: scale(1.05); }
.bhx-badge { position: absolute; left: 18px; bottom: 18px; background: #fff; border-radius: 999px; padding: .65em 1.2em; font-weight: 600; font-size: .9rem; color: var(--bhx-ink); box-shadow: 0 10px 26px rgba(0, 0, 0, .14); }
.bhx-check { list-style: none; margin: 1.2em 0 0; padding: 0; display: grid; gap: .7em; }
.bhx-check li { display: flex; gap: .8em; align-items: flex-start; margin: 0; font-weight: 500; }
.bhx-check li::before { content: "✓"; flex: none; width: 1.7em; height: 1.7em; display: grid; place-items: center; border-radius: 50%; background: var(--bhx-green); color: #fff; font-size: .78rem; margin-top: .1em; }
.bhx-row p { max-width: 30em; }

/* Blumenjahr: seitlich blättern */
.bhx-yearhead { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 34px; }
.bhx-yearhead .bhx-h2 { margin: 0; }
.bhx-arrows { display: flex; gap: 10px; }
.bhx-arrows button { width: 56px; height: 56px; border-radius: 50%; border: 1.5px solid var(--bhx-ink); background: transparent; color: var(--bhx-ink); cursor: pointer; display: grid; place-items: center; transition: background .25s, color .25s, transform .3s var(--bhx-ease); }
.bhx-arrows button:hover { background: var(--bhx-ink); color: #fff; transform: translateY(-2px); }
.bhx-arrows svg { width: 20px; height: 20px; }
.bhx-track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: max(24px, calc((100vw - 1240px) / 2)); padding: 6px max(24px, calc((100vw - 1240px) / 2)) 30px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.bhx-track::-webkit-scrollbar { display: none; }
.bhx-yc { position: relative; flex: none; scroll-snap-align: start; width: min(78vw, 440px); min-height: 380px; border-radius: var(--bhx-leaf); padding: 30px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; color: var(--bhx-ink); transition: transform .5s var(--bhx-ease); }
.bhx-yc:hover { transform: translateY(-8px); }
.bhx-yc--rose { background: #f6dde3; }
.bhx-yc--lime { background: var(--bhx-tint-2); }
.bhx-yc--tint { background: var(--bhx-tint); border: 1px solid var(--bhx-line); }
.bhx-yc--sage { background: #d3dfc3; }
.bhx-yc--green { background: var(--bhx-green); color: #fff; }
.bhx-yc small { font: 700 .76rem/1 var(--bhx-body); letter-spacing: .14em; text-transform: uppercase; opacity: .7; }
.bhx-yc em { position: absolute; right: -6px; top: -26px; font-family: var(--bhx-head); font-style: normal; font-weight: 200; font-size: 10rem; line-height: 1; letter-spacing: -.06em; opacity: .16; pointer-events: none; }
.bhx-yc h3 { font-size: 2.2rem; margin: 0 0 .3em; color: inherit; }
.bhx-yc p { margin: 0 0 1.1em; max-width: 22em; }
.bhx-yc--green h3 { color: #fff; }
.bhx-yc .bhx-chip { color: inherit; }
.bhx-yc .bhx-chip:hover { color: #fff; }
.bhx-yc--green .bhx-chip:hover { background: #fff; color: var(--bhx-green-d); border-color: #fff; }

/* Ansprechpartner */
.bhx-people { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 44px); align-items: start; }
.bhx-person:nth-child(2) { margin-top: clamp(20px, 5vw, 80px); }
.bhx-person .bhx-leaf { aspect-ratio: 4 / 5; }
.bhx-person .bhx-leaf img { transition: transform 1.1s var(--bhx-ease); }
.bhx-person:hover .bhx-leaf img { transform: scale(1.07); }
.bhx-person-body { padding: 22px 4px 0; }
.bhx-person-body h3 { font-size: clamp(1.8rem, 2.6vw, 2.4rem); margin: 0 0 .1em; }
.bhx-person-body p { color: var(--bhx-muted); }
.bhx-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.bhx-person--team .bhx-leaf { background: var(--bhx-green); display: grid; place-items: center; text-align: center; color: #fff; padding: 12%; }
.bhx-person--team .bhx-leaf b { display: block; font-family: var(--bhx-head); font-weight: 300; font-size: clamp(2.2rem, 4vw, 3.6rem); line-height: 1; margin-bottom: .3em; }
.bhx-person--team .bhx-ico { margin-top: 1.4em; width: 60px; height: 60px; background: #fff; color: var(--bhx-green-d); }
.bhx-person--team:hover .bhx-ico svg { transform: rotate(0); }

/* Trauer & Grabpflege: ruhig */
.bhx-quiet { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(28px, 6vw, 96px); align-items: center; }
.bhx-quiet .bhx-leaf { aspect-ratio: 4 / 4.6; }
.bhx-quiet .bhx-leaf img { position: absolute; inset: -6% 0; height: 112%; will-change: transform; }
.bhx-links { list-style: none; margin: 1.6em 0 0; padding: 0; border-top: 1px solid rgba(28, 43, 18, .22); }
.bhx-links li { margin: 0; }
.bhx-links a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 4px; border-bottom: 1px solid rgba(28, 43, 18, .22); font-family: var(--bhx-head); font-weight: 300; font-size: clamp(1.6rem, 2.8vw, 2.4rem); letter-spacing: -.02em; color: var(--bhx-ink); transition: padding .4s var(--bhx-ease), color .25s; }
.bhx-links a:hover { padding-left: 16px; color: var(--bhx-green-d); }
.bhx-links .bhx-ico { background: var(--bhx-ink); color: #fff; }
.bhx-links a:hover .bhx-ico svg { transform: rotate(0); }

/* Zeitstrahl, Stellen */
.bhx-timeline { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 8px; }
.bhx-timeline::before { content: ""; position: absolute; left: 0; right: 0; top: 13px; height: 2px; background: var(--bhx-line); }
.bhx-tl { position: relative; padding: 44px 26px 0 0; }
.bhx-tl::before { content: ""; position: absolute; left: 0; top: 5px; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 4px solid var(--bhx-green); transition: transform .4s var(--bhx-ease), background .3s; }
.bhx-tl:hover::before { transform: scale(1.4); background: var(--bhx-green); }
.bhx-tl b { display: block; font-family: var(--bhx-head); font-weight: 300; font-size: clamp(2.6rem, 5vw, 4.4rem); line-height: 1; letter-spacing: -.04em; color: var(--bhx-ink); margin-bottom: .3em; }
.bhx-tl p { color: var(--bhx-muted); margin: 0; max-width: 16em; }
.bhx-jobs { position: relative; overflow: hidden; margin-top: clamp(44px, 6vw, 90px); background: var(--bhx-green); color: #fff; border-radius: var(--bhx-leaf-l); padding: clamp(28px, 4.4vw, 60px); display: flex; flex-wrap: wrap; gap: 20px 40px; align-items: center; justify-content: space-between; }
.bhx-jobs h3 { color: #fff; margin: 0 0 .2em; font-size: clamp(1.8rem, 3.2vw, 2.8rem); }
.bhx-jobs p { margin: 0; color: #eaf3dc; }
.bhx-jobs::after { content: "✿"; position: absolute; right: 40px; top: -40px; font-size: 13rem; color: rgba(255, 255, 255, .09); transform: rotate(-12deg); pointer-events: none; }

/* Kontakt */
.bhx-contact { background: var(--bhx-ink); color: #c9d6bb; }
.bhx-contact .bhx-h2 { color: #fff; }
.bhx-contact .bhx-h2 strong { color: #b9d68a; }
.bhx-contact .bhx-eyebrow { color: #b9d68a; }
.bhx-contact-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(28px, 6vw, 100px); align-items: start; }
.bhx-clist { list-style: none; padding: 0; margin: 1.6em 0; display: grid; gap: 20px; }
.bhx-clist li { margin: 0; }
.bhx-clist span { display: block; font-size: .76rem; text-transform: uppercase; letter-spacing: .13em; color: #b9d68a; font-weight: 700; margin-bottom: 4px; }
.bhx-clist a { font-family: var(--bhx-head); font-weight: 300; font-size: clamp(2rem, 4vw, 3.4rem); color: #fff; line-height: 1.05; letter-spacing: -.03em; transition: color .2s; word-break: break-word; }
.bhx-clist a:hover { color: #b9d68a; }
.bhx-hours-title { margin: 1.6em 0 .6em; font-size: 1.3rem; color: #fff; font-family: var(--bhx-head); font-weight: 400; }
.bhx-hours { border-collapse: collapse; margin: 0 0 1.8em; width: 100%; max-width: 540px; }
.bhx-hours th, .bhx-hours td { text-align: left; padding: 10px 0; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .16); font-weight: 400; font-size: .98rem; color: inherit; background: none; }
.bhx-hours th { padding-right: 16px; width: 38%; }
.bhx-hours .is-today th, .bhx-hours .is-today td { color: #fff; font-weight: 700; }
.bhx-hours .is-today th::before { content: "● "; color: #b9d68a; }
.bhx-contact .bhx-btn--ghost { color: #fff !important; border-color: rgba(255, 255, 255, .45); }
.bhx-contact .bhx-btn--ghost:hover { background: #fff; color: var(--bhx-ink) !important; border-color: #fff; }
.bhx-card { background: #fff; color: var(--bhx-text); border-radius: var(--bhx-leaf-l); padding: clamp(26px, 3.8vw, 52px); box-shadow: 0 40px 80px rgba(0, 0, 0, .35); }
.bhx-card h3 { font-size: clamp(2rem, 3.2vw, 2.7rem); margin: 0 0 .6em; }

/* Formular */
.bhx-form { display: grid; gap: 16px; }
.bhx-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bhx-field label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: 6px; color: var(--bhx-ink); }
.bhx-field label span { font-weight: 400; color: var(--bhx-muted); }
.bhx-field input, .bhx-field select, .bhx-field textarea { width: 100%; font: inherit; color: var(--bhx-ink); background: var(--bhx-tint); border: 1.5px solid transparent; border-radius: 16px; padding: 14px 16px; transition: border-color .2s, box-shadow .2s, background .2s; }
.bhx-field input:focus, .bhx-field select:focus, .bhx-field textarea:focus { outline: none; border-color: var(--bhx-green); box-shadow: 0 0 0 5px rgba(94, 129, 49, .18); background: #fff; }
.bhx-consent { display: flex; gap: 12px; align-items: flex-start; font-size: .88rem; color: var(--bhx-muted); }
.bhx-consent input { margin-top: .25em; width: 20px; height: 20px; accent-color: var(--bhx-green); flex: none; }
.bhx-consent a { font-weight: 600; color: var(--bhx-green-d); background: linear-gradient(transparent 62%, rgba(94, 129, 49, .28) 62%); }
.bhx-hp { position: absolute; left: -5000px; height: 0; overflow: hidden; }
.bhx-small { font-size: .85rem; color: var(--bhx-muted); }
.bhx-notice-box { border-radius: 18px; padding: 16px 18px; margin-bottom: 18px; font-size: .98rem; }
.bhx-notice-box--ok { background: #e3f0d0; color: #26401a; }
.bhx-notice-box--err { background: #fbe3e7; color: #7a2432; }

/* ---------- Unterseiten (Kadence) ---------- */
.entry-hero.page-hero-section .entry-hero-container-inner { background: var(--bhx-tint); }
.entry-hero .entry-header .entry-title { font-size: clamp(2.6rem, 6vw, 5rem); font-weight: 300; letter-spacing: -.03em; }
.entry-content h2 { margin-top: 1.5em; font-size: clamp(1.9rem, 3.4vw, 3rem); }
.entry-content h3 { margin-top: 1.4em; }
.entry-content img { border-radius: var(--bhx-leaf); }
body:not(.home) .entry-content a:where(:not(.wp-block-button__link):not(.bhx-btn):not(.bhx-chip):not(.bh-social-icon)) { font-weight: 600; color: var(--bhx-green-d); background: linear-gradient(transparent 60%, rgba(94, 129, 49, .26) 60%); border-radius: 3px; transition: background .25s, color .2s; }
body:not(.home) .entry-content a:where(:not(.wp-block-button__link):not(.bhx-btn):not(.bhx-chip):not(.bh-social-icon)):hover { background: rgba(94, 129, 49, .24); color: var(--bhx-ink); }
.entry-content .wp-block-button__link { background: var(--bhx-green); color: #fff; border-radius: 999px; padding: .95em 1.8em; font-weight: 600; transition: transform .3s var(--bhx-ease), background .25s; }
.entry-content .wp-block-button__link:hover { background: var(--bhx-green-d); color: #fff; transform: translateY(-3px); }
.entry-content .is-style-outline .wp-block-button__link { background: transparent; color: var(--bhx-ink); border: 2px solid var(--bhx-ink); }
.entry-content .is-style-outline .wp-block-button__link:hover { background: var(--bhx-ink); color: #fff; }
.entry-content blockquote, .entry-content .wp-block-quote { margin: 1.8em 0; padding: 30px 36px; background: var(--bhx-tint); border: 0; border-radius: var(--bhx-leaf); font-family: var(--bhx-head); font-weight: 300; font-size: 1.4rem; line-height: 1.3; letter-spacing: -.02em; }
.entry-content .wp-block-accordion-item, .entry-content details { border-radius: 22px; background: var(--bhx-tint); margin: 10px 0; padding: 4px 24px; }
.entry-content iframe { max-width: 100%; border-radius: 24px; }

/* Ansprechpartner-Band am Seitenende */
.bhx-cta { background: var(--bhx-tint); padding: clamp(56px, 8vw, 110px) 0; margin-top: clamp(40px, 6vw, 90px); }
.bhx-cta-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(28px, 7vw, 110px); align-items: center; }
.bhx-cta .bhx-leaf { aspect-ratio: 4 / 4.6; }
.bhx-cta .bhx-leaf img { object-position: 40% 20%; }

/* ---------- Fuß ---------- */
#colophon { display: none; }
.bhx-footer { background: var(--bhx-tint); border-top: 1px solid var(--bhx-line); padding-top: clamp(48px, 7vw, 90px); overflow: hidden; }
.bhx-footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 34px; padding-bottom: clamp(30px, 5vw, 60px); }
.bhx-footer-lead { font-family: var(--bhx-head); font-weight: 300; font-size: clamp(1.8rem, 3.2vw, 2.8rem); line-height: 1.06; letter-spacing: -.03em; color: var(--bhx-ink); max-width: 12em; margin: 0 0 1em; }
.bhx-footer-lead strong { color: var(--bhx-green); font-weight: 700; }
.bhx-footer h2 { font: 700 .76rem var(--bhx-body); letter-spacing: .14em; text-transform: uppercase; color: var(--bhx-green); margin: 0 0 1.1em; }
.bhx-footer address { font-style: normal; line-height: 1.85; }
.bhx-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.bhx-footer a { color: var(--bhx-ink); transition: color .2s, transform .3s var(--bhx-ease); }
.bhx-footer ul a, .bhx-footer address a { display: inline-block; }
.bhx-footer ul a:hover, .bhx-footer address a:hover { color: var(--bhx-green); transform: translateX(5px); }
.bhx-footer-hours span { display: inline-block; min-width: 6.4em; color: var(--bhx-ink); font-weight: 600; }
.bhx-mark { font-family: var(--bhx-head); font-weight: 200; font-size: clamp(4rem, 19vw, 19rem); line-height: .78; letter-spacing: -.05em; text-align: center; white-space: nowrap; color: var(--bhx-tint-2); margin: 0 -1vw -.06em; user-select: none; pointer-events: none; }
.bhx-footer-bottom { background: #fff; border-top: 1px solid var(--bhx-line); padding: 18px 0 22px; font-size: .88rem; }
.bhx-footer-bottom .bhx-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; }
.bhx-footer-bottom p { margin: 0; }
.bhx-footer-bottom ul { display: flex; flex-wrap: wrap; gap: 6px 22px; }

/* ---------- Schnellkontakt am Rand ---------- */
.bhx-rail { position: fixed; right: 16px; top: 50%; translate: 0 -50%; z-index: 350; display: grid; gap: 10px; opacity: 0; pointer-events: none; transform: translateX(20px); transition: opacity .4s, transform .4s var(--bhx-ease); }
.bhx-rail.is-on { opacity: 1; pointer-events: auto; transform: none; }
.bhx-rail a { position: relative; width: 54px; height: 54px; border-radius: 50%; background: var(--bhx-green); color: #fff; display: grid; place-items: center; box-shadow: 0 12px 26px rgba(63, 90, 33, .38); transition: transform .3s var(--bhx-ease), background .25s; }
.bhx-rail a:hover { background: var(--bhx-green-d); transform: scale(1.1); }
.bhx-rail svg { width: 24px; height: 24px; }
.bhx-rail span { position: absolute; right: 64px; background: var(--bhx-ink); color: #fff; font-size: .82rem; font-weight: 600; padding: .5em .9em; border-radius: 999px; white-space: nowrap; opacity: 0; transform: translateX(8px); transition: .3s var(--bhx-ease); pointer-events: none; }
.bhx-rail a:hover span { opacity: 1; transform: none; }

/* ---------- Nach oben (mit Fortschrittsring) ----------
   Laptop: unten rechts in derselben Spalte wie der Schnellkontakt. Handy: rechts über der Kontaktleiste.
   Weiß mit grünem Pfeil, damit er sich von den grünen Kontaktknöpfen abhebt. */
.bhx-hoch { position: fixed; right: max(17px, calc(env(safe-area-inset-right) + 16px)); bottom: max(24px, calc(env(safe-area-inset-bottom) + 16px)); z-index: 350; width: 52px; height: 52px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: var(--bhx-green); cursor: pointer; display: grid; place-items: center; box-shadow: 0 1px 0 rgba(28, 43, 18, .06), 0 12px 28px rgba(28, 43, 18, .18); opacity: 0; visibility: hidden; transform: translateY(14px) scale(.9); transition: opacity .2s, transform .3s var(--bhx-ease), visibility 0s .3s, background .25s, color .25s; }
.bhx-hoch.ist-da { opacity: 1; visibility: visible; transform: none; transition: opacity .25s, transform .4s var(--bhx-ease), background .25s, color .25s; }
.bhx-hoch > svg { grid-area: 1 / 1; }
.bhx-hoch__ring { width: 100%; height: 100%; transform: rotate(-90deg); }
.bhx-hoch__ring circle { fill: none; stroke-width: 2.5; stroke: var(--bhx-tint-2); transition: stroke .25s; }
.bhx-hoch__ring .bhx-hoch__fort { stroke: var(--bhx-green); stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; }
.bhx-hoch__pfeil { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s cubic-bezier(.3, 1.4, .4, 1); }
.bhx-hoch:hover { background: var(--bhx-green); color: #fff; }
.bhx-hoch:hover .bhx-hoch__ring circle { stroke: rgba(255, 255, 255, .28); }
.bhx-hoch:hover .bhx-hoch__ring .bhx-hoch__fort { stroke: #fff; }
.bhx-hoch:hover .bhx-hoch__pfeil { transform: translateY(-3px); }
.bhx-hoch.ist-da:active { transform: scale(.94); }
.bhx-hoch:focus-visible { outline: 3px solid var(--bhx-green); outline-offset: 3px; }
/* Footer-Zeile unten rechts freihalten, solange der Rand schmal ist */
@media (min-width: 981px) and (max-width: 1420px) {
  html body .bhx-footer .bhx-footer-bottom .bhx-wrap { padding-right: max(24px, calc(96px - (100vw - 1240px) / 2)); }
}
@media (max-width: 980px) {
  .bhx-hoch { width: 48px; height: 48px; right: max(16px, calc(env(safe-area-inset-right) + 12px)); bottom: calc(80px + env(safe-area-inset-bottom)); }
  /* Seitenende über Kontaktleiste und Knopf, damit die Footer-Links ganz unten frei bleiben */
  html body { padding-bottom: calc(136px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { .bhx-hoch, .bhx-hoch * { transition: none !important; } }

/* ---------- Einblenden ---------- */
.bhx-reveal { opacity: 0; transform: translateY(40px); transition: opacity .9s var(--bhx-ease), transform .9s var(--bhx-ease); transition-delay: calc(var(--i, 0) * 120ms); }
.bhx-reveal.is-in { opacity: 1; transform: none; }

/* ---------- Tablet / Handy ---------- */
@media (max-width: 980px) {
  .bhx-hero-grid, .bhx-row, .bhx-quiet, .bhx-contact-grid, .bhx-cta-grid, .bhx-head { grid-template-columns: 1fr; }
  .bhx-hero-grid { min-height: 0; }
  .bhx-hero-visual { order: -1; max-width: 560px; margin-inline: auto; width: 100%; }
  .bhx-float { left: 2%; }
  .bhx-seal { width: 92px; height: 92px; right: 0; }
  .bhx-seal svg { width: 92px; height: 92px; }
  .bhx-row--flip .bhx-row-media { order: 0; }
  .bhx-people { grid-template-columns: 1fr; max-width: 480px; margin-inline: auto; }
  .bhx-person:nth-child(2) { margin-top: 0; }
  .bhx-timeline { grid-template-columns: 1fr 1fr; row-gap: 34px; }
  .bhx-timeline::before { display: none; }
  .bhx-tl { border-top: 2px solid var(--bhx-line); padding-top: 32px; }
  .bhx-tl::before { top: -10px; }
  .bhx-tickets--1 .bhx-ticket { flex-direction: column; }
  .bhx-tickets--1 .bhx-ticket-media { width: 100%; }
  .bhx-tickets--1 .bhx-ticket-media img { height: auto; aspect-ratio: 16 / 10; }
  .bhx-footer-top { grid-template-columns: 1fr 1fr; }
  .bhx-row2 { grid-template-columns: 1fr; }
  .bhx-rail { top: auto; bottom: 12px; left: 12px; right: 12px; translate: 0 0; grid-template-columns: repeat(3, 1fr); gap: 0; background: rgba(255, 255, 255, .98); border-radius: 999px; box-shadow: 0 12px 36px rgba(28, 43, 18, .3); padding: 5px; transform: translateY(20px); }
  .bhx-rail a { width: auto; height: auto; border-radius: 999px; background: transparent; color: var(--bhx-ink); box-shadow: none; padding: 11px 4px; grid-auto-flow: column; gap: 8px; justify-content: center; font-size: .86rem; font-weight: 700; }
  .bhx-rail a:last-child { background: var(--bhx-green); color: #fff; }
  .bhx-rail a:hover { transform: none; background: transparent; }
  .bhx-rail a:last-child:hover { background: var(--bhx-green-d); }
  .bhx-rail svg { width: 18px; height: 18px; }
  .bhx-rail span { position: static; opacity: 1; transform: none; background: none; color: inherit; padding: 0; font-size: .86rem; pointer-events: auto; }
  body { padding-bottom: 76px; }
  /* iOS: feste Leiste ohne Weichzeichner und ohne Bewegungs-Übergang, sonst hängt sie beim schnellen Hochscrollen */
  .bhx-rail { -webkit-backdrop-filter: none; backdrop-filter: none; transition: opacity .3s; }
}
@media (max-width: 640px) {
  .bhx-wrap { width: min(1240px, 100% - 32px); }
  .bhx-btnrow .bhx-btn { flex: 1 1 100%; }
  .bhx-footer-top { grid-template-columns: 1fr; }
  .bhx-stats { width: 100%; justify-content: space-between; gap: 12px; }
  .bhx-timeline { grid-template-columns: 1fr; }
  .bhx-pill { width: 1.8em; }
  .bhx-float { min-width: 0; padding: 14px 16px; }
  .bhx-float strong { font-size: 1.1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .bhx-hero-copy > *, .bhx-hero-visual { opacity: 1; transform: none; animation: none; }
  .bhx-marquee-track, .bhx-float, .bhx-seal svg { animation: none; }
  .bhx-slides img { transition: none; transform: none; }
  .bhx-reveal { opacity: 1; transform: none; transition: none; }
  .bhx-btn:hover, .bhx-ticket:hover, .bhx-yc:hover { transform: none; }
}

/* Kadence-Vorgaben überschreiben */
body .button, body .wp-block-button__link, body button, body input[type=submit], #masthead .button { text-transform: none; }
body .entry-title, body .kadence-blocks-heading, body .wp-block-heading { text-transform: none; }
/* Schmalere Laptops: Menü (6 kurze Punkte) etwas enger, damit Menü und „Anfrage senden“ in eine Zeile passen */
@media (max-width: 1200px) and (min-width: 1025px) {
  #masthead .main-navigation .primary-menu-container > ul > li.menu-item > a { padding-left: .6em; padding-right: .6em; }
}

/* Unterseiten: ruhiger, weißer Grund, Titel links */
body, body.wp-custom-logo { background-color: #fff; }
body.content-style-boxed .content-bg, .content-bg { background: #fff; box-shadow: none; }
.page-hero-section .entry-header, .entry-hero .entry-header { text-align: left; }
.entry-hero .hero-container, .entry-hero .entry-hero-container-inner .hero-container { max-width: 1240px; }
.entry-hero.page-hero-section .entry-hero-container-inner { padding-top: clamp(40px, 6vw, 90px); padding-bottom: clamp(30px, 5vw, 70px); }


/* ---------- Unterseiten wie die Startseite ---------- */
.entry-hero.page-hero-section .entry-hero-container-inner { position: relative; overflow: hidden; background: #fff; }
.entry-hero.page-hero-section .entry-hero-container-inner::before { content: ""; position: absolute; right: -10%; top: -60%; width: 60vw; height: 60vw; max-width: 780px; max-height: 780px; border-radius: 50%; background: radial-gradient(circle at 40% 40%, var(--bhx-tint-2), rgba(228, 238, 213, 0) 68%); pointer-events: none; }
.entry-hero .hero-container { position: relative; z-index: 1; }
.entry-hero .entry-header .bhx-page-eyebrow { display: block; margin: 0 0 1.2em; }
.entry-hero .entry-header .entry-title { font-size: clamp(2.6rem, 6vw, 5.2rem); margin-bottom: .3em; line-height: 1.02; }
.entry-hero .entry-header .bhx-page-lead { margin: .4em 0 0; max-width: 34em; font-size: clamp(1.05rem, 1.5vw, 1.25rem); color: var(--bhx-muted); }
.entry-hero .entry-header > * { animation: bhxRise 1s var(--bhx-ease) both; }
.entry-hero .entry-header > *:nth-child(2) { animation-delay: .1s; }
.entry-hero .entry-header > *:nth-child(3) { animation-delay: .25s; }

.bhx-intro-el { font-size: 1.14rem; }
.bhx-band { position: relative; width: 100vw; margin-left: calc(50% - 50vw); padding: clamp(48px, 7vw, 100px) 0; }
.bhx-band--alt { background: var(--bhx-tint); }
.bhx-band-in { width: min(1120px, 100% - 48px); margin: 0 auto; }
.bhx-band-in > h2 { margin-top: 0; font-size: clamp(2rem, 4.2vw, 3.5rem); }
.bhx-band-in > h2::before { content: ""; display: block; width: 58px; height: 8px; margin-bottom: .7em; border-radius: 8px 0 8px 0; background: var(--bhx-green); }
.bhx-band-in > *:last-child { margin-bottom: 0; }
.entry-content figure.wp-block-image { overflow: hidden; border-radius: var(--bhx-leaf); }
.entry-content figure.wp-block-image img { transition: transform 1.1s var(--bhx-ease); }
.entry-content figure.wp-block-image:hover img { transform: scale(1.05); }
.entry-content ul:not([class]) li::marker, .entry-content ol:not([class]) li::marker { color: var(--bhx-green); font-weight: 700; }
body:not(.home) .entry-content a:where(:not(.wp-block-button__link):not(.bhx-btn):not(.bhx-chip):not(.bh-social-icon)):has(img, svg) { background: none; }
@media (max-width: 640px) { .bhx-band-in { width: min(1120px, 100% - 32px); } }

/* Titelbereich links ausrichten */
.entry-hero .hero-container { display: block; text-align: left; }
.entry-hero .entry-header { display: block !important; text-align: left !important; width: 100%; }
.entry-hero .entry-header .entry-title { text-align: left !important; }

.entry-hero .hero-container { padding-top: clamp(56px, 7vw, 104px); padding-bottom: clamp(34px, 5vw, 72px); }


/* ---------- Einheitliche Schrift und Abstände auf Unterseiten (nicht auf der Startseite) ---------- */
body:not(.home) .entry-content { font-size: 1.0625rem; line-height: 1.7; }
body:not(.home) .entry-content p:not(.bhx-lead):not(.bhx-eyebrow):not(.bhx-role):not(.bhx-big), body:not(.home) .entry-content li { font-size: 1.0625rem; line-height: 1.7; }
body:not(.home) .entry-content p { margin: 0 0 1.1em; }
body:not(.home) .entry-content ul:not(.bhx-check):not(.bhx-links), body:not(.home) .entry-content ol { margin: 0 0 1.3em; padding-left: 1.3em; }
body:not(.home) .entry-content li { margin-bottom: .4em; }
body:not(.home) .entry-content h2:not(.bhx-h2), body:not(.home) .entry-content h2.wp-block-heading:not(.bhx-h2) { font-size: clamp(2rem, 4.2vw, 3.5rem); font-weight: 300; line-height: 1.06; margin: 0 0 .6em; }
body:not(.home) .entry-content h3:not(.bhx-h2), body:not(.home) .entry-content h3.wp-block-heading:not(.bhx-h2) { font-family: var(--bhx-head); font-size: clamp(1.45rem, 2.3vw, 1.95rem); font-weight: 400; line-height: 1.14; letter-spacing: -.015em; margin: 1.7em 0 .6em; color: var(--bhx-ink); }
body:not(.home) .entry-content h4:not(.wp-block-accordion-heading), body:not(.home) .entry-content h4.wp-block-heading { font-family: var(--bhx-head); font-size: 1.3rem; font-weight: 500; line-height: 1.2; margin: 1.5em 0 .5em; }
body:not(.home) .entry-content h2 + h3 { margin-top: .8em; }
body:not(.home) .entry-content .wp-block-spacer { height: clamp(6px, 1.6vw, 22px) !important; }
body:not(.home) .entry-content .wp-block-columns { margin: 1.6em 0; }
body:not(.home) .entry-content .wp-block-buttons { margin: 1.4em 0; gap: 12px; }
body:not(.home) .entry-content figure, body:not(.home) .entry-content .wp-block-image { margin: 1.6em 0; }

/* Aufklappbare Fragen (FAQ) */
.entry-content .wp-block-accordion { margin: .4em 0 1.4em; }
.entry-content .wp-block-accordion-item { background: #fff; border: 1px solid var(--bhx-line); border-radius: 22px; padding: 0 24px; margin: 12px 0; transition: border-color .3s, box-shadow .3s, background .3s; }
.entry-content .wp-block-accordion-item:hover { border-color: var(--bhx-green); }
.entry-content .wp-block-accordion-item.is-open, .entry-content .wp-block-accordion-item:has(.wp-block-accordion-heading__toggle[aria-expanded="true"]) { background: var(--bhx-tint); border-color: var(--bhx-green); box-shadow: 0 14px 34px rgba(28, 43, 18, .08); }
.entry-content .wp-block-accordion-heading { margin: 0; font-size: 1.12rem; line-height: 1.35; }
.entry-content .wp-block-accordion-heading__toggle { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; background: none; border: 0; box-shadow: none; padding: 20px 0; text-align: left; cursor: pointer; color: var(--bhx-ink); font-family: var(--bhx-head); font-size: 1.15rem; font-weight: 500; letter-spacing: -.01em; text-transform: none; }
.entry-content .wp-block-accordion-heading__toggle:hover { background: none; color: var(--bhx-green-d); box-shadow: none; }
.entry-content .wp-block-accordion-heading__toggle-title { font-family: inherit; font-size: inherit; font-weight: inherit; color: inherit; }
.entry-content .wp-block-accordion-heading__toggle-icon { color: var(--bhx-green); font-size: 1.5rem; line-height: 1; flex: none; }
.entry-content .wp-block-accordion-panel { padding: 0 0 20px; }
.entry-content .wp-block-accordion-panel p, .entry-content .wp-block-accordion-panel li { font-size: 1rem; line-height: 1.7; margin: 0 0 .8em; }
.entry-content .wp-block-accordion-panel > :last-child { margin-bottom: 0; }


/* ---------- Schriften vereinheitlichen ---------- */
button, input, select, textarea, .button, .wp-block-button__link, .kb-button { font-family: var(--bhx-body); }
.wp-block-button__link { font-weight: 600; letter-spacing: 0; text-transform: none; }
.ti-widget, .ti-widget *, .ti-widget.ti-goog .ti-review-text-container, .trustindex-widget, .trustindex-widget * { font-family: var(--bhx-body) !important; }
.ti-widget .ti-name, .ti-widget .ti-rating-text strong { font-family: var(--bhx-head) !important; }
.sbi_photo_wrap, #sb_instagram, #sb_instagram * { font-family: var(--bhx-body); }
.rcb-banner, .rcb-banner * { font-family: var(--bhx-body); }


/* ---------- Widgets: Bewertungen und Instagram ---------- */
pre.ti-widget, .ti-widget { white-space: normal !important; background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; overflow: visible !important; max-width: none !important; font-family: var(--bhx-body) !important; color: inherit; }
pre.ti-widget *, .ti-widget * { white-space: normal; }
.bhx-reviews { overflow: hidden; }
.bhx-insta #sb_instagram { padding: 0 !important; }
.bhx-insta #sbi_images { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: 12px !important; padding: 0 !important; }
.bhx-insta .sbi_item { width: auto !important; padding: 0 !important; margin: 0 !important; float: none !important; }
.bhx-insta .sbi_item:nth-child(n+7) { display: none !important; }
.bhx-insta .sbi_photo_wrap, .bhx-insta .sbi_photo { border-radius: var(--bhx-leaf); overflow: hidden; }
.bhx-insta .sbi_photo { display: block; aspect-ratio: 1; }
.bhx-insta .sbi_photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--bhx-ease); }
.bhx-insta .sbi_item:hover .sbi_photo img { transform: scale(1.06); }
.bhx-insta #sbi_load, .bhx-insta .sbi_follow_btn { display: none !important; }
@media (max-width: 980px) { .bhx-insta #sbi_images { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .bhx-insta #sbi_images { grid-template-columns: repeat(2, 1fr); } .bhx-insta .sbi_item:nth-child(n+5) { display: none !important; } }

/* Vor dem Start des Bewertungs-Widgets keinen riesigen Platz beanspruchen */
pre.ti-widget { max-height: 460px; overflow: hidden !important; }
.bhx-reviews { min-height: 440px; }


/* ---------- Bewertungskarten hell und passend zum Design ---------- */
html body .ti-widget.ti-goog[data-layout-id] .ti-review-item > .ti-inner { background: #fff !important; border: 1px solid var(--bhx-line) !important; border-radius: var(--bhx-leaf) !important; color: var(--bhx-text) !important; box-shadow: 0 10px 30px rgba(28, 43, 18, .06); transition: transform .4s var(--bhx-ease), box-shadow .4s, border-color .3s; }
html body .ti-widget.ti-goog[data-layout-id] .ti-review-item:hover > .ti-inner { transform: translateY(-4px); box-shadow: 0 22px 44px rgba(28, 43, 18, .12); border-color: var(--bhx-green) !important; }
html body .ti-widget[data-layout-id] .ti-review-content, html body .ti-widget[data-layout-id] .ti-review-content * { color: var(--bhx-text) !important; }
html body .ti-widget[data-layout-id] .ti-name { color: var(--bhx-ink) !important; font-weight: 600; }
html body .ti-widget[data-layout-id] .ti-date { color: var(--bhx-muted) !important; }
html body .ti-widget[data-layout-id] .ti-read-more, .ti-widget .ti-read-more span { color: var(--bhx-green-d) !important; font-weight: 600; }
html body .ti-widget[data-layout-id] .ti-quote-icon svg, .ti-widget .ti-quote-icon path { fill: var(--bhx-tint-2) !important; }
html body .ti-widget[data-layout-id] .ti-controls .ti-next, html body .ti-widget[data-layout-id] .ti-controls .ti-prev { background: #fff !important; outline: 1px solid var(--bhx-line) !important; box-shadow: 0 6px 16px rgba(28, 43, 18, .10) !important; }
html body .ti-widget.ti-goog .ti-controls .ti-next::before, html body .ti-widget.ti-goog .ti-controls .ti-prev::before { border-color: var(--bhx-green) !important; }
html body .ti-widget[data-layout-id] .ti-controls .ti-next:hover, html body .ti-widget[data-layout-id] .ti-controls .ti-prev:hover { background: var(--bhx-tint-2) !important; }
html body .ti-widget.ti-goog .ti-controls .ti-next:hover::before, html body .ti-widget.ti-goog .ti-controls .ti-prev:hover::before, html body .ti-widget.ti-goog .ti-controls .ti-next:focus::before, html body .ti-widget.ti-goog .ti-controls .ti-prev:focus::before { border-color: var(--bhx-green-d) !important; }
.bhx-pill { margin: 0 .14em 0 .22em; }


/* ---------- Handy-Menü (Kadence-Schublade) ---------- */
#mobile-drawer .drawer-inner { background: var(--bhx-ink); }
#mobile-drawer .drawer-header .drawer-toggle { color: #fff; }
#mobile-drawer .mobile-navigation { padding: 8px 6px 40px; }
#mobile-drawer .mobile-navigation ul li { border-bottom: 1px solid rgba(255, 255, 255, .14); }
#mobile-drawer .mobile-navigation ul li > a, #mobile-drawer .mobile-navigation ul li .drawer-nav-drop-wrap > a { font-family: var(--bhx-head); font-weight: 300; font-size: 1.65rem; letter-spacing: -.02em; text-transform: none; color: #fff; padding: .62em .4em; line-height: 1.15; }
#mobile-drawer .mobile-navigation ul ul li { border-bottom: 0; }
#mobile-drawer .mobile-navigation ul ul li > a { font-family: var(--bhx-body); font-weight: 400; font-size: 1.02rem; letter-spacing: 0; color: #c9d6bb; padding: .55em .9em; }
#mobile-drawer .mobile-navigation ul li > a:hover, #mobile-drawer .mobile-navigation ul li.current-menu-item > a, #mobile-drawer .mobile-navigation ul li.current-menu-item > .drawer-nav-drop-wrap > a { color: var(--bhx-lime, #d9ea9f); }
#mobile-drawer .drawer-sub-toggle { color: var(--bhx-lime, #d9ea9f); }


/* ---------- Überschriften verbindlich (Unterseiten) ---------- */
body:not(.home) .entry-content h2:not(.bhx-h2) { font-size: clamp(2rem, 4.2vw, 3.5rem) !important; font-weight: 300; line-height: 1.06; }
body:not(.home) .entry-content h3:not(.bhx-h2) { font-size: clamp(1.45rem, 2.3vw, 1.95rem) !important; font-weight: 400; line-height: 1.14; }
body:not(.home) .entry-content h4:not(.wp-block-accordion-heading) { font-size: 1.3rem !important; font-weight: 500; }
body:not(.home) .entry-content h4.wp-block-heading.has-text-align-center { margin-top: 1rem; margin-bottom: .25rem; }


/* Zahlen auf dem Handy */
@media (max-width: 640px) {
  .bhx-stats { display: grid; grid-template-columns: repeat(3, auto); justify-content: space-between; gap: 10px; width: 100%; }
  .bhx-stat strong { font-size: 2.5rem; }
  .bhx-stat span { font-size: .78rem; line-height: 1.3; display: block; overflow-wrap: normal; word-break: normal; hyphens: auto; }
}


/* ---------- Listen in eigenen Bereichen ohne Theme-Einrückung ---------- */
.entry-content ul[class*="bhx-"], .entry-content ol[class*="bhx-"] { padding-left: 0 !important; margin-left: 0 !important; list-style: none !important; }
.entry-content ul[class*="bhx-"] > li, .entry-content ol[class*="bhx-"] > li { margin-left: 0; }
.entry-content ul.bhx-facts { margin: 2.2em 0 0; }
.entry-content ul.bhx-check { margin: 1.2em 0 0; }
.entry-content ul.bhx-clist { margin: 1.6em 0; }
.entry-content ul.bhx-links { margin: 1.6em 0 0; }

/* ---------- Abstände Unterseiten, Team-Bilder, Altlasten ---------- */
body:not(.home) .content-area { margin-top: 0 !important; }
body:not(.home) .entry-content-wrap { padding-top: 0 !important; padding-bottom: 0 !important; }
.bhx-band { padding: clamp(40px, 5vw, 72px) 0; }
.entry-hero .hero-container { padding-top: clamp(40px, 5vw, 72px) !important; padding-bottom: clamp(24px, 3.5vw, 48px) !important; }
.entry-content .team-portrait figure, .entry-content .team-portrait .aligncenter { margin-left: auto !important; margin-right: auto !important; float: none; }
.entry-content .team-portrait { text-align: center; }
.entry-content .bh-page-heading::before, .entry-content .bh-page-heading::after { display: none !important; content: none !important; }

/* Team-Portraits im Blattformat statt rund, Ansprechpartner-Band linksbündig */
.entry-content .team-portrait figure, .entry-content .team-portrait .aligncenter { width: min(240px, 100%) !important; border-radius: var(--bhx-leaf) !important; overflow: hidden; }
.entry-content .team-portrait figure img, .entry-content .team-portrait img { width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 0 !important; display: block; }
.bhx-cta-grid, .bhx-cta-grid > div { text-align: left; }
.bhx-cta-grid .bhx-leaf { width: 100%; }

/* Kopfzeile bleibt beim Scrollen stehen */
#masthead { position: sticky; top: 0; z-index: 1000; }
.admin-bar #masthead { top: 32px; }
@media (max-width: 782px) { .admin-bar #masthead { top: 46px; } }
body.transparent-header #masthead, body.mobile-transparent-header #masthead, body #masthead { position: sticky !important; top: 0; }
.admin-bar #masthead { top: 32px !important; }
@media (max-width: 782px) { .admin-bar #masthead { top: 46px !important; } }
#masthead .site-header-row-container-inner { background: rgba(255, 255, 255, .95) !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 1px 0 rgba(28, 43, 18, .08); }

/* Runde Portraits (Trauerfloristik) ebenfalls im Blattformat; Kopfzeile immer über Fußzeile */
.entry-content figure.has-custom-css { width: min(240px, 100%) !important; margin-left: auto !important; margin-right: auto !important; border-radius: var(--bhx-leaf) !important; overflow: hidden; }
html body .entry-content figure.has-custom-css img[class] { width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover !important; border-radius: 0 !important; }
body #masthead { z-index: 9999 !important; }

/* Aufklappmenü nicht am Seitenende abschneiden */
html body .site.wp-site-blocks { overflow-x: clip !important; overflow-y: visible !important; }

/* ---------- Unterseiten wie die Startseite: Bild + Text, Überschrift links / Text rechts ---------- */
.bhx-band-in.bhx-split { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.bhx-band-in.bhx-split.bhx-split--flip { grid-template-columns: .95fr 1.05fr; }
.bhx-band-in.bhx-split.bhx-split--flip .bhx-split-text { order: 2; }
.bhx-band-in.bhx-split.bhx-split--flip .bhx-split-media { order: 1; }
.bhx-split-media figure { margin: 0 !important; width: 100% !important; border-radius: var(--bhx-leaf); overflow: hidden; box-shadow: 0 30px 60px -30px rgba(28, 43, 18, .35); aspect-ratio: 4 / 5; }
.bhx-split-media figure img { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 0 !important; display: block; transition: transform 1.1s var(--bhx-ease); }
.bhx-split-media figure:hover img { transform: scale(1.05); }
.bhx-band-in.bhx-editorial { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(28px, 6vw, 96px); align-items: start; }
.bhx-band-in.bhx-editorial .bhx-ed-head { position: sticky; top: 130px; }
.bhx-band-in.bhx-editorial .bhx-ed-head h2 { margin: 0; }
.bhx-ed-body > :first-child, .bhx-split-text > p:first-of-type { margin-top: 0; }
.bhx-band ul:not(.bhx-steps):not(.bhx-check):not(.bhx-facts):not(.bhx-clist):not(.bhx-links):not(.bhx-footer-hours):not(.wp-block-gallery):not(.blocks-gallery-grid) { list-style: none; padding: 0 !important; margin: 1.4em 0; display: grid; gap: .8em; }
.bhx-band ul:not(.bhx-steps):not(.bhx-check):not(.bhx-facts):not(.bhx-clist):not(.bhx-links):not(.bhx-footer-hours):not(.wp-block-gallery):not(.blocks-gallery-grid) > li { position: relative; padding-left: 2.1em; margin: 0; }
.bhx-band ul:not(.bhx-steps):not(.bhx-check):not(.bhx-facts):not(.bhx-clist):not(.bhx-links):not(.bhx-footer-hours):not(.wp-block-gallery):not(.blocks-gallery-grid) > li::before { content: ""; position: absolute; left: 0; top: .18em; width: 1.35em; height: 1.35em; border-radius: 50%; background: var(--bhx-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 70% no-repeat; }
@media (max-width: 860px) {
  .bhx-band-in.bhx-split, .bhx-band-in.bhx-split.bhx-split--flip, .bhx-band-in.bhx-editorial { grid-template-columns: 1fr; }
  .bhx-band-in.bhx-split.bhx-split--flip .bhx-split-text, .bhx-band-in.bhx-split.bhx-split--flip .bhx-split-media { order: initial; }
  .bhx-band-in.bhx-editorial .bhx-ed-head { position: static; }
  .bhx-split-media figure { aspect-ratio: 4 / 3.4; }
}

.entry-content a.bhx-backlink { display: inline-flex; align-items: center; padding: .6em 1.2em; border: 1.5px solid var(--bhx-ink); border-radius: 999px; background: none !important; color: var(--bhx-ink) !important; font-weight: 600; font-size: .92rem; text-decoration: none !important; transition: background .3s, color .3s; }
.entry-content a.bhx-backlink:hover { background: var(--bhx-ink) !important; color: #fff !important; }

/* Listen und Karten auch außerhalb der Abschnitte (z. B. Hochzeit-Leistungen) */
body:not(.home) .entry-content ul:not(.bhx-steps):not(.bhx-check):not(.bhx-facts):not(.bhx-clist):not(.bhx-links):not(.bhx-footer-hours):not(.wp-block-gallery):not(.blocks-gallery-grid):not(.wp-block-social-links) { list-style: none; padding: 0 !important; margin: 1.1em 0; display: grid; gap: .75em; }
body:not(.home) .entry-content ul:not(.bhx-steps):not(.bhx-check):not(.bhx-facts):not(.bhx-clist):not(.bhx-links):not(.bhx-footer-hours):not(.wp-block-gallery):not(.blocks-gallery-grid):not(.wp-block-social-links) > li { position: relative; padding-left: 2.1em; margin: 0; }
body:not(.home) .entry-content ul:not(.bhx-steps):not(.bhx-check):not(.bhx-facts):not(.bhx-clist):not(.bhx-links):not(.bhx-footer-hours):not(.wp-block-gallery):not(.blocks-gallery-grid):not(.wp-block-social-links) > li::before { content: ""; position: absolute; left: 0; top: .2em; width: 1.3em; height: 1.3em; border-radius: 50%; background: var(--bhx-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 70% no-repeat; }
.entry-content .wp-block-columns > .wp-block-column.has-background, .entry-content .wp-block-columns > .wp-block-column[style*="background"] { border-radius: var(--bhx-leaf) !important; padding: clamp(24px, 3vw, 44px) !important; background: var(--bhx-tint) !important; transition: transform .5s var(--bhx-ease), box-shadow .5s var(--bhx-ease); }
.entry-content .wp-block-columns > .wp-block-column.has-background:hover, .entry-content .wp-block-columns > .wp-block-column[style*="background"]:hover { transform: translateY(-6px); box-shadow: 0 30px 50px -28px rgba(28, 43, 18, .35); }
.entry-content .wp-block-column.has-background h3, .entry-content .wp-block-column[style*="background"] h3 { margin-top: 0; font-size: clamp(1.5rem, 2.2vw, 2rem) !important; }

/* ---------- Feinschliff Unterseiten ---------- */
body:not(.home) .entry-content hr, body:not(.home) .entry-content .wp-block-separator { display: none !important; }
.bhx-band-in p:empty { display: none; }
.bhx-band-in.bhx-editorial .bhx-ed-head h2, .bhx-band-in.bhx-split .bhx-split-text h2 { font-size: clamp(1.9rem, 3.3vw, 3.1rem) !important; line-height: 1.08; overflow-wrap: normal; word-break: normal; hyphens: manual; }
.bhx-band-in.bhx-editorial { grid-template-columns: 4fr 7fr; }
.bhx-ed-head[data-num]::before, .bhx-split-text[data-num]::before { content: attr(data-num); display: block; font-family: var(--bhx-head); font-weight: 200; font-size: clamp(3.4rem, 6vw, 5.6rem); line-height: 1; color: var(--bhx-tint-2); margin-bottom: .1em; letter-spacing: -.03em; }
.bhx-band--alt .bhx-ed-head[data-num]::before, .bhx-band--alt .bhx-split-text[data-num]::before { color: #cfe0b8; }
/* Ablauf-Schritte */
.bhx-steps { display: grid; gap: 14px; counter-reset: bhxstep; margin: 1.2em 0; }
.bhx-step { counter-increment: bhxstep; position: relative; margin: 0 !important; padding: 20px 24px 20px 84px; background: #fff; border-radius: 4px 32px 4px 32px; box-shadow: 0 18px 40px -26px rgba(28, 43, 18, .35); transition: transform .5s var(--bhx-ease), box-shadow .5s var(--bhx-ease); }
.bhx-step:hover { transform: translateX(6px); box-shadow: 0 24px 46px -24px rgba(28, 43, 18, .4); }
.bhx-step::before { content: counter(bhxstep); position: absolute; left: 22px; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; background: var(--bhx-green); color: #fff; display: grid; place-items: center; font-family: var(--bhx-head); font-weight: 500; font-size: 1.15rem; }
.bhx-step > strong:first-child { display: block; font-family: var(--bhx-head); font-weight: 500; font-size: 1.25rem; color: var(--bhx-ink); margin-bottom: .15em; }
/* Bewertungen als Karten */
.bhx-band-in.bhx-reviewband > h2 { max-width: 20em; }
.bhx-reviews { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 22px; margin: 2em 0 1em; }
.bhx-review { position: relative; background: var(--bhx-tint); border-radius: 4px 44px 4px 44px; padding: 34px 30px 28px; transition: transform .5s var(--bhx-ease), box-shadow .5s var(--bhx-ease); }
.bhx-band--alt .bhx-review { background: #fff; }
.bhx-review:hover { transform: translateY(-6px); box-shadow: 0 30px 50px -28px rgba(28, 43, 18, .35); }
.bhx-review::after { content: "\201C"; position: absolute; right: 22px; top: 6px; font-family: var(--bhx-head); font-size: 6rem; line-height: 1; color: rgba(94, 129, 49, .16); pointer-events: none; }
.bhx-review > p { margin: 0 0 .9em !important; font-weight: 600; font-size: .95rem; }
.bhx-review blockquote { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font-size: 1rem; line-height: 1.7; }
.bhx-review blockquote p { margin: 0 !important; }
.bhx-band-in.bhx-reviewband figure.wp-block-image { margin: 2em 0 0 !important; border-radius: var(--bhx-leaf-l, 4px 80px 4px 80px); overflow: hidden; }
ul.bhx-steps { list-style: none; padding: 0 !important; margin: 1.2em 0; }
ul.bhx-steps > li.bhx-step { list-style: none; }
ul.bhx-steps > li.bhx-step > strong:first-child { display: block; }
ol.bhx-steps { list-style: none; padding: 0 !important; margin: 1.2em 0; }
ol.bhx-steps > li.bhx-step { list-style: none; }
ol.bhx-steps > li.bhx-step > strong:first-child { display: block; }
.bhx-band-in.bhx-editorial { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); }
@media (max-width: 860px) { .bhx-band-in.bhx-editorial { grid-template-columns: minmax(0, 1fr); } }
.bhx-band-in.bhx-split, .bhx-band-in.bhx-split.bhx-split--flip { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.bhx-band-in.bhx-split.bhx-split--flip { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
@media (max-width: 860px) { .bhx-band-in.bhx-split, .bhx-band-in.bhx-split.bhx-split--flip { grid-template-columns: minmax(0, 1fr); } }

/* Karten (z. B. Jahreszeiten in der Gärtnerei) */
.bhx-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; margin: 1.6em 0; }
.bhx-card { position: relative; border-radius: 4px 44px 4px 44px; padding: 30px 28px 26px; background: #fff; box-shadow: 0 22px 44px -30px rgba(28, 43, 18, .4); transition: transform .5s var(--bhx-ease), box-shadow .5s var(--bhx-ease); }
.bhx-card:hover { transform: translateY(-6px); box-shadow: 0 32px 54px -28px rgba(28, 43, 18, .45); }
.bhx-card h4 { margin: 0 0 .5em !important; font-size: 1.5rem !important; display: flex; align-items: center; gap: .55em; }
.bhx-card h4::before { content: ""; width: 14px; height: 14px; border-radius: 4px 999px 4px 999px; background: var(--bhx-green); flex: none; }
.bhx-card--1 h4::before { background: #e7b62f; }
.bhx-card--2 h4::before { background: #c8672c; }
.bhx-card--3 h4::before { background: #6d8fb1; }
.bhx-card p { margin: 0 !important; font-size: .98rem; line-height: 1.7; }
.bhx-band:not(.bhx-band--alt) .bhx-card { background: var(--bhx-tint); box-shadow: none; }
/* Kennzahlen-Leiste unter dem Titel */
.bhx-factband { width: 100vw; margin-left: calc(50% - 50vw); padding: clamp(28px, 4vw, 48px) 0; background: #fff; border-bottom: 1px solid var(--bhx-line); }
.bhx-factband-in { max-width: 1240px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 40px); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 3vw, 48px); }
.bhx-fact strong { display: block; font-family: var(--bhx-head); font-weight: 300; font-size: clamp(2.2rem, 4.6vw, 3.8rem); line-height: 1; letter-spacing: -.04em; color: var(--bhx-green); }
.bhx-fact span { display: block; margin-top: .5em; font-size: .92rem; color: var(--bhx-muted); line-height: 1.4; }
@media (max-width: 720px) { .bhx-factband-in { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 26px; } }
.bhx-band-in.bhx-editorial { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.bhx-band-in.bhx-editorial .bhx-ed-head h2, .bhx-band-in.bhx-split .bhx-split-text h2 { font-size: clamp(1.7rem, 2.7vw, 2.7rem) !important; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
@media (max-width: 860px) { .bhx-band-in.bhx-editorial { grid-template-columns: minmax(0, 1fr); } }

/* Bewertungen als Slider */
.bhx-reviews { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: 6px 4px 26px; margin: 1em 0 0; }
.bhx-reviews::-webkit-scrollbar { display: none; }
.bhx-review { flex: 0 0 min(400px, 84%); scroll-snap-align: start; display: flex; flex-direction: column; }
.bhx-review:not(.is-open) blockquote p { display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.bhx-review .bhx-more { align-self: flex-start; margin-top: 14px; padding: 0; border: 0; background: none; color: var(--bhx-green-d); font: 600 .9rem var(--bhx-body); cursor: pointer; }
.bhx-review .bhx-more:hover { color: var(--bhx-ink); }
.bhx-reviews-nav { margin-top: 1.4em; }
.bhx-reviews-nav button { width: 48px; height: 48px; }

/* Keine Ziffern (01, 02 …) auf Unterseiten; Karten dreispaltig */
.bhx-ed-head[data-num]::before, .bhx-split-text[data-num]::before { display: none !important; content: none !important; }
.bhx-cards { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
/* Fünf Karten (z. B. Zeitplan im Ratgeber): oben drei, unten zwei breite, statt fünf schmaler Spalten */
@media (min-width: 761px) {
  /* ab sechs Karten feste Spalten, damit die Reihen aufgehen und die Karten nicht zu schmal werden */
  .bhx-cards:has(> :nth-child(6)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bhx-cards:has(> :nth-child(7):last-child), .bhx-cards:has(> :nth-child(8):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .bhx-cards:has(> :nth-child(5):last-child) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .bhx-cards:has(> :nth-child(5):last-child) > * { grid-column: span 2; }
  .bhx-cards:has(> :nth-child(5):last-child) > :nth-child(n+4) { grid-column: span 3; }
}
.bhx-no { display: none !important; }

/* Pfeil-Buttons: exakt rund, Symbol mittig */
html body .bhx-arrows button { box-sizing: border-box; width: 52px !important; height: 52px !important; min-width: 0 !important; padding: 0 !important; margin: 0; flex: none; border-radius: 50% !important; display: grid !important; place-items: center; line-height: 1; }
html body .bhx-arrows button svg { display: block; width: 20px; height: 20px; margin: 0; }

/* Keine Silbentrennung in Überschriften, Wörter bleiben ganz */
html body .entry-content h2, html body .entry-content h3, html body .entry-content h4, html body .entry-hero .entry-title { hyphens: none !important; -webkit-hyphens: none !important; overflow-wrap: normal !important; word-break: normal !important; }
html body .bhx-band-in.bhx-editorial .bhx-ed-head h2, html body .bhx-band-in.bhx-split .bhx-split-text h2 { font-size: clamp(1.6rem, 2.35vw, 2.4rem) !important; }
.entry-content h2 strong { white-space: nowrap; }
html body:not(.home) .entry-content h2::before, html body:not(.home) .entry-content h2::after { display: none !important; content: none !important; }

/* ---------- Große Überschriften: Überschrift oben über die volle Breite, Text darunter ---------- */
html body .bhx-band-in.bhx-editorial { grid-template-columns: minmax(0, 1fr); gap: clamp(20px, 3vw, 36px); }
html body .bhx-band-in.bhx-editorial .bhx-ed-head { position: static; }
html body .bhx-band-in.bhx-editorial .bhx-ed-head h2 { font-size: clamp(2.3rem, 5vw, 4.4rem) !important; line-height: 1.02; letter-spacing: -.025em; max-width: 18em; }
html body .bhx-band-in.bhx-split .bhx-split-text h2 { font-size: clamp(2rem, 3.6vw, 3.4rem) !important; line-height: 1.04; }
.bhx-band-in.bhx-editorial .bhx-ed-body > p, .bhx-band-in.bhx-editorial .bhx-ed-body > ul, .bhx-band-in.bhx-editorial .bhx-ed-body > ol { max-width: 62em; }
.bhx-band-in.bhx-editorial .bhx-ed-body > p { font-size: clamp(1.05rem, 1.3vw, 1.2rem); line-height: 1.75; }
/* Sprungmarken-Leiste */
.bhx-subnav { position: sticky; top: 90px; z-index: 900; display: flex; justify-content: center; padding: 14px 16px; margin: 0 0 8px; pointer-events: none; }
.admin-bar .bhx-subnav { top: 122px; }
.bhx-subnav-in { pointer-events: auto; display: flex; gap: 4px; padding: 6px; border-radius: 999px; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 14px 40px -16px rgba(28, 43, 18, .35), 0 0 0 1px rgba(28, 43, 18, .06); max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.bhx-subnav-in::-webkit-scrollbar { display: none; }
.entry-content .bhx-subnav a { flex: none; padding: .6em 1.15em; border-radius: 999px; font-weight: 600; font-size: .9rem; color: var(--bhx-ink); background: none !important; text-decoration: none !important; transition: background .3s, color .3s; white-space: nowrap; }
.entry-content .bhx-subnav a:hover { background: var(--bhx-tint) !important; }
.entry-content .bhx-subnav a.is-on { background: var(--bhx-green) !important; color: #fff; }
.bhx-band[id] { scroll-margin-top: 150px; }
/* Formular: beim Sprung über #anfrage unter der festen Kopfleiste (81 px) mit etwas Luft landen */
#anfrage { scroll-margin-top: 104px; }
/* Galerie Blumenladen: Foto mit Grußkarten-Ständer (Nr. 100) so zuschneiden, dass der scharfe Ständer rechts sichtbar bleibt */
html body .entry-content img.wp-image-6273 { object-position: 100% 50% !important; }
/* Datei-Felder (Bewerbung): eigener deutscher Knopf, das echte Feld liegt unsichtbar darüber */
.bhx-datei { position: relative; display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 9px 12px; border: 1.5px dashed var(--bhx-line); border-radius: 16px; background: var(--bhx-tint); transition: border-color .2s; }
.bhx-datei:hover, .bhx-datei:focus-within { border-color: var(--bhx-green); }
.bhx-datei:focus-within { box-shadow: 0 0 0 4px rgba(94, 129, 49, .18); }
.bhx-datei input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.bhx-datei__knopf { flex: none; padding: 8px 16px; border-radius: 999px; background: var(--bhx-green); color: #fff; font-size: .85rem; font-weight: 600; line-height: 1.2; }
.bhx-datei__name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--bhx-muted); font-size: .88rem; }
.bhx-datei.hat-datei .bhx-datei__name { color: var(--bhx-ink); font-weight: 500; }
/* Bildstreifen der Locations */
.bhx-mosaic { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 1.6em 0 .6em; }
.bhx-mosaic-item { display: block; overflow: hidden; aspect-ratio: 4 / 5; border-radius: 4px 44px 4px 44px; background: var(--bhx-tint); }
.bhx-mosaic-item:nth-child(even) { border-radius: 44px 4px 44px 4px; }
.bhx-mosaic-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1s var(--bhx-ease); }
.bhx-mosaic-item:hover img { transform: scale(1.07); }
@media (max-width: 720px) { .bhx-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Sprungmarken als weißer Streifen direkt unter dem Menü */
html body .bhx-subnav { position: sticky; top: 88px; width: 100vw; margin: 0 0 0 calc(50% - 50vw); padding: 10px 16px; background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid var(--bhx-line); pointer-events: auto; }
html body .bhx-subnav-in { margin: 0 auto; width: max-content; max-width: 100%; padding: 0; background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
html body .entry-content .bhx-subnav a { font-size: .88rem; padding: .55em 1.1em; }

/* Öffnungszeiten in der Fußzeile: Tag links, Zeiten rechts, Vor- und Nachmittag untereinander */
.bhx-footer-hours li { display: grid; grid-template-columns: 7.4em 1fr; gap: 12px; align-items: start; }
.bhx-footer-hours li span { min-width: 0; }
.bhx-footer-hours li em { font-style: normal; line-height: 1.55; }

/* Live-Öffnungsstatus */
.bhx-live small { display: inline-flex; align-items: center; gap: .55em; }
.bhx-dot { position: relative; display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #b9b9b0; flex: none; }
.bhx-live.is-open .bhx-dot { background: #3fa34d; }
.bhx-live.is-open .bhx-dot::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid #3fa34d; opacity: 0; animation: bhxPulse 2s ease-out infinite; }
.bhx-live.is-closed small { color: #9a5b3c; }
@keyframes bhxPulse { 0% { transform: scale(.5); opacity: .8; } 100% { transform: scale(1.6); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .bhx-live.is-open .bhx-dot::after { animation: none; } }

/* Hinweis auf kommende Sonderöffnungszeiten (Kontaktseite) */
.bhx-special { margin-top: 18px; padding: 16px 20px; border-radius: 4px 28px 4px 28px; background: rgba(217, 234, 159, .18); border: 1px solid rgba(217, 234, 159, .45); }
.bhx-special strong { display: block; margin-bottom: .4em; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--bhx-lime, #d9ea9f); }
.bhx-special ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .3em; }
.bhx-special li span { display: inline-block; min-width: 5.6em; font-weight: 600; }

/* Hervorgehobene Wortgruppen in Überschriften bleiben zusammen (z. B. „seit 1900“) */
h1 strong, h2 strong, h3 strong, .bhx-h1 strong, .bhx-h2 strong { white-space: nowrap; }

/* Ansprechpartner auf einer Linie, kein Versatz */
html body .bhx-person:nth-child(2) { margin-top: 0 !important; }

/* Fußzeile: gleicher Zeilenrhythmus in allen Spalten, Uhrzeiten bündig */
html body .bhx-footer address, html body .bhx-footer ul li { line-height: 1.8; font-size: inherit; }
html body .bhx-footer address a, html body .bhx-footer ul li a { line-height: inherit; vertical-align: baseline; }
html body .bhx-footer ul { gap: 0; }
html body .bhx-footer-hours li em { line-height: 1.8; font-variant-numeric: tabular-nums; }
html body .bhx-footer-hours li + li { margin-top: 0; }
html body .bhx-footer .bhx-footer-bottom ul { gap: 6px 26px; }
html body .bhx-footer .bhx-footer-bottom ul li { line-height: 1.5; }

/* Uhrzeiten: gleich breite Ziffern, linksbündig -> Anfang und Ende stehen exakt untereinander */
html body .bhx-footer-hours li { grid-template-columns: 7.4em max-content; justify-content: start; }
html body .bhx-footer-hours li em { text-align: left; font-variant-numeric: tabular-nums; }
html body .bhx-hours td { font-variant-numeric: tabular-nums; line-height: 1.6; vertical-align: top; }
html body .bhx-hours th { vertical-align: top; }
/* Kontaktseite: Zeiten-Tabelle mit gleich breiten Ziffern, Spalten bündig */
.entry-content .bh-hours { font-variant-numeric: tabular-nums; }
.entry-content .bh-hours { display: inline-grid !important; grid-template-columns: repeat(4, max-content) !important; column-gap: .4em; row-gap: .15em; }
.entry-content .bh-hours .bh-row { display: contents !important; }

/* ---------- Bilder kompakter (Startseite, Unterseiten, Galerien) ---------- */
html body .bhx-slides { aspect-ratio: 5 / 4.5; }
html body .bhx-row { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
html body .bhx-row--flip { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
html body .bhx-row-media .bhx-leaf { aspect-ratio: 4 / 3.4; }
html body .bhx-person .bhx-leaf { aspect-ratio: 4 / 4.2; }
html body .bhx-insta #sb_instagram .sbi_item .sbi_photo, html body .bhx-insta #sb_instagram .sbi_photo_wrap { aspect-ratio: 1 / 1; height: auto !important; }
html body .bhx-insta #sb_instagram .sbi_photo img { width: 100%; height: 100% !important; object-fit: cover; }
html body .bhx-split-media figure { aspect-ratio: 4 / 3.5; }
html body .bhx-band-in.bhx-split, html body .bhx-band-in.bhx-split.bhx-split--flip { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
html body .bhx-band-in.bhx-split.bhx-split--flip { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
html body .bhx-mosaic { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
html body .bhx-mosaic-item { aspect-ratio: 1 / 1; border-radius: 4px 28px 4px 28px; }
html body .bhx-mosaic-item:nth-child(even) { border-radius: 28px 4px 28px 4px; }
/* Galerien: quadratisch, 6 Spalten */
html body .entry-content .wp-block-gallery.has-nested-images { --wp--style--unstable-gallery-gap: 12px; gap: 12px !important; }
html body .entry-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#bhx) { width: calc(16.666% - 10px) !important; flex-grow: 0 !important; aspect-ratio: 1 / 1; border-radius: 4px 24px 4px 24px; }
html body .entry-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#bhx) img { width: 100% !important; height: 100% !important; object-fit: cover !important; aspect-ratio: 1 / 1; border-radius: 0 !important; }
html body .entry-content .wp-block-gallery.bhx-collapsed figure.wp-block-image:nth-of-type(n+13) { display: none !important; }
.bhx-gal-more { display: flex; justify-content: center; margin: 22px 0 0; }
@media (max-width: 860px) {
  html body .bhx-row, html body .bhx-row--flip, html body .bhx-band-in.bhx-split, html body .bhx-band-in.bhx-split.bhx-split--flip { grid-template-columns: minmax(0, 1fr); }
  html body .bhx-mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html body .entry-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#bhx) { width: calc(33.333% - 8px) !important; }
  html body .entry-content .wp-block-gallery.bhx-collapsed figure.wp-block-image:nth-of-type(n+10) { display: none !important; }
}

/* Siegel „1900“ im Titelbild entfernt */
.bhx-seal { display: none !important; }

/* Bilder oben bündig mit der Überschrift (Feinabstand setzt bh.js) */
html body .bhx-row, html body .bhx-band-in.bhx-split { align-items: start !important; position: relative; }
html body .bhx-row h2, html body .bhx-band-in.bhx-split h2 { text-box: trim-both cap alphabetic; }

/* Abschnittsköpfe: Unterzeile direkt unter der Überschrift statt rechts daneben */
html body .bhx-head { display: block !important; grid-template-columns: none !important; }
html body .bhx-head > p { margin: .7em 0 0 !important; max-width: 40em; text-align: left !important; }

/* Startseite: kleine Überschrift dicht über der großen */
html body .bhx-row .bhx-eyebrow { margin-bottom: 14px !important; }
html body .bhx-row h3, html body .bhx-row .bhx-h2 { margin-top: 0 !important; text-box: trim-both cap alphabetic; }
/* Bewertungen: kein abgeschnittener Schatten */
html body .ti-widget.ti-goog[data-layout-id] .ti-review-item > .ti-inner { box-shadow: none !important; }

/* Überall: kleine grüne Zeile knapp über der großen Überschrift */
html body .bhx-eyebrow { margin-bottom: 14px !important; }
html body .bhx-eyebrow + h1, html body .bhx-eyebrow + h2, html body .bhx-eyebrow + h3, html body .bhx-eyebrow + .bhx-h1, html body .bhx-eyebrow + .bhx-h2 { margin-top: 0 !important; }
html body .bhx-hero-copy { justify-content: center; }

/* Abstand Abschnittskopf -> Inhalt kleiner; Bewertungs-Widget ohne Zusatzpolster */
html body .bhx-head { margin-bottom: clamp(22px, 2.6vw, 36px) !important; }
html body .ti-widget.ti-goog .ti-header { padding-top: 0 !important; margin-top: 0 !important; padding-bottom: 8px !important; }
html body .ti-widget.ti-goog .ti-widget-container { margin-top: 0 !important; padding-top: 0 !important; }

/* Abschnittsabstände Startseite kleiner */
html body .bhx-sec { padding-top: clamp(48px, 6vw, 88px); padding-bottom: clamp(48px, 6vw, 88px); }
/* Bewertungs-Kopf: Texte sichtbar und kompakt */
html body .ti-widget.ti-goog .ti-header .ti-rating-text, html body .ti-widget.ti-goog .ti-header .ti-rating-text * { color: var(--bhx-ink) !important; }
html body .ti-widget.ti-goog .ti-header .ti-rating-large { font-family: var(--bhx-body) !important; font-size: .82rem !important; letter-spacing: .16em; color: var(--bhx-green-d) !important; line-height: 1.2 !important; margin-bottom: 6px !important; }
html body .ti-widget.ti-goog .ti-header .ti-stars { margin-bottom: 4px !important; }
html body .ti-widget.ti-goog .ti-header .ti-large-logo { margin-top: 4px !important; }

/* Externe Links zu Locations: dezenter Pfeil statt Emoji */
.entry-content p.bhx-extlink a { display: inline-flex; align-items: center; gap: .45em; font-weight: 600; color: var(--bhx-green-d); background: none !important; text-decoration: none !important; }
.entry-content p.bhx-extlink a::after { content: "↗"; font-size: .95em; transition: transform .3s var(--bhx-ease); }
.entry-content p.bhx-extlink a:hover::after { transform: translate(2px, -2px); }
/* Handy: große Überschriften so, dass lange Wörter passen */
@media (max-width: 600px) {
  html body .bhx-band-in.bhx-editorial .bhx-ed-head h2, html body .bhx-band-in.bhx-split .bhx-split-text h2, html body .entry-content h2 { font-size: clamp(1.6rem, 7.4vw, 2.1rem) !important; }
  html body .entry-hero .entry-header .entry-title { font-size: clamp(2.1rem, 10vw, 2.8rem) !important; }
}

/* ---------- Einheitliche linke Kante auf Unterseiten (wie Menü, Titel, Fußzeile) ---------- */
html body .bhx-band-in { width: min(1240px, 100% - 48px); }
@media (max-width: 640px) { html body .bhx-band-in { width: min(1240px, 100% - 32px); } }
html body .entry-hero .entry-header { padding-left: 0 !important; padding-right: 0 !important; }
/* Lesbare Zeilenlänge */
html body .bhx-band .bhx-ed-body > p, html body .bhx-band .bhx-split-text > p, html body .bhx-band--intro p { max-width: 46em; }
/* Einleitung als ruhiger Auftakt */
html body .bhx-band--intro { padding-bottom: clamp(24px, 3vw, 40px); }
html body .bhx-band--intro h2, html body .bhx-band--intro h3 { font-size: clamp(1.9rem, 3.2vw, 2.9rem) !important; margin: 0 0 .5em !important; }
html body .bhx-band--intro p { font-size: clamp(1.05rem, 1.35vw, 1.2rem); line-height: 1.75; color: var(--bhx-text); }
/* Kein weißer Streifen vor dem Ansprechpartner-Band */
html body .bhx-cta { margin-top: 0 !important; }
html body .bhx-band--alt + .bhx-cta { background: #fff; }
/* Großes Einzelbild unter den Bewertungen flacher */
html body .bhx-band-in.bhx-reviewband figure.wp-block-image { aspect-ratio: 2.8 / 1; }
html body .bhx-band-in.bhx-reviewband figure.wp-block-image img { width: 100%; height: 100% !important; object-fit: cover; }
/* Startseite: keine Trennlinien zwischen Leistungen */
html body .bhx-row + .bhx-row { border-top: 0 !important; }
/* Blumenjahr: Beschriftung nicht unter dem großen Monatsnamen */
html body .bhx-yc small { position: relative; z-index: 1; max-width: 58%; line-height: 1.5; }
html body .bhx-yc em { z-index: 0; opacity: .85; }
/* Trustindex-Siegel in Hausfarben */
html body .ti-widget.ti-goog .ti-verified-by-row .ti-inner, html body .ti-widget.ti-goog .ti-footer-verified, html body .ti-widget.ti-goog [class*="verified"] > .ti-inner { background: var(--bhx-tint) !important; color: var(--bhx-muted) !important; border-radius: 999px !important; }
/* Instagram: sechs Bilder in einer Reihe, ohne Profiltext */
html body .bhx-insta #sb_instagram #sbi_images { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 12px !important; }
html body .bhx-insta #sb_instagram #sbi_images .sbi_item { width: auto !important; max-width: none !important; padding: 0 !important; }
html body .bhx-insta #sb_instagram .sb_instagram_header .sbi_bio, html body .bhx-insta #sb_instagram .sbi_bio_info .sbi_bio { display: none !important; }
@media (max-width: 720px) { html body .bhx-insta #sb_instagram #sbi_images { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
html body .entry-hero .hero-container { padding-left: 0 !important; padding-right: 0 !important; width: min(1240px, 100% - 48px) !important; max-width: none !important; }
@media (max-width: 640px) { html body .entry-hero .hero-container { width: min(1240px, 100% - 32px) !important; } }
html body:not(.home) .entry-content .bhx-band--intro h2, html body:not(.home) .entry-content .bhx-band--intro h3 { font-size: clamp(1.9rem, 3.2vw, 2.9rem) !important; line-height: 1.1; }
html body .bhx-cta { padding-top: clamp(48px, 6vw, 88px) !important; padding-bottom: clamp(48px, 6vw, 88px) !important; }

/* ---------- Unterseiten-Titel mit Bild (wie Startseite) ---------- */
html body .entry-hero .hero-container.bhx-hero-split { display: grid !important; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(28px, 5vw, 80px); align-items: center; padding-top: clamp(32px, 4vw, 56px) !important; padding-bottom: clamp(32px, 4vw, 56px) !important; }
html body .bhx-hero-split .entry-header { min-width: 0; }
html body .bhx-hero-img { margin: 0; aspect-ratio: 5 / 4; max-height: 380px; width: 100%; border-radius: var(--bhx-leaf-l); overflow: hidden; box-shadow: 0 30px 60px -30px rgba(28, 43, 18, .35); animation: bhxRise 1.1s .15s var(--bhx-ease) both; }
html body .bhx-hero-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
html body .bhx-hero-split .entry-header .entry-title { font-size: clamp(2.4rem, 4.6vw, 4.4rem) !important; }
@media (max-width: 860px) {
  html body .entry-hero .hero-container.bhx-hero-split { grid-template-columns: minmax(0, 1fr); }
  html body .bhx-hero-img { order: -1; aspect-ratio: 16 / 10; max-height: 260px; }
}
/* Titelbereich: kein doppeltes Polster */
html body .entry-hero.page-hero-section .entry-hero-container-inner { padding-top: 0 !important; padding-bottom: 0 !important; }
html body .entry-hero .hero-container { padding-top: clamp(36px, 4.5vw, 64px) !important; padding-bottom: clamp(36px, 4.5vw, 64px) !important; }

/* Knöpfe in Abschnitten linksbündig */
html body .bhx-band .wp-block-buttons { justify-content: flex-start !important; }
/* Zitate (zentrierte H4 zwischen Linien) als ruhiges Zitat */
html body .bhx-band h4.has-text-align-center { text-align: left !important; font-family: var(--bhx-head) !important; font-weight: 300 !important; font-style: normal !important; font-size: clamp(1.4rem, 2.2vw, 1.9rem) !important; line-height: 1.3; letter-spacing: -.01em; color: var(--bhx-ink); margin: 2em 0 1em !important; padding: 6px 0 6px 26px; border-left: 3px solid var(--bhx-green); max-width: 34em; }
html body .bhx-band h4.has-text-align-center em, html body .bhx-band h4.has-text-align-center i { font-style: normal; }
html body .bhx-band h4.has-text-align-center strong { display: block; margin-top: .5em; font-family: var(--bhx-body); font-size: .9rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--bhx-green-d); white-space: normal; }
html body:not(.home) .entry-content .bhx-band h4.has-text-align-center { font-size: clamp(1.4rem, 2.2vw, 1.9rem) !important; line-height: 1.3 !important; }
@media (min-width: 861px) {
  /* lange Listen zweispaltig, jede Spalte läuft für sich (keine Lücken durch zweizeilige Nachbarn) */
  html body .bhx-band ul.wp-block-list:not(.bhx-steps):has(> li:nth-child(7)) { display: block !important; columns: 2; column-gap: 40px; max-width: 62em; }
  html body .bhx-band ul.wp-block-list:not(.bhx-steps):has(> li:nth-child(7)) > li { break-inside: avoid; margin: 0 0 .75em !important; }
}

/* Abschnitt ohne Bild (Bild wanderte in den Titel) */
html body .bhx-band-in.bhx-split.bhx-split--solo, html body .bhx-band-in.bhx-split.bhx-split--flip.bhx-split--solo { grid-template-columns: minmax(0, 1fr) !important; }
/* Einzelbilder außerhalb von Bild-Text-Abschnitten begrenzen */
html body .bhx-band-in:not(.bhx-split) > figure.wp-block-image, html body .bhx-ed-body > figure.wp-block-image, html body .bhx-band-in > .wp-block-image { max-width: 760px; margin: 1.6em 0 0 !important; aspect-ratio: 16 / 9; border-radius: var(--bhx-leaf-l); overflow: hidden; }
html body .bhx-band-in:not(.bhx-split) > figure.wp-block-image img, html body .bhx-ed-body > figure.wp-block-image img { width: 100% !important; height: 100% !important; object-fit: cover; }
/* Logos vollständig zeigen */
html body figure.bhx-contain, html body .bhx-split-media figure.bhx-contain { aspect-ratio: auto !important; background: transparent; box-shadow: none !important; border-radius: 0 !important; max-width: 360px; }
html body figure.bhx-contain img, html body img.bhx-contain { object-fit: contain !important; height: auto !important; aspect-ratio: auto !important; }
/* Galerie-Spalten passend zur Bildanzahl (bh.js setzt bhx-gal-5 / bhx-gal-4) */
@media (min-width: 861px) {
  html body .entry-content .wp-block-gallery.has-nested-images.bhx-gal-5 figure.wp-block-image:not(#bhx) { width: calc(20% - 9.6px) !important; }
  html body .entry-content .wp-block-gallery.has-nested-images.bhx-gal-4 figure.wp-block-image:not(#bhx) { width: calc(25% - 9px) !important; }
}
/* Team-Porträts einheitlich 4:5, bündig mit dem Namen darunter; Initialen statt Platzhalterbild */
html body .entry-content .team-portrait figure.aligncenter, html body .entry-content .team-portrait figure, html body .entry-content .team-portrait .bhx-initials { width: 240px; max-width: 100%; aspect-ratio: 4 / 5; height: auto !important; margin: 0 0 1.2em !important; }
html body .team-portrait figure img { width: 100% !important; height: 100% !important; object-fit: cover; }
html body .bhx-initials { display: flex; align-items: center; justify-content: center; background: #eef3e6; color: #5e8131; font-family: Outfit, Inter, system-ui, sans-serif; font-size: 64px; font-weight: 600; border-radius: 4px 44px; }
/* Zentrierte Überschriften aus alten Seiteninhalten linksbündig (einheitliche linke Kante) */
html body:not(.home) .entry-content .bhx-band h2.has-text-align-center, html body:not(.home) .entry-content .bhx-band h3.has-text-align-center { text-align: left !important; margin-left: 0 !important; margin-right: 0 !important; }
/* Kontaktseite: Live-Status über der Zeiten-Tabelle */
html body .entry-content p.bhx-status { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3em .8em; text-align: left !important; margin: 0 0 1.2em; font-family: var(--bhx-head); font-size: clamp(1.15rem, 1.6vw, 1.35rem); color: var(--bhx-ink); }
html body .entry-content p.bhx-status small { font-family: Inter, system-ui, sans-serif; font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #3f6b22; }
html body .entry-content p.bhx-status.is-closed small { color: #9a5b3c; }
/* Team-Karten: Text linksbündig wie Name und Foto */
html body:not(.home) .entry-content .bhx-band p.has-text-align-center { text-align: left !important; }
/* Kontaktseite: alte Überschriften-Symbole aus dem Vorgänger-Design aus, Kante wie alle anderen */
html body .entry-content .bh-heading-icon { display: none !important; }
html body .entry-content h2.bh-page-heading { display: block !important; margin-left: 0 !important; }
/* Blumenjahr: Monatsname wächst mit der Kartenbreite, Beschriftung bleibt links frei davon */
html body .bhx-yc { container-type: inline-size; }
html body .bhx-yc em { font-size: min(10rem, 28cqw); top: -.16em; }
html body .bhx-yc small { max-width: 50%; }
/* Fußzeile: "Route berechnen" dezent in Grün hervorgehoben */
html body .bhx-footer address a[href*="maps"] { color: var(--bhx-green); font-weight: 500; }
html body .bhx-footer address a[href*="maps"]:hover { color: var(--bhx-green-d, #4a6a26); }
/* Blumenjahr auf Unterseiten (Aktuelles): gleiche Karten wie auf der Startseite, keine doppelten Abstände */
html body:not(.home) .entry-content .bhx-yearsec { padding: clamp(24px, 3vw, 40px) 0 !important; margin: 0 !important; }
html body:not(.home) .entry-content .bhx-yearsec .bhx-yc h3 { font-size: 2.2rem !important; line-height: 1.1 !important; margin: 0 0 .3em !important; }
html body:not(.home) .entry-content .bhx-yearsec .bhx-yc p { font-size: 1.125rem !important; margin: 0 0 1.1em !important; }
html body:not(.home) .entry-content .bhx-yearsec .bhx-yearhead h2 { margin: 0 !important; }
/* Großer Satz "Seit 1900 binden wir ...": etwas kleiner, damit er in drei Zeilen passt */
html body .bhx-big { font-size: clamp(2rem, 4.6vw, 3.9rem); }
/* Team: alte Sonderregel aus dem Customizer (ein Porträt 150 px rund) überstimmen */
html body .entry-content .team-portrait figure img[class*="wp-image-"] { width: 100% !important; height: 100% !important; max-width: none !important; border-radius: 0 !important; object-fit: cover !important; }
/* Safari: WordPress setzt .aligncenter auf display:table – dort greift aspect-ratio nicht, height:100% wird 0.
   Deshalb Block statt Tabelle und das Seitenverhältnis direkt am Bild. */
html body .entry-content .team-portrait figure, html body .entry-content .team-portrait figure.aligncenter { display: block !important; }
html body .entry-content .team-portrait figure img, html body .entry-content .team-portrait figure img[class*="wp-image-"] { height: auto !important; aspect-ratio: 4 / 5; }
/* Kontaktseite: Social-Links in Hausfarben statt bunter Markenkreise */
html body .entry-content .bhx-social { margin-top: 1.8em; padding-top: 1.5em; border-top: 1px solid var(--bhx-line); }
html body .entry-content .bhx-social .bhx-social-label { font: 700 .76rem/1 var(--bhx-body); letter-spacing: .14em; text-transform: uppercase; color: var(--bhx-green-d, #3f6b22); margin: 0 0 1.1em !important; }
html body .entry-content .bhx-social-links { display: flex; flex-wrap: wrap; gap: 12px; }
html body .entry-content .bhx-social-links a { display: inline-flex; align-items: center; gap: 12px; padding: 8px 22px 8px 8px; border: 1.5px solid rgba(94, 129, 49, .28); border-radius: 999px; background: #fff; color: var(--bhx-ink) !important; text-decoration: none !important; background-image: none !important; transition: border-color .25s, transform .3s var(--bhx-ease), box-shadow .3s; }
html body .entry-content .bhx-social-links a svg { width: 40px; height: 40px; padding: 9px; border-radius: 50%; background: var(--bhx-tint-2, #e3edd5); color: var(--bhx-green); flex: none; transition: background .25s, color .25s; }
html body .entry-content .bhx-social-links a span { display: block; line-height: 1.25; }
html body .entry-content .bhx-social-links b { display: block; font-weight: 600; font-size: .95rem; }
html body .entry-content .bhx-social-links small { display: block; font-size: .8rem; color: var(--bhx-muted); }
html body .entry-content .bhx-social-links a:hover { border-color: var(--bhx-green); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(28, 43, 18, .08); }
html body .entry-content .bhx-social-links a:hover svg { background: var(--bhx-green); color: #fff; }
/* Live-Status im dunklen Kontaktblock */
html body .bhx-contact p.bhx-status { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3em .8em; margin: 0 0 1em !important; font-family: var(--bhx-head); font-size: clamp(1.1rem, 1.5vw, 1.3rem); color: #fff !important; }
html body .bhx-contact p.bhx-status small { font: 600 .76rem/1 Inter, system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #bcd98f !important; opacity: 1; }
html body .bhx-contact p.bhx-status.is-closed small { color: #f0b48f !important; }
/* Kontaktblock auf Unterseiten (von bh.js vor den Inhalt gesetzt): Größen wie auf der Startseite */
html body:not(.home) .bhx-contact { font-size: 1.125rem; }
html body:not(.home) .bhx-contact h2.bhx-h2 { font-size: clamp(1.9rem, 3.4vw, 3rem); margin-bottom: .5em; }
html body:not(.home) .bhx-contact .bhx-contact-grid > div > p:not(.bhx-eyebrow):not(.bhx-status) { margin: 0 0 32px; }
/* 3D-Kippeffekt für Inhaltskarten (bh.js setzt --rx/--ry und die Lichtposition --gx/--gy) */
html body .entry-content .bhx-tilt { position: relative; transform: perspective(1000px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) !important; transition: transform .6s var(--bhx-ease), box-shadow .5s; will-change: transform; }
html body .entry-content .bhx-tilt:hover { transition: transform .12s linear, box-shadow .3s; box-shadow: 0 26px 50px rgba(28, 43, 18, .12); }
html body .entry-content .bhx-tilt::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 255, 255, .6), rgba(255, 255, 255, 0) 55%); opacity: 0; transition: opacity .35s; }
html body .entry-content .bhx-tilt:hover::after { opacity: 1; }
/* Zurück-Link am Inhaltsende: Pillenform wie die anderen Knöpfe, mit Abstand zum Text */
html body .entry-content p.bhx-back-end { margin: 2.4em 0 0 !important; }
html body .entry-content a.bhx-backlink { border-radius: 999px !important; padding: .75em 1.5em !important; font-size: .95rem !important; }
/* Kippeffekt: Lichtfleck hinter den Inhalt legen, damit die Schrift nicht heller wird */
html body .entry-content .bhx-tilt { isolation: isolate; }
html body .entry-content .bhx-tilt::after { z-index: -1; }
/* Stellen-Banner: Blümchen größer als der grüne Bereich, angeschnitten, hinter dem Inhalt */
html body .bhx-jobs::after { font-size: clamp(16rem, 26vw, 23rem); line-height: 1; right: -4%; top: 50%; transform: translateY(-50%) rotate(-12deg); z-index: 0; }
html body .bhx-jobs > * { position: relative; z-index: 1; }
/* Logos direkt im Abschnitt (z. B. Förderhinweis auf Aktuelles): klein und nebeneinander statt als großes Foto */
html body .entry-content .bhx-band-in > figure.bhx-contain, html body .entry-content .bhx-ed-body > figure.bhx-contain { display: inline-block !important; vertical-align: middle; width: auto !important; max-width: none !important; aspect-ratio: auto !important; margin: 1.4em 36px 0 0 !important; border-radius: 0 !important; overflow: visible !important; }
html body .entry-content .bhx-band-in > figure.bhx-contain img, html body .entry-content .bhx-ed-body > figure.bhx-contain img { height: 80px !important; width: auto !important; max-width: 240px !important; object-fit: contain !important; }
/* Blumenjahr auf Unterseiten: bündig mit dem Text, Kartenreihe läuft nach rechts aus */
html body:not(.home) .entry-content .bhx-yearsec { width: auto !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
html body:not(.home) .entry-content .bhx-yearsec .bhx-wrap { max-width: none !important; margin: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
html body:not(.home) .entry-content .bhx-yearsec .bhx-track { padding-left: 0 !important; margin-left: 0 !important; margin-right: min(-16px, calc((1240px - 100vw) / 2)) !important; }
/* Blumenjahr-Pfeile nicht unter die schwebenden Kontaktknöpfe (schmale Fenster) */
html body .bhx-yearhead { padding-right: max(0px, calc(110px - max(36px, (100vw - 1240px) / 2))) !important; }
/* Logo-Reihe (bh.js fasst aufeinanderfolgende Logos zusammen) */
html body .entry-content .bhx-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 40px; margin: 1.6em 0 0; }
html body .entry-content .bhx-logos > figure.bhx-contain { margin: 0 !important; }
html body .entry-content .bhx-logos > figure.bhx-contain { display: block !important; width: auto !important; max-width: none !important; aspect-ratio: auto !important; border-radius: 0 !important; overflow: visible !important; box-shadow: none !important; }
html body .entry-content .bhx-logos > figure.bhx-contain img { height: 80px !important; width: auto !important; max-width: 240px !important; object-fit: contain !important; border-radius: 0 !important; }
/* Ansprechpartner-Modul: Foto so hoch wie der Text daneben (Textspalte gibt die Höhe vor) */
@media (min-width: 981px) {
  html body .bhx-cta-grid { grid-template-columns: minmax(0, .55fr) minmax(0, 1.45fr); align-items: stretch; }
  html body .bhx-cta .bhx-leaf { aspect-ratio: auto !important; position: relative; min-height: 260px; }
  html body .bhx-cta .bhx-leaf img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }
}
@media (max-width: 980px) {
  html body .bhx-cta .bhx-leaf { aspect-ratio: 4 / 3 !important; }
}
/* Blumenjahr auf Unterseiten: Abstand Titel → Karten wie auf der Startseite, grüne Karte mit weißer Schrift */
html body:not(.home) .entry-content .bhx-yearsec .bhx-yearhead { margin-bottom: 34px !important; }
html body:not(.home) .entry-content .bhx-yearsec .bhx-yc--green h3, html body:not(.home) .entry-content .bhx-yearsec .bhx-yc--green p { color: #fff !important; }
html body:not(.home) .entry-content .bhx-yearsec .bhx-yc:not(.bhx-yc--green) h3 { color: var(--bhx-ink) !important; }
/* Einleitungszeile vor einer Liste (z. B. "Bezahlmöglichkeiten bei Lieferung:") etwas kräftiger, Abstand nach vorheriger Liste */
html body:not(.home) .entry-content p.bhx-listlead { font-weight: 600 !important; color: var(--bhx-ink) !important; margin-bottom: .4em !important; }
html body:not(.home) .entry-content p.bhx-listlead--gap { margin-top: 3em !important; }
/* Überflüssige Abstände nach Abschnitts-Überschriften: Abstandhalter, Spaltenblock-Rand, erste Überschrift in Karten */
html body:not(.home) .entry-content .bhx-band h2 + .wp-block-spacer { display: none !important; }
html body:not(.home) .entry-content .bhx-band h2 + .wp-block-columns, html body:not(.home) .entry-content .bhx-band h2 + .wp-block-spacer + .wp-block-columns { margin-top: 0 !important; }
html body:not(.home) .entry-content .wp-block-column > :first-child { margin-top: 0 !important; }
/* Karten in farbigen Abschnitten (z. B. Stellenangebote) weiß, damit sie sich abheben */
html body:not(.home) .entry-content .bhx-band--alt .wp-block-column.has-border-radius, html body:not(.home) .entry-content .bhx-band--alt .wp-block-column.has-background { background: #fff !important; box-shadow: 0 12px 34px rgba(28, 43, 18, .06); }
/* Sprungmarken-Leiste: erst nach "Ja, ich will!" einblenden (bh.js setzt is-shown), Punkte als Pillen */
html body .bhx-subnav.bhx-subnav--late { opacity: 0; transform: translateY(-10px); pointer-events: none; visibility: hidden; transition: opacity .35s ease, transform .35s var(--bhx-ease), visibility 0s linear .35s; z-index: 40; }
html body .bhx-subnav.bhx-subnav--late.is-shown { opacity: 1; transform: none; pointer-events: auto; visibility: visible; transition: opacity .35s ease, transform .35s var(--bhx-ease), visibility 0s; }
html body .entry-content .bhx-subnav a { border-radius: 999px !important; }
@media (prefers-reduced-motion: reduce) { html body .bhx-subnav.bhx-subnav--late { transform: none; } }
/* Hauptmenü: statt durchgehender Unterstreichung ein kleiner grüner Punkt mittig unter dem aktiven Punkt;
   beim Überfahren wird er kurz zum kleinen Strich */
html body #masthead .main-navigation .primary-menu-container > ul > li.menu-item > a { text-decoration: none !important; border-bottom: 0 !important; box-shadow: none !important; }
html body #masthead .main-navigation .primary-menu-container > ul > li.menu-item > a::after { left: 50% !important; right: auto !important; bottom: .35em !important; width: 6px !important; height: 6px !important; border-radius: 99px !important; transform: translateX(-50%) scale(0) !important; transform-origin: center !important; transition: transform .3s var(--bhx-ease), width .3s var(--bhx-ease) !important; }
html body #masthead .main-navigation .primary-menu-container > ul > li.current-menu-item > a::after,
html body #masthead .main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a::after { transform: translateX(-50%) scale(1) !important; }
html body #masthead .main-navigation .primary-menu-container > ul > li.menu-item:hover > a::after { transform: translateX(-50%) scale(1) !important; width: 18px !important; }
/* Titelbereich der Unterseiten: Titel überall auf derselben Höhe (oben ausgerichtet, gleicher Abstand, Platz für Oberzeile immer reserviert) */
html body .entry-hero .hero-container.bhx-hero-split { align-items: start !important; }
html body .entry-hero .hero-container { padding-top: clamp(32px, 4vw, 56px) !important; }
html body .entry-hero .bhx-eyebrow--leer { visibility: hidden; }
/* Startseite: Zahlen über die volle Breite in einer hellgrünen Blattfläche, feine Trennlinien, Knopf darunter rechts */
html body .bhx-intro-foot { flex-direction: column; align-items: stretch; border-top: 0; padding-top: 0; gap: 22px; }
html body .bhx-intro-foot .bhx-stats { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0; width: 100%; background: var(--bhx-tint); border-radius: var(--bhx-leaf-l); padding: clamp(26px, 3.4vw, 44px) clamp(22px, 3.4vw, 48px); }
html body .bhx-intro-foot .bhx-stat { padding: 4px 0 4px clamp(16px, 2.2vw, 30px); border-left: 1px solid rgba(94, 129, 49, .22); }
html body .bhx-intro-foot .bhx-stat:first-child { padding-left: 0; border-left: 0; }
html body .bhx-intro-foot .bhx-stat strong { font-size: clamp(2.3rem, 4.2vw, 4rem); white-space: nowrap; }
html body .bhx-intro-foot .bhx-stat span { display: block; margin-top: .55em; font-size: .88rem; line-height: 1.35; max-width: 13em; }
html body .bhx-intro-foot > .bhx-btn { align-self: flex-end; }
@media (max-width: 860px) {
  html body .bhx-intro-foot .bhx-stats { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 22px; justify-content: stretch; }
  html body .bhx-intro-foot .bhx-stat, html body .bhx-intro-foot .bhx-stat:first-child { border-left: 0; padding-left: 0; }
  html body .bhx-intro-foot .bhx-stat:nth-child(2n) { border-left: 1px solid rgba(94, 129, 49, .22); padding-left: 18px; }
  html body .bhx-intro-foot > .bhx-btn { align-self: flex-start; }
}
/* Blumenjahr: Farben für Weltfrauentag (Flieder) und Ostern (warmes Gelb) */
html body .bhx-yc--lilac { background: #e9e2f1; }
html body .bhx-yc--sun { background: #f6ecc6; }
/* Startseite: Blumenjahr direkt nach einem weißen Abschnitt ohne eigenen oberen Abstand (sonst doppelte Luft) */
html body .bhx-sec:not([class*="bhx-sec--"]):not(.bhx-contact) + #blumenjahr { padding-top: 0 !important; }
/* Gleichfarbiger Abschnitt direkt nach einem gleichfarbigen: kein eigener oberer Abstand (bh.js setzt bhx-sec--flush) */
html body section.bhx-sec.bhx-sec--flush { padding-top: 0 !important; }
/* Umrandungs-Knöpfe und Zurück-Link: beim Überfahren Hausgrün statt Schwarz (im dunklen Kontaktblock bleibt Weiß) */
html body .bhx-btn--ghost:hover, html body .bhx-btn--ghost:focus-visible { background: var(--bhx-green) !important; border-color: var(--bhx-green) !important; color: #fff !important; }
html body .entry-content a.bhx-backlink:hover, html body .entry-content a.bhx-backlink:focus-visible { background: var(--bhx-green) !important; border-color: var(--bhx-green) !important; color: #fff !important; }
html body .bhx-contact .bhx-btn--ghost:hover, html body .bhx-contact .bhx-btn--ghost:focus-visible { background: #fff !important; border-color: #fff !important; color: var(--bhx-ink) !important; }
/* Überblendung: nur das aktive Bild zeigen – auch solange Optimole die Bilder noch nachlädt (dessen Regel setzt sonst 75 % Deckkraft) */
html body .bhx-slides img:not(.is-active) { opacity: 0 !important; }
html body .bhx-slides img.is-active { opacity: 1 !important; filter: none !important; }
/* Untermenü: aktive Seite zart hellgrün hinterlegt statt vollem Grün (Kadence-Vorgabe), Überfahren im selben Ton */
html body #masthead .header-navigation .header-menu-container ul ul li.menu-item.current-menu-item > a,
html body #masthead .header-navigation .header-menu-container ul ul li.menu-item.current-menu-ancestor > a { background: var(--bhx-tint-2, #e3edd5) !important; color: var(--bhx-green-d, #3f5a21) !important; font-weight: 600; }
html body #masthead .header-navigation .header-menu-container ul ul li.menu-item > a:hover { background: var(--bhx-tint, #f5f9ef) !important; color: var(--bhx-green-d, #3f5a21) !important; }
/* Startseiten-Titelbereich: gleicher Abstand unter dem Menü wie auf den Unterseiten, keine künstliche Mindesthöhe */
html body section.bhx-hero { padding-top: clamp(32px, 4vw, 56px) !important; }
html body .bhx-hero .bhx-hero-grid { min-height: 0 !important; }
/* Blumenjahr: Herbstbepflanzung in warmem Apricot */
html body .bhx-yc--autumn { background: #f4e0cb; }
/* ===== Aufklappbare Fragen (Akkordeon): Karten statt Rahmen, runder Plus-Knopf, geöffnete Karte hellgrün ===== */
html body:not(.home) .entry-content .wp-block-accordion { display: grid; gap: 12px; }
html body:not(.home) .entry-content .wp-block-accordion-item { border: 0 !important; margin: 0 !important; background: #fff; border-radius: 4px 22px 4px 22px; box-shadow: 0 1px 0 rgba(28, 43, 18, .05), 0 10px 28px rgba(28, 43, 18, .06); transition: background .3s, box-shadow .3s; overflow: hidden; }
html body:not(.home) .entry-content .wp-block-accordion-item:hover { box-shadow: 0 1px 0 rgba(28, 43, 18, .06), 0 16px 36px rgba(28, 43, 18, .09); }
html body:not(.home) .entry-content .wp-block-accordion-item.is-open { background: var(--bhx-tint, #f5f9ef); }
html body:not(.home) .entry-content .wp-block-accordion-heading { margin: 0 !important; padding: 0 !important; border: 0 !important; font-size: inherit !important; }
html body:not(.home) .entry-content .wp-block-accordion-heading__toggle { display: flex !important; align-items: center; gap: 18px; width: 100%; padding: 20px 22px 20px 26px !important; background: none !important; border: 0 !important; cursor: pointer; text-align: left; color: var(--bhx-ink) !important; }
html body:not(.home) .entry-content .wp-block-accordion-heading__toggle-title { flex: 1; font-family: var(--bhx-head); font-weight: 400; font-size: clamp(1.05rem, 1.4vw, 1.22rem); line-height: 1.35; letter-spacing: -.01em; text-decoration: none !important; }
html body:not(.home) .entry-content .wp-block-accordion-heading__toggle-icon { display: grid !important; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 50%; background: var(--bhx-tint-2, #e3edd5); color: var(--bhx-green); font-size: 1.35rem; line-height: 1; font-weight: 400; transition: transform .35s var(--bhx-ease), background .25s, color .25s; }
html body:not(.home) .entry-content .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon { background: var(--bhx-green); color: #fff; transform: rotate(45deg); }
html body:not(.home) .entry-content .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-icon { background: var(--bhx-green); color: #fff; }
html body:not(.home) .entry-content .wp-block-accordion-panel { padding: 0 26px 22px !important; color: var(--bhx-text); }
html body:not(.home) .entry-content .wp-block-accordion-panel > :last-child { margin-bottom: 0 !important; }
html body:not(.home) .entry-content .wp-block-accordion-panel p { max-width: 62ch; }
/* Ratgeber-Fragen (<details>) im selben Kartenstil wie das Akkordeon */
html body:not(.home) .entry-content details.wp-block-details { margin: 0 0 12px !important; padding: 0 !important; background: #fff; border-radius: 4px 22px 4px 22px; box-shadow: 0 1px 0 rgba(28, 43, 18, .05), 0 10px 28px rgba(28, 43, 18, .06); transition: background .3s, box-shadow .3s; overflow: hidden; }
html body:not(.home) .entry-content details.wp-block-details:hover { box-shadow: 0 1px 0 rgba(28, 43, 18, .06), 0 16px 36px rgba(28, 43, 18, .09); }
html body:not(.home) .entry-content details.wp-block-details[open] { background: var(--bhx-tint, #f5f9ef); }
html body:not(.home) .entry-content details.wp-block-details > summary { display: flex; align-items: center; gap: 18px; padding: 20px 22px 20px 26px; cursor: pointer; list-style: none; font-family: var(--bhx-head); font-weight: 400; font-size: clamp(1.05rem, 1.4vw, 1.22rem); line-height: 1.35; letter-spacing: -.01em; color: var(--bhx-ink); }
html body:not(.home) .entry-content details.wp-block-details > summary::-webkit-details-marker { display: none; }
html body:not(.home) .entry-content details.wp-block-details > summary::after { content: '+'; display: grid; place-items: center; flex: none; margin-left: auto; width: 38px; height: 38px; border-radius: 50%; background: var(--bhx-tint-2, #e3edd5); color: var(--bhx-green); font-size: 1.35rem; line-height: 1; transition: transform .35s var(--bhx-ease), background .25s, color .25s; }
html body:not(.home) .entry-content details.wp-block-details > summary:hover::after, html body:not(.home) .entry-content details.wp-block-details[open] > summary::after { background: var(--bhx-green); color: #fff; }
html body:not(.home) .entry-content details.wp-block-details[open] > summary::after { transform: rotate(45deg); }
html body:not(.home) .entry-content details.wp-block-details > :not(summary) { margin: 0 26px 22px !important; max-width: 62ch; color: var(--bhx-text); }
/* FAQ-Seite: Themen links (bleiben beim Scrollen stehen), Fragen rechts */
html body .entry-content .bhx-faqgroup { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 2fr); gap: clamp(24px, 4vw, 64px); align-items: start; margin: 0 0 clamp(40px, 5vw, 64px); }
html body .entry-content .bhx-faqgroup:first-of-type { margin-top: clamp(28px, 3vw, 40px); }
html body .entry-content .bhx-faqgroup-head { position: sticky; top: 140px; }
html body .entry-content .bhx-faqgroup-head > * { margin: 0 !important; font-size: clamp(1.5rem, 2.4vw, 2.1rem) !important; line-height: 1.1 !important; font-weight: 300 !important; }
@media (max-width: 860px) {
  html body .entry-content .bhx-faqgroup { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  html body .entry-content .bhx-faqgroup-head { position: static; }
  html body:not(.home) .entry-content .wp-block-accordion-heading__toggle { padding: 16px 16px 16px 20px !important; gap: 14px; }
  html body:not(.home) .entry-content .wp-block-accordion-panel { padding: 0 20px 18px !important; }
}
/* Keine einzelnen Wörter in der letzten Zeile (Footer ausgenommen, der ist abgenommen) */
html body p:not(.bhx-footer *), html body li:not(.bhx-footer *), html body .entry-content :is(h2, h3, h4) { text-wrap: pretty; }
/* Ansprechpartner: jeder Satz eigene Zeile, eng untereinander wie ein Zeilenumbruch */
html body .bhx-cta .bhx-satz { margin: 0 !important; }
html body .bhx-cta .bhx-satz:last-of-type { margin-bottom: 1.1em !important; }
/* ===== Handy-Korrekturen ===== */
@media (max-width: 600px) {
  /* hervorgehobene Wörter in Überschriften dürfen auf schmalen Bildschirmen umbrechen (sonst abgeschnitten) */
  html body .entry-content h2 strong, html body .entry-content h3 strong, html body .entry-hero .entry-title strong { white-space: normal !important; }
  /* Blumenjahr: Kartentitel etwas kleiner, lange Wörter wie "Herbstbepflanzung" passen in die Karte */
  html body .bhx-yc h3, html body:not(.home) .entry-content .bhx-yearsec .bhx-yc h3 { font-size: clamp(1.45rem, 7vw, 1.9rem) !important; overflow-wrap: anywhere; hyphens: auto; }
  /* Ansprechpartner: auf dem Handy etwas Luft zwischen den Sätzen */
  html body .bhx-cta .bhx-satz + .bhx-satz { margin-top: .75em !important; }
  /* Instagram: nur drei Bilder in einer Reihe */
  html body .bhx-insta #sb_instagram #sbi_images { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; }
  html body .bhx-insta #sb_instagram #sbi_images .sbi_item:nth-child(n+4) { display: none !important; }
}
/* Akkordeon: WordPress-Innenabstand der Karte weg (sonst doppelt eingerückt), alte Customizer-Regel (16 px) überstimmen */
html body:not(.home) .entry-content .wp-block-accordion-item { padding: 0 !important; }
html body:not(.home) .entry-content .wp-block-accordion-heading__toggle-title { font-size: clamp(1.05rem, 1.4vw, 1.22rem) !important; font-family: var(--bhx-head) !important; }
/* Schwebende Kontaktleiste (rechts, 16 px Abstand + 54 px breit): bei mittleren Breiten rechts Platz reservieren,
   damit sie keinen Inhalt überdeckt. Linke Kante bleibt bündig mit dem Menü, Footer bleibt unverändert. */
@media (min-width: 981px) and (max-width: 1420px) {
  html body .entry-content .bhx-wrap, html body .entry-content .bhx-band-in, html body .entry-hero .hero-container { padding-right: max(0px, calc(88px - max(24px, (100vw - 1240px) / 2))) !important; }
}
/* ===== Ratgeber: Übersicht ([bh_ratgeber]) mit Themenfilter ===== */
html body .entry-content .bhx-rg { margin-top: clamp(20px, 3vw, 36px); }
html body .entry-content .bhx-rg-filter { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 clamp(24px, 3vw, 36px); }
html body .entry-content .bhx-rg-filter button { font: 600 .92rem/1 var(--bhx-body); padding: .7em 1.2em; border-radius: 999px; border: 1.5px solid var(--bhx-line); background: #fff; color: var(--bhx-green-d); cursor: pointer; transition: background .25s, color .25s, border-color .25s; }
html body .entry-content .bhx-rg-filter button:hover { border-color: var(--bhx-green); }
html body .entry-content .bhx-rg-filter button.is-on { background: var(--bhx-green); border-color: var(--bhx-green); color: #fff; }
html body .entry-content .bhx-rg-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 32px); }
html body .entry-content a.bhx-rg-card { display: flex; flex-direction: column; text-decoration: none !important; color: var(--bhx-text); background: #fff; border-radius: 4px 44px 4px 44px; overflow: hidden; box-shadow: 0 22px 44px -30px rgba(28, 43, 18, .4); transition: transform .5s var(--bhx-ease), box-shadow .5s var(--bhx-ease); }
html body .entry-content .bhx-band:not(.bhx-band--alt) a.bhx-rg-card { background: var(--bhx-tint); box-shadow: none; }
html body .entry-content a.bhx-rg-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -30px rgba(28, 43, 18, .5); }
html body .entry-content a.bhx-rg-card[hidden] { display: none; }
html body .entry-content .bhx-rg-img { display: block; aspect-ratio: 3 / 2; overflow: hidden; }
html body .entry-content .bhx-rg-img img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0 !important; border-radius: 0 !important; transition: transform 1.1s var(--bhx-ease); }
html body .entry-content a.bhx-rg-card:hover .bhx-rg-img img { transform: scale(1.06); }
html body .entry-content .bhx-rg-body { display: flex; flex-direction: column; gap: 8px; padding: 22px 26px 28px; }
html body .entry-content .bhx-rg-body small { font: 600 .74rem/1.2 var(--bhx-body); letter-spacing: .12em; text-transform: uppercase; color: var(--bhx-green); }
html body .entry-content .bhx-rg-body strong { font: 400 clamp(1.25rem, 1.7vw, 1.5rem)/1.2 var(--bhx-head); color: var(--bhx-ink); }
html body .entry-content .bhx-rg-body span { font-size: .95rem; line-height: 1.55; color: var(--bhx-muted); }
@media (max-width: 980px) { html body .entry-content .bhx-rg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { html body .entry-content .bhx-rg-grid { grid-template-columns: minmax(0, 1fr); } }
/* Saison-Kacheln der Gärtnerei: Link zur Saisonseite unten in der Karte */
html body .entry-content .bhx-card a.bhx-more::after { content: '→'; transition: transform .3s var(--bhx-ease); }
html body .entry-content .bhx-card a.bhx-more:hover::after { transform: translateX(4px); }
/* Offene Stellen in Entwürfen (werden durch Antworten aus dem Team ersetzt) */
html body .entry-content mark.bhx-todo { background: #fff3b0; color: #6b5400; padding: .05em .35em; border-radius: 4px; font-weight: 600; }
/* Saison-Kacheln: Karten gleich hoch, „Mehr zum …“ immer unten bündig */
html body .entry-content .bhx-card:has(.bhx-more) { display: flex; flex-direction: column; }
html body .entry-content .bhx-card:has(.bhx-more) > p { flex: 1 1 auto; display: flex; flex-direction: column; gap: 1.1em; }
html body .entry-content .bhx-card a.bhx-more { margin-top: auto; align-self: flex-start; font-size: .9rem; }
/* Kontaktformular: Zusatzfelder bei „Hochzeit / Event“ */
[data-bhx-hz][hidden], [data-bhx-nicht-hz][hidden], [data-bhx-nur][hidden], [data-bhx-nicht][hidden], [data-bhx-lbl][hidden] { display: none !important; }
.bhx-field label > span[data-bhx-lbl] { font-weight: 600; color: var(--bhx-ink); }
.bhx-field label > span[data-bhx-hz], .bhx-field label > span[data-bhx-nicht-hz] { font-weight: 600; color: var(--bhx-ink); }
.bhx-hzfelder { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: 16px; }
.bhx-field .bhx-label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: 8px; color: var(--bhx-ink); }
/* Auswahl als Knöpfe: Kästchen unsichtbar, ausgewählt = grün gefüllt */
.bhx-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.bhx-field .bhx-checks label { position: relative; display: block; margin: 0; font-weight: 500; cursor: pointer; }
.bhx-field .bhx-checks input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; padding: 0; }
.bhx-checks label span { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 48px; padding: 10px 14px; border-radius: 999px; background: var(--bhx-tint); border: 1.5px solid transparent; color: var(--bhx-ink); font-size: .92rem; line-height: 1.2; transition: background .2s, border-color .2s, color .2s; }
.bhx-checks label:hover span { border-color: var(--bhx-green); }
.bhx-checks input:checked + span { background: var(--bhx-green); border-color: var(--bhx-green); color: #fff; }
.bhx-checks input:focus-visible + span { box-shadow: 0 0 0 5px rgba(94, 129, 49, .25); }
/* Sofort sichtbare Meldung bei ungültigem Liefertag */
.bhx-feld-fehler { margin: 8px 0 0; padding: 10px 14px; border-radius: 12px; background: #fbeaea; color: #8a2b2b; font-size: .9rem; font-weight: 600; line-height: 1.45; }
.bhx-datum-wrap.ist-fehler input { border: 1.5px solid #b54242 !important; color: var(--bhx-ink); }
/* Lieferadresse: PLZ schmal, Ort breit, auch auf dem Handy nebeneinander */
.bhx-row-plz { display: grid; grid-template-columns: minmax(6.5em, 1fr) 2.2fr; gap: 12px; }
@media (max-width: 340px) { .bhx-row-plz { grid-template-columns: 1fr; } }
/* Datumsfeld: leer deutlich als „Tag auswählen“ erkennbar (sonst nur grau „tt.mm.jjjj“, auf dem iPhone sogar ganz leer) */
.bhx-datum-wrap { position: relative; display: block; }
.bhx-datum-wrap input { cursor: pointer; min-height: 54px; }
.bhx-datum-wrap:not(.hat-wert) input { border: 1.5px dashed var(--bhx-green); color: transparent; }
.bhx-datum-leer { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; gap: 10px; color: var(--bhx-green); font-weight: 600; pointer-events: none; }
.bhx-datum-wrap.hat-wert .bhx-datum-leer { display: none; }
.bhx-datum-wrap input::-webkit-calendar-picker-indicator { cursor: pointer; opacity: .8; }
/* Zeitfenster: Wort oben, Uhrzeit klein darunter */
.bhx-checks--zeit label span { flex-direction: column; gap: 2px; line-height: 1.25; padding-top: 8px; padding-bottom: 8px; }
.bhx-checks--zeit label span small { font-size: .8em; font-weight: 500; opacity: .75; }
/* Knöpfe mit unterschiedlich langen Texten (z. B. PayPal / Echtzeitüberweisung): Breite nach Inhalt, Reihe trotzdem gefüllt */
.bhx-checks--auto { display: flex; flex-wrap: wrap; }
.bhx-checks--auto label { flex: 1 1 auto; }
.bhx-checks--betrag { padding-top: 8px; row-gap: 18px; }
.bhx-checks label.ist-beliebt span { border-color: rgba(194, 96, 122, .5); }
.bhx-beliebt { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); padding: 2px 9px; border-radius: 999px; background: var(--bhx-rose); color: #fff; font-style: normal; font-size: .66rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; line-height: 1.45; white-space: nowrap; pointer-events: none; }
.bhx-combo { position: relative; }
/* Preisliste (Lieferservice): Ort links, Preis rechts, gestrichelte Linie dazwischen */
.entry-content ul.bhx-preisliste { list-style: none; margin: 10px 0 22px; padding: 0; max-width: 620px; }
.entry-content ul.bhx-preisliste li { display: flex; align-items: baseline; gap: 14px; margin: 0; padding: 10px 0 !important; border-bottom: 1px dashed var(--bhx-line); }
.entry-content ul.bhx-preisliste li::before, .entry-content ul.bhx-preisliste li::marker { content: none !important; display: none !important; }
.entry-content ul.bhx-preisliste li span:last-child { margin-left: auto; font-weight: 600; color: var(--bhx-ink); white-space: nowrap; }
/* Liefergebiet: Preisliste zweispaltig mit deutlichem Abstand, dahinter zarte Karte von Tettnang und Umland (OpenStreetMap) */
html body .bhx-band ul.wp-block-list.bhx-preisliste:not(#bhx-x) { columns: 2; column-gap: 88px; max-width: none; margin: 22px 0 26px; padding: 28px 40px !important; border-radius: var(--bhx-leaf-l); background: rgba(255, 255, 255, .7); box-shadow: 0 1px 0 rgba(28, 43, 18, .04), 0 18px 40px rgba(28, 43, 18, .06); }
.entry-content ul.bhx-preisliste li { break-inside: avoid; }
.bhx-band:has(ul.bhx-preisliste) { background-color: #f5f9ef; background-image: url("/wp-content/uploads/2026/10/blumen-heck-liefergebiet-karte.jpg"); background-size: cover; background-position: center 40%; }
@media (max-width: 767px) { html body .bhx-band ul.wp-block-list.bhx-preisliste:not(#bhx-x) { columns: 1; padding: 18px 22px !important; border-radius: 4px 40px 4px 40px; background: rgba(255, 255, 255, .82); } }
/* Gelbe Markierung für noch offene Stellen in Texten (vor dem Livegang entfernen) */
mark.bhx-offen { background: #fff1a8; color: inherit; padding: .05em .25em; border-radius: 4px; }
.bhx-uebersicht { margin: 8px 0 22px; padding: 20px 22px 14px; border-radius: 18px; background: var(--bhx-tint); border: 1.5px solid var(--bhx-line); }
.bhx-uebersicht__titel { margin: 0 0 10px; font-family: var(--bhx-head); font-size: 1.15rem; font-weight: 600; color: var(--bhx-ink); }
.bhx-uebersicht dl { margin: 0; }
.bhx-uebersicht dl > div { display: grid; grid-template-columns: 120px 1fr; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--bhx-line); }
.bhx-uebersicht dt { margin: 0; color: var(--bhx-muted); font-size: .9rem; }
.bhx-uebersicht dd { margin: 0; color: var(--bhx-ink); font-size: .95rem; overflow-wrap: break-word; min-width: 0; }
.bhx-uebersicht dd small { display: block; font-size: .8rem; color: var(--bhx-muted); }
.bhx-uebersicht .bhx-ueb-preis dd { text-align: right; }
.bhx-uebersicht .bhx-ueb-summe { border-bottom: 0; padding-top: 10px; }
.bhx-uebersicht .bhx-ueb-summe dt { color: var(--bhx-ink); font-weight: 600; }
.bhx-uebersicht .bhx-ueb-summe dd { text-align: right; font-size: 1.1rem; }
.bhx-uebersicht .bhx-ueb-summe small { display: block; margin-top: 4px; font-size: .78rem; color: var(--bhx-muted); text-align: right; }
.bhx-ueb-leer { color: var(--bhx-muted); font-style: italic; }
.bhx-uebersicht .bhx-small { margin: 10px 0 0; }
@media (max-width: 480px) { .bhx-uebersicht { padding: 16px 16px 12px; } .bhx-uebersicht dl > div { grid-template-columns: 104px 1fr; gap: 10px; } }
@media (max-width: 767px) { body.bhx-tippt .bhx-rail, body.bhx-tippt .bhx-hoch { opacity: 0 !important; visibility: hidden; pointer-events: none; } }
.bhx-vorschlag { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; margin: 6px 0 0; padding: 6px; list-style: none; background: #fff; border: 1.5px solid var(--bhx-line); border-radius: 16px; box-shadow: 0 14px 34px rgba(28, 43, 18, .14); max-height: 340px; overflow-y: auto; }
.bhx-vorschlag li[role="option"] { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0; padding: 11px 12px; border-radius: 10px; color: var(--bhx-ink); font-weight: 500; cursor: pointer; }
.bhx-vorschlag li[role="option"] small { flex: none; } .bhx-vorschlag li[role="option"] small { color: var(--bhx-muted); font-size: .82em; font-weight: 400; white-space: nowrap; }
.bhx-vorschlag li[role="option"]:hover, .bhx-vorschlag li.ist-aktiv { background: var(--bhx-tint); }
.bhx-vorschlag-quelle { margin: 0; padding: 6px 12px 2px; font-size: .7rem; color: var(--bhx-muted); }
.bhx-lieferpreis { margin: 2px 0 20px; padding: 13px 16px; border-radius: 14px; background: var(--bhx-tint); border-left: 4px solid var(--bhx-green); color: var(--bhx-ink); font-size: .95rem; line-height: 1.5; }
.bhx-lieferpreis.ist-warnung { background: #fbeef2; border-left-color: var(--bhx-rose); color: #7d2a41; }
/* Knopf unter der Überschrift auf Unterseiten */
html body .entry-hero .bhx-hero-cta { margin-top: clamp(20px, 2.4vw, 30px); }
/* ===== Chronik (Geschichte & Team): Zeitleiste mit Fotos wie im Album ===== */
.bhx-chronik { position: relative; display: grid; gap: clamp(64px, 8vw, 120px); margin: clamp(48px, 6vw, 80px) 0 clamp(24px, 3vw, 40px); padding: 0; }
.bhx-chronik::before { content: ""; position: absolute; left: 50%; top: 8px; bottom: 8px; width: 1px; background: linear-gradient(to bottom, transparent, var(--bhx-line) 6%, var(--bhx-line) 94%, transparent); }
.bhx-chronik-eintrag { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(56px, 8vw, 120px); align-items: center; margin: 0; }
.bhx-chronik-eintrag::before { content: ""; position: absolute; left: 50%; top: 50%; width: 15px; height: 15px; margin: -7.5px 0 0 -7.5px; border-radius: 50%; background: var(--bhx-green); box-shadow: 0 0 0 6px #fff, 0 0 0 7px var(--bhx-line); z-index: 1; }
.bhx-chronik-eintrag:nth-child(even) .bhx-chronik-foto { order: 2; }
.bhx-chronik-jahr { display: block; font-family: var(--bhx-head); font-weight: 200; font-size: clamp(3.4rem, 6.4vw, 6rem); line-height: .86; letter-spacing: -.05em; color: var(--bhx-green); margin: 0 0 .18em; }
html body .entry-content .bhx-chronik h3.bhx-chronik-titel { margin: 0 0 .55em; font-family: var(--bhx-head); font-weight: 400; font-size: clamp(1.4rem, 2.2vw, 1.85rem); line-height: 1.15; letter-spacing: -.015em; color: var(--bhx-ink); }
.bhx-chronik-text p { margin: 0; max-width: 34em; line-height: 1.7; }
.bhx-chronik-foto { position: relative; margin: 0; justify-self: center; width: min(100%, 470px); }
.bhx-chronik-foto img { display: block; box-sizing: border-box; width: 100%; height: auto; background: #fff; padding: clamp(8px, 1vw, 12px); padding-bottom: clamp(26px, 3vw, 38px); box-shadow: 0 26px 46px -24px rgba(28, 43, 18, .42), 0 2px 6px rgba(28, 43, 18, .06); transform: rotate(-1.8deg); border-radius: 2px; }
.bhx-chronik-eintrag:nth-child(even) .bhx-chronik-foto img { transform: rotate(1.6deg); }
.bhx-chronik-foto--abzug img { background: none; padding: 0; box-shadow: none; filter: drop-shadow(0 20px 26px rgba(28, 43, 18, .28)); }
.bhx-chronik-foto--paar .bhx-chronik-klein { position: absolute; width: 38%; left: -9%; bottom: -14%; transform: rotate(-6deg); z-index: 2; }
.bhx-chronik-eintrag:nth-child(even) .bhx-chronik-foto--paar .bhx-chronik-klein { left: auto; right: -9%; transform: rotate(5deg); }
.bhx-chronik-foto--paar .bhx-chronik-klein img { transform: none !important; padding: 6px 6px 20px; }
.bhx-chronik-eintrag--zwischen { grid-template-columns: 1fr; justify-items: center; text-align: center; }
.bhx-chronik-eintrag--zwischen::before { top: -42px; margin-top: 0; }
.bhx-chronik-eintrag--zwischen .bhx-chronik-text { max-width: 560px; background: #fff; position: relative; z-index: 1; padding: 20px 28px; border-radius: var(--bhx-leaf); box-shadow: 0 18px 40px -26px rgba(28, 43, 18, .35); }
.bhx-chronik-eintrag--zwischen .bhx-chronik-text p { margin: 0 auto; }
@media (max-width: 820px) {
  .bhx-chronik { gap: 56px; padding-left: 34px; }
  .bhx-chronik::before { left: 7px; }
  .bhx-chronik-eintrag, .bhx-chronik-eintrag--zwischen { grid-template-columns: 1fr; gap: 26px; justify-items: stretch; text-align: left; }
  .bhx-chronik-eintrag::before, .bhx-chronik-eintrag--zwischen::before { left: -27px; top: 14px; margin: 0; }
  .bhx-chronik-eintrag .bhx-chronik-foto, .bhx-chronik-eintrag:nth-child(even) .bhx-chronik-foto { order: 2; justify-self: start; width: min(100%, 420px); }
  .bhx-chronik-eintrag--zwischen .bhx-chronik-text { padding: 0; background: none; box-shadow: none; border-radius: 0; }
  .bhx-chronik-foto--paar { margin-bottom: 30px; }
  .bhx-chronik-foto--paar .bhx-chronik-klein, .bhx-chronik-eintrag:nth-child(even) .bhx-chronik-foto--paar .bhx-chronik-klein { left: auto; right: -4px; bottom: -30px; width: 40%; }
  .bhx-chronik-jahr { font-size: clamp(3rem, 14vw, 4.2rem); }
}
.bhx-chronik-foto--hoch { width: min(100%, 360px); }
.bhx-chronik-foto--hoch img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 30%; }
/* Galerie mit 4 Bildern am Handy zweispaltig (keine einzelne Kachel in der letzten Reihe) */
@media (max-width: 860px) {
  html body .entry-content .wp-block-gallery.has-nested-images.bhx-gal-4 figure.wp-block-image:not(#bhx) { width: calc(50% - 6px) !important; }
}
/* Umriss-Knopf nach dem Klicken nicht dunkel eingefärbt lassen (Theme färbt :focus/:active), Tastatur-Fokus bleibt grün */
html body .bhx-btn--ghost:focus:not(:focus-visible):not(:hover), html body .bhx-btn--ghost:active:not(:hover) { background: transparent !important; border-color: var(--bhx-ink) !important; color: var(--bhx-ink) !important; box-shadow: none !important; }
@media (hover: none) {
  html body .bhx-btn--ghost:hover:not(:focus-visible) { background: transparent !important; border-color: var(--bhx-ink) !important; color: var(--bhx-ink) !important; }
}
html body .bhx-contact .bhx-btn--ghost:focus:not(:focus-visible):not(:hover), html body .bhx-contact .bhx-btn--ghost:active:not(:hover) { color: #fff !important; border-color: rgba(255, 255, 255, .45) !important; }
@media (hover: none) { html body .bhx-contact .bhx-btn--ghost:hover:not(:focus-visible) { color: #fff !important; border-color: rgba(255, 255, 255, .45) !important; } }
/* ===== Hochzeit: Leistungs-Kacheln mit Foto ===== */
.bhx-hz-kacheln { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 30px 0 34px; }
html body .entry-content a.bhx-hz-kachel { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 4px 32px 4px 32px; text-decoration: none; background: var(--bhx-tint); box-shadow: 0 18px 40px -26px rgba(28, 43, 18, .45); }
.bhx-hz-kachel img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .8s var(--bhx-ease); }
.bhx-hz-kachel::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(to top, rgba(18, 28, 10, .72), rgba(18, 28, 10, 0)); }
.bhx-hz-kachel span { position: absolute; left: 18px; right: 18px; bottom: 16px; z-index: 1; color: #fff; font-family: var(--bhx-head); font-weight: 400; font-size: clamp(1.1rem, 1.6vw, 1.4rem); line-height: 1.15; letter-spacing: -.01em; }
.bhx-hz-kachel:hover img, .bhx-hz-kachel:focus-visible img { transform: scale(1.05); }
@media (max-width: 760px) { .bhx-hz-kacheln { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
/* Google-Bewertungskasten (Trustindex): ohne Profilbild, Knopf beim Überfahren grün */
html body .ti-widget .ti-profile-img { display: none !important; }
html body .ti-widget.ti-goog .ti-header-write-btn-container a.ti-header-write-btn:hover, html body .ti-widget.ti-goog .ti-header-write-btn-container a.ti-header-write-btn:focus-visible { background-color: var(--bhx-green) !important; border-color: var(--bhx-green) !important; color: #fff !important; }
/* Google-Bewertungskasten: Blumen-Heck-Logo zart im Hintergrund des Profilblocks */
html body .ti-widget .ti-footer .ti-profile-details { position: relative; isolation: isolate; }
html body .ti-widget .ti-footer .ti-profile-details::before { content: ""; position: absolute; z-index: -1; left: 50%; top: 50%; width: 220px; height: 147px; transform: translate(-50%, -50%); background: url("/wp-content/uploads/2021/01/cropped-Unbenannt-31.png") center / contain no-repeat; opacity: .14; pointer-events: none; }

/* Bewertungsbereich: Platzhalter-Höhe nur bis das Widget geladen ist (sonst großer Leerraum darunter) */
.bhx-reviews:has(.ti-widget-container) { min-height: 0; padding-bottom: 0; }
/* Bewertungs-Pfeile nach dem Klick nicht dunkel lassen (Fokus bleibt hell, Tastatur-Fokus bekommt grünen Ring) */
html body .ti-widget[data-layout-id] .ti-controls .ti-next:focus, html body .ti-widget[data-layout-id] .ti-controls .ti-prev:focus, html body .ti-widget[data-layout-id] .ti-controls .ti-next:active, html body .ti-widget[data-layout-id] .ti-controls .ti-prev:active { background: #fff !important; }
html body .ti-widget.ti-goog .ti-controls .ti-next:focus::before, html body .ti-widget.ti-goog .ti-controls .ti-prev:focus::before { border-color: var(--bhx-green) !important; }
html body .ti-widget[data-layout-id] .ti-controls .ti-next:focus-visible, html body .ti-widget[data-layout-id] .ti-controls .ti-prev:focus-visible { outline: 2px solid var(--bhx-green) !important; }
html body .bhx-arrows button:hover { background: var(--bhx-green) !important; border-color: var(--bhx-green) !important; color: #fff !important; }
html body .bhx-arrows button:focus:not(:focus-visible):not(:hover), html body .bhx-arrows button:active:not(:hover) { background: transparent !important; color: var(--bhx-ink) !important; border-color: var(--bhx-ink) !important; }
@media (hover: none) { html body .bhx-arrows button:hover { background: transparent !important; color: var(--bhx-ink) !important; border-color: var(--bhx-ink) !important; transform: none; } }
@media (hover: none) { html body .ti-widget[data-layout-id] .ti-controls .ti-next:hover, html body .ti-widget[data-layout-id] .ti-controls .ti-prev:hover { background: #fff !important; } }
/* ===== Kontaktblock hell und ruhiger (statt Tannengrün) ===== */
html body .bhx-contact { background: var(--bhx-tint-2); color: var(--bhx-text); }
html body .bhx-contact .bhx-h2 { color: var(--bhx-ink); }
html body .bhx-contact .bhx-h2 strong { color: var(--bhx-green); }
html body .bhx-contact .bhx-eyebrow { color: var(--bhx-green-d); }
html body .bhx-contact .bhx-clist { gap: 14px; margin: 1.4em 0 1.6em; }
html body .bhx-contact .bhx-clist span { font-size: .72rem; letter-spacing: .12em; color: var(--bhx-muted); font-weight: 600; margin-bottom: 2px; }
html body .bhx-contact .bhx-clist a { font-family: var(--bhx-head); font-weight: 400; font-size: clamp(1.45rem, 2.1vw, 1.85rem); letter-spacing: -.015em; color: var(--bhx-ink); text-decoration: none; }
html body .bhx-contact .bhx-clist a:hover { color: var(--bhx-green); }
html body .bhx-contact .bhx-clist li > :not(span):not(a) { color: var(--bhx-text); }
html body .bhx-contact .bhx-hours-title { color: var(--bhx-ink); font-size: 1.15rem; margin: 1.4em 0 .5em; }
html body .bhx-contact p.bhx-status { color: var(--bhx-ink) !important; font-size: 1.05rem; }
html body .bhx-contact p.bhx-status small { color: var(--bhx-green-d) !important; }
html body .bhx-contact p.bhx-status.is-closed small { color: #a8543a !important; }
html body .bhx-contact .bhx-hours th, html body .bhx-contact .bhx-hours td { color: var(--bhx-text); border-bottom-color: rgba(28, 43, 18, .1); padding: 7px 0; font-size: .95rem; line-height: 1.5; }
html body .bhx-contact .bhx-hours .is-today th, html body .bhx-contact .bhx-hours .is-today td { color: var(--bhx-ink); font-weight: 600; }
html body .bhx-contact .bhx-hours .is-today th::before { color: var(--bhx-green); }
html body .bhx-contact .bhx-btn--ghost, html body .bhx-contact .bhx-btn--ghost:focus:not(:focus-visible):not(:hover), html body .bhx-contact .bhx-btn--ghost:active:not(:hover) { color: var(--bhx-ink) !important; border-color: var(--bhx-ink) !important; background: transparent !important; }
html body .bhx-contact .bhx-btn--ghost:hover, html body .bhx-contact .bhx-btn--ghost:focus-visible { background: var(--bhx-green) !important; border-color: var(--bhx-green) !important; color: #fff !important; }
@media (hover: none) { html body .bhx-contact .bhx-btn--ghost:hover:not(:focus-visible) { color: var(--bhx-ink) !important; border-color: var(--bhx-ink) !important; background: transparent !important; } }
html body .bhx-contact .bhx-form-wrap { box-shadow: 0 24px 50px -30px rgba(28, 43, 18, .35); }
/* Bewertungen ohne Einwilligung: Ersatz statt Datenschutz-Kasten */
html body .bhx-reviews.ist-blockiert { display: block; min-height: 0; overflow: visible; }
html body .bhx-reviews.ist-blockiert .ti-widget, html body .bhx-reviews.ist-blockiert .rcb-content-blocker { display: none !important; }
.bhx-rev-note { margin: 0 0 18px; font-size: 1.05rem; color: var(--bhx-ink); }
.bhx-rev-sterne { color: #f4b400; letter-spacing: .08em; margin-right: 6px; }
.bhx-rev-karten { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.bhx-rev-karte { margin: 0; padding: 22px 24px; background: #fff; border: 1px solid var(--bhx-line); border-radius: var(--bhx-leaf); }
.bhx-rev-karte blockquote { margin: 0 0 12px; padding: 0; border: 0; background: none; font-family: var(--bhx-body); font-size: .98rem; line-height: 1.6; color: var(--bhx-text); }
.bhx-rev-karte figcaption { font-weight: 600; color: var(--bhx-ink); font-size: .92rem; }
.bhx-rev-karte figcaption span { font-weight: 400; color: var(--bhx-muted); }
.bhx-rev-laden { margin-top: 18px; background: none; border: 0; padding: 0; color: var(--bhx-green-d); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; font-size: .95rem; }
@media (max-width: 860px) { .bhx-rev-karten { grid-template-columns: 1fr; } }
/* Kontaktblock: Parken als ruhiger Fließtext statt großer Zeile */
html body .bhx-contact .bhx-clist li { font-size: 1rem; line-height: 1.5; color: var(--bhx-text); }
/* Preis-Kärtchen (z. B. Trauer, Grabpflege) */
.bhx-preis-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 6px !important; }
.bhx-preis-chips span { display: inline-flex; align-items: baseline; gap: 6px; padding: 9px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--bhx-line); color: var(--bhx-ink); font-size: .95rem; }
.bhx-preis-chips strong { color: var(--bhx-green-d); font-weight: 600; }
/* Grabpflege: Preis-Karten je Grabart */
.bhx-preis-karten { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 22px 0; }
.bhx-preis-karte { background: #fff; border: 1px solid var(--bhx-line); border-radius: var(--bhx-leaf); padding: 22px 24px; }
html body .entry-content .bhx-preis-karte h3:not(#bhx) { margin: 0 0 .5em; font-size: 1.3rem; }
.bhx-preis-karte p { margin: .35em 0 0; font-size: .97rem; line-height: 1.55; }
@media (max-width: 860px) { .bhx-preis-karten { grid-template-columns: 1fr; } }
/* Startseite: Team-Kachel am Handy nicht so hoch wie ein Foto (sonst große leere grüne Fläche) */
@media (max-width: 860px) {
  html body .bhx-person--team .bhx-leaf { aspect-ratio: auto; padding: 34px 24px; }
  html body .bhx-person--team .bhx-ico { margin-top: 1em; }
}

/* Eigene Bewertungskarten (z. B. Hochzeit): keine reservierte Widget-Höhe, sonst unten leere Fläche in jeder Karte */
html body .bhx-reviews:has(> .bhx-review) { min-height: 0; }

/* Gärtnerei-Seiten: Kasten im Seitenkopf mit Live-Status, Adresse und Parken */
html body .entry-hero .bhx-ort { display: grid; gap: 9px; max-width: 36rem; margin: clamp(22px, 2.6vw, 32px) 0 0; padding: 18px 0 0; border-top: 1px solid rgba(47, 74, 30, .16); }
html body .entry-hero .bhx-ort p { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2em .9em; margin: 0 !important; font-size: .98rem; line-height: 1.45; color: var(--bhx-ink); text-align: left; }
html body .entry-hero .bhx-ort small { flex: 0 0 10.6rem; font: 600 .72rem/1.3 Inter, system-ui, sans-serif; letter-spacing: .09em; text-transform: uppercase; color: var(--bhx-green-d); }
html body .entry-hero .bhx-ort .is-closed small { color: #a8543a; }
html body .entry-hero .bhx-ort a { color: var(--bhx-green-d); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
html body .entry-hero .bhx-ort a:hover { color: var(--bhx-ink); }
@media (max-width: 560px) { html body .entry-hero .bhx-ort small { flex-basis: 100%; } }
html body .entry-hero .bhx-ort { max-width: 42rem; }
html body .entry-hero .bhx-ort small { flex-basis: 9.4rem; }
@media (max-width: 560px) { html body .entry-hero .bhx-ort small { flex-basis: 100%; } }
@media (min-width: 561px) { html body .entry-hero .bhx-ort { max-width: 46rem; } html body .entry-hero .bhx-ort small { flex-basis: 11.8rem; white-space: nowrap; } }

/* ---------------------------------------------------------------
 * Feinschliff nach dem Live-Check (22.10.2026)
 * ------------------------------------------------------------- */
:root { --bhx-green-t: #4a6826; }
/* Kleine grüne Texte etwas dunkler: Kontrast mindestens 4,5:1 auf hellem Grund */
html body .bhx-eyebrow, html body .bhx-float small, html body .bhx-footer h2, html body .bhx-footer address a[href*="maps"], html body .entry-content .bhx-rg-body small { color: var(--bhx-green-t); }
html body .bhx-jobs p { color: #fff; }
/* Knöpfe mit und ohne Pfeil gleich hoch, damit sie nebeneinander bündig stehen */
html body .bhx-btn { min-height: 54px; }
html body .bhx-btn--lg { min-height: 63px; }
/* Schritt-Nummern stehen oben an der Überschrift statt in der Mitte langer Karten */
html body .bhx-step::before { top: 18px; transform: none; }
/* Absatz direkt unter einer Knopfreihe bekommt Luft */
html body .bhx-btnrow + p { margin-top: 1.6em; }
/* Lange Textzeilen auf großen Bildschirmen begrenzen (angenehm lesbar: rund 75 Zeichen) */
@media (min-width: 981px) {
  html body:not(.home) .entry-content p.wp-block-paragraph:not(.has-text-align-center),
  html body:not(.home) .entry-content ul.wp-block-list:not(:has(> li:nth-child(7))),
  html body:not(.home) .entry-content ol.wp-block-list { max-width: 42em; }
}
/* Handy: Links im Fuß mit Tippfläche von mindestens 44 px */
@media (max-width: 980px) {
  html body .bhx-footer ul { gap: 0; }
  html body .bhx-footer ul a, html body .bhx-footer address a { padding: 6px 0; }
  html body .bhx-footer-bottom ul { gap: 0 22px; }
  html body .bhx-footer-bottom ul a { display: inline-block; padding: 11px 0; }
}
/* 404-Seite: Telefonnummer nicht umbrechen */
html body .bhx-404-tel a { white-space: nowrap; }
