.bh-nav ul { list-style: none; padding: 0; margin: 0; }
.bh-nav a { display: block; padding: .4rem .6rem; }
.bh-nav > ul, .bh-nav-desktop > ul { display: flex; flex-wrap: wrap; gap: .35rem; }
.bh-nav-desktop li { position: relative; }
.bh-nav-desktop .sub-menu { display: none; position: absolute; z-index: 20; min-width: 14rem; background: var(--bh-nav-bg, #fff); color: var(--bh-nav-color, #172227); }
.bh-nav-desktop .sub-menu a { color: var(--bh-nav-color, #172227); }
.bh-nav-desktop .sub-menu .sub-menu { left: 100%; top: 0; }
.bh-nav-desktop li:is(:hover, :focus-within) > .sub-menu { display: block; }
.bh-nav-mobile { display: none; }
.bh-nav-mobile summary { cursor: pointer; padding: .5rem; }
.bh-nav-mobile .sub-menu { padding-inline-start: 1rem; }
.bh-site-chrome a:focus-visible, .bh-site-chrome summary:focus-visible { outline: 3px solid currentColor; outline-offset: 2px; }
.bh-site-chrome .elementor-widget-image img { object-fit: contain; }
.bh-site-chrome .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
@media (max-width: 1024px) {
    .bh-nav-mobile { display: block; }
    .bh-nav-desktop { display: none; }
}
.bh-site-chrome.e-con { --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; --gap: 0px; }
.bh-site-header { background: var(--bh-header-bg, #fff); color: var(--bh-header-color, #172227); }
.bh-site-header a, .bh-site-footer a { color: inherit; }
.bh-site-footer { background: var(--bh-footer-bg, #203934); color: #fff; }
.bh-site-footer .elementor-heading-title { color: inherit; }
.bh-site-footer .e-con-inner { padding: 1rem; }
.bh-site-footer .bh-footer-columns > .e-con-inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); align-items: start; gap: 2rem; padding-top: 2rem; }
.bh-header-row > .e-con-inner, .bh-utility > .e-con-inner { justify-content: space-between; padding-block: .7rem; }
.bh-header-row .bh-brand { width: auto; padding: 0; gap: .7rem; }
.bh-utility { background: var(--bh-utility-bg, #263e43); color: #fff; font-size: .9rem; }
.bh-nav-mobile summary { min-width: 6rem; }
body.bh-layout-hghpb { --bh-utility-bg: var(--blue); --bh-footer-bg: var(--blue); }
body.bh-layout-lag-frauenhaeuser { --bh-header-bg: var(--lag-plum); --bh-header-color: #fff; --bh-footer-bg: var(--lag-plum); }
body.bh-layout-knappen-nrw { --bh-utility-bg: var(--bknrw-green); --bh-footer-bg: var(--bknrw-green); }
body[class*="bh-layout-"] .bh-page-title .e-con-inner { padding-block: clamp(1rem, 4vw, 3rem) .5rem; }
.bh-lag-header > .e-con-inner { padding-inline-end: min(13rem, 27vw); }
.bh-lag-exit { position: fixed; top: .6rem; right: .6rem; z-index: 1000; width: auto !important; }
.bh-lag-exit .elementor-button { background: #ffac25; color: #292235; }
.bh-lag-help { position: fixed; z-index: 100; inset: auto 0 0; background: var(--lag-plum); color: #fff; border-top: 2px solid #ffac25; }
.bh-lag-help .e-con-inner { padding: .6rem 1rem; gap: .6rem; }
.bh-lag-help .elementor-button { background: #ffac25; color: #292235; }
@media (max-width: 600px) {
    .bh-lag-header > .e-con-inner { padding-top: 3.5rem; padding-inline-end: 1rem; }
    .bh-lag-exit .elementor-button { padding: .6rem; }
}
.bh-layout-hghpb :is(.bh-site-footer, .bh-utility) :is(.elementor-widget-text-editor, .elementor-widget-text-editor a, .elementor-heading-title) { color: #fff; }
.bh-header-row .bh-nav a[aria-current="page"] { font-weight: 700; text-decoration: underline; }
.bh-site-chrome .bh-nav-mobile summary { border: 1px solid currentColor; border-radius: .2rem; }
body.bh-layout-brd-editorial { --bh-footer-bg: #172239; }
body.bh-layout-bvloe { --bh-footer-bg: #173c48; }
body.bh-layout-rosen-journal { --bh-footer-bg: #24392b; }
body.bh-layout-streuobst-wachtberg { --bh-footer-bg: #243e2b; }
body.bh-layout-jeck { --bh-footer-bg: #3e1936; }
body.bh-layout-fnrw-motion { --bh-footer-bg: #14213a; }
body.bh-layout-dsb-klar { --bh-footer-bg: #142f42; }
body.bh-layout-goebenstift { --bh-footer-bg: #243338; }
body.bh-layout-voell-freud { --bh-footer-bg: #472737; }
.bh-site-footer :is(.elementor-widget-text-editor, .elementor-widget-text-editor a, .elementor-heading-title) { color: inherit; }
.bh-layout-jeck .elementor-element.jeck-stage { width: auto; }
.bh-layout-bvloe .bh-site-header .member-nav,
.bh-layout-streuobst-wachtberg .bh-site-header .swb-join { color: #fff; }
.bh-layout-bvloe .bvloe-hero-art .elementor-widget-heading { position: relative; z-index: 2; }
.bh-layout-bvloe .bvloe-hero-art .elementor-heading-title { background: #d3e7a2; padding: .4em .6em; }
.bh-layout-brd-editorial .bh-site-footer h2.elementor-heading-title { font-size: clamp(1.2rem, 2.4vw, 2rem); line-height: 1.2; }


/* One content rail for the shared templates and the site's top-level content. */
body[class*="bh-layout-"] {
    --bh-content-gutters: 2rem;
    --bh-content-rail: min(calc(100% - var(--bh-content-gutters)), var(--bh-content-max));
}

body.bh-layout-hghpb { --bh-content-max: 1240px; }
body.bh-layout-lag-frauenhaeuser { --bh-content-max: var(--lag-max); }
body.bh-layout-knappen-nrw { --bh-content-max: var(--bknrw-max); }
body.bh-layout-brd-editorial { --bh-content-max: var(--brd-width); }
body.bh-layout-bvloe { --bh-content-max: 1320px; }
body.bh-layout-rosen-journal { --bh-content-max: 1400px; }
body.bh-layout-streuobst-wachtberg { --bh-content-max: var(--swb-max); }
body.bh-layout-jeck { --bh-content-max: 1360px; }
body.bh-layout-fnrw-motion { --bh-content-max: 1360px; }
body.bh-layout-dsb-klar { --bh-content-max: 1240px; }
body.bh-layout-goebenstift, body.bh-layout-voell-freud { --bh-content-max: 1440px; }

@media (min-width: 1025px) {
    body.bh-layout-hghpb, body.bh-layout-fnrw-motion { --bh-content-gutters: 80px; }
    body.bh-layout-lag-frauenhaeuser, body.bh-layout-streuobst-wachtberg { --bh-content-gutters: 4rem; }
    body.bh-layout-knappen-nrw { --bh-content-gutters: 3rem; }
    body.bh-layout-rosen-journal { --bh-content-gutters: 100px; }
    body.bh-layout-dsb-klar { --bh-content-gutters: 72px; }
}

body[class*="bh-layout-"] :is(main.site-main, main#content),
body[class*="bh-layout-"] > .elementor[data-elementor-type="wp-page"],
.bh-site-chrome > .e-con > .e-con-inner,
.bh-site-footer > .e-con.e-con-full,
.bh-site-footer > .elementor-widget {
    width: var(--bh-content-rail);
    max-width: var(--bh-content-rail);
    margin-inline: auto;
}

.bh-site-chrome > .e-con > .e-con-inner {
    padding-inline: 0;
}

.bh-site-footer .bh-footer-columns,
.bh-site-footer .bh-footer-columns > .e-con-inner {
    padding-inline: 0;
}

.bh-site-footer > .e-con.e-con-full .bh-footer-columns > .e-con-inner {
    width: 100%;
    max-width: none;
}

.bh-layout-rosen-journal .bh-header-row > .e-con-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .6rem 1.25rem;
}

.bh-layout-rosen-journal .bh-header-row > .e-con-inner > .elementor-widget {
    min-width: 0;
    max-width: 100%;
}

.bh-layout-rosen-journal .bh-header-row > .e-con-inner > :nth-child(-n + 2) {
    font-size: .8rem;
    color: var(--muted);
}

.bh-layout-rosen-journal .bh-header-row > .e-con-inner > :is(:nth-child(2), .elementor-widget-bh-vereinsnavigation) {
    justify-self: end;
}

.bh-layout-streuobst-wachtberg .bh-header-row > .e-con-inner > .elementor-widget-image {
    margin-inline-end: auto;
}

@media (max-width: 600px) {
    .bh-layout-rosen-journal .bh-header-row > .e-con-inner > :nth-child(-n + 2) {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .bh-layout-rosen-journal .bh-header-row .brand-caption {
        display: none;
    }
}

@media (max-width: 360px) {
    .bh-layout-voell-freud .bh-page-title .elementor-heading-title {
        font-size: clamp(1.8rem, 9vw, 2.5rem);
        overflow-wrap: anywhere;
    }
}

@media (max-width: 1024px) {
    .bh-lag-help > .e-con-inner {
        justify-content: center;
        padding-block: .5rem;
    }

    .bh-lag-help .elementor-widget-text-editor {
        display: none;
    }
}

/* The native project archive has extra horizontal padding in Hello Elementor. */
.bh-layout-brd-editorial.post-type-archive-project main.site-main,
.bh-layout-brd-editorial.post-type-archive-project main.site-main .page-header > .entry-title {
    padding-inline: 0;
}

/* Keep space for the LAG emergency exit on the desktop navigation row. */
@media (min-width: 601px) {
    .bh-site-chrome > .bh-lag-header > .e-con-inner {
        padding-inline-end: min(13rem, 27vw);
    }
}

.bh-site-chrome > .e-con,
.bh-site-footer .bh-footer-columns > .e-con-inner > .e-con,
body[class*="bh-layout-"] :is(main.site-main, main#content, .page-content) > .elementor > .e-con,
body[class*="bh-layout-"] > .elementor[data-elementor-type="wp-page"] > .e-con {
    --padding-left: 0px;
    --padding-right: 0px;
    --width: 100%;
    --content-width: 100%;
}

body[class*="bh-layout-"] :is(main.site-main, main#content, .page-content) > .elementor > .e-con > .e-con-inner,
body[class*="bh-layout-"] > .elementor[data-elementor-type="wp-page"] > .e-con > .e-con-inner {
    max-width: 100%;
    padding-inline: 0;
}
