/* Bricks — Anpassungen an die nativen Elemente, ohne eigenen Seitenscope. */

#brx-content, #brx-footer { display: block; width: 100%; margin: 0; }
#brx-content { padding: 0; }
#brx-header.site-header { margin: 0; padding: 0; }
:where(.brxe-text-link) { display: inline; }
.brxe-image { margin: 0; }
.bricks-button { font-family: inherit; text-transform: none; letter-spacing: normal; white-space: normal; box-shadow: none; }
body > .skip-link { z-index: 1100; }

/* Navigation: Bricks verwaltet Oeffnen, Fokus, Tastatur und Scrollsperre. */
#mainnav.main-navigation { position: static; display: flex; align-items: center; width: auto; padding: 0; background: transparent; box-shadow: none; }
.main-navigation > .brx-nav-nested-items, .category-menu > .brx-nav-nested-items {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
}
.main-navigation > .brx-nav-nested-items { gap: 25px; }
.category-menu, .category-menu > .brx-nav-nested-items { width: 100%; }
.category-menu > .brx-nav-nested-items { justify-content: space-between; gap: 15px; }
.brx-nav-nested-items > .menu-item { flex: 0 0 auto; margin: 0; padding: 0; list-style: none; }
.main-navigation > .brx-nav-nested-items > .menu-item > a, .main-navigation > .brx-nav-nested-items > .nav-group > .brx-submenu-toggle > a { display: block; padding: 12px 0; }
.main-navigation > .brx-nav-nested-items > .menu-item > .nav-contact { padding: 10px 25px; }
.nav-group.brxe-dropdown { flex-direction: row; }
.nav-group > .brx-submenu-toggle { display: flex; align-items: center; gap: 7px; width: 100%; }
.brx-submenu-toggle > a, .brx-submenu-toggle > span { white-space: nowrap; }
.brx-submenu-toggle > button { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 24px; min-height: 35px; margin: 0; padding: 7px 3px; border: 0; background: none; color: inherit; font-size: 15px; line-height: 1; }
.brx-submenu-toggle > button > svg { display: none; }
.brx-submenu-toggle > button::after { content: '+'; }
.brx-submenu-toggle > button[aria-expanded='true']::after { content: '\2212'; }
.nav-submenu.brx-dropdown-content { flex-direction: column; align-items: stretch; gap: 0; max-width: none; list-style: none; }
.nav-submenu.brx-dropdown-content > .menu-item { width: 100%; margin: 0; padding: 0; list-style: none; }
.nav-submenu.brx-dropdown-content > .menu-item > a { display: block; width: 100%; }
.nav-group.open > .nav-submenu.brx-dropdown-content, .nav-group.brx-open > .nav-submenu.brx-dropdown-content { display: block; opacity: 1; visibility: visible; pointer-events: auto; }
.main-navigation > .brxe-toggle, .category-menu > .brxe-toggle, .mobile-categories { display: none; }

/* Slider: Splide ist Teil von Bricks, Bilder und Inhalte bleiben native Elemente. */
.slide-stage.brxe-slider-nested > .splide__track, .slide-stage.brxe-slider-nested > .splide__track > .splide__list { width: 100%; height: 100%; min-height: 0; }
.slide-stage.brxe-slider-nested .slide.brxe-block { display: block; flex-shrink: 0; align-items: normal; justify-content: normal; height: 100%; }
.slide-stage.brxe-slider-nested .slide-copy { align-items: flex-start; }
/* Bricks misst mobil die Listenhoehe; Desktop folgt der festen Herohoehe. */
@media (min-width: 761px) {
  .slide-stage.brxe-slider-nested > .splide__track > .splide__list { height: 100% !important; }
}

/* Native Sticky-Zustaende mit stabiler urspruenglicher Headerhoehe. */
.header-space { height: var(--header-height, 196px); }
#brx-header.brx-sticky { background: var(--surface); transition: transform .25s ease, box-shadow .2s ease; }
#brx-header.brx-sticky > .brxe-div { transition: none; }
#brx-header.brx-sticky.sliding:not(.slide-up) { overflow: visible; }
#brx-header.scrolling:not(.header-measuring) { box-shadow: 0 4px 18px #14204115; }
#brx-header.scrolling:not(.header-measuring) .topbar { display: none; }
#brx-header.scrolling:not(.header-measuring) .header-inner { min-height: 68px; }
#brx-header.scrolling:not(.header-measuring) .logo { width: 180px; }
#brx-header.scrolling:not(.header-measuring) .main-navigation { font-size: 12px; }
#brx-header.scrolling:not(.header-measuring) .main-navigation .nav-contact { padding: 8px 20px; }
#brx-header.scrolling:not(.header-measuring) .category-nav a { padding-block: 9px; }
#brx-header.brx-sticky.slide-up:has(:focus-visible), #brx-header.brx-sticky.slide-up:has(.main-navigation.brx-open) { transform: none; overflow: visible; }

@media (max-width: 1100px) { .main-navigation > .brx-nav-nested-items { gap: 18px; } }
@media (max-width: 1000px) {
  #brx-header { --menu-offset: 80px; }
  .header-space { --header-height: 80px; }
  #brx-header.scrolling:not(.header-measuring) { --menu-offset: 64px; }
  #brx-header.scrolling:not(.header-measuring) .header-inner { min-height: 64px; }
  #brx-header.scrolling:not(.header-measuring) .logo { width: 155px; }
  #brx-header:has(.main-navigation.brx-open)::after { position: fixed; inset: var(--menu-offset) 0 0; z-index: -1; background: #14204150; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); content: ''; }
  #mainnav.main-navigation { position: static; z-index: auto; display: flex; flex: 0 0 auto; align-items: center; width: auto; padding: 0; }
  .main-navigation > .menu-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 10px 15px; border: 1px solid #dce1ed; border-radius: 24px; background: #f2f4f8; color: var(--blue); font-size: 12px; font-weight: 600; line-height: 1.4; }
  .main-navigation > .menu-toggle::before { content: 'Men\00fc'; }
  .main-navigation > .menu-toggle[aria-expanded='true'] { border-color: var(--blue); background: var(--blue); color: var(--surface); }
  .main-navigation > .menu-toggle .brxa-wrap { width: 16px; height: 12px; }
  .main-navigation > .menu-toggle .brxa-inner, .main-navigation > .menu-toggle .brxa-inner::before, .main-navigation > .menu-toggle .brxa-inner::after { width: 16px; height: 1.5px; border-radius: 0; }
  .main-navigation > .menu-toggle .brxa-inner { margin-top: 0; }
  .main-navigation > .menu-toggle .brxa-inner::before { top: -5px; }
  .main-navigation > .menu-toggle .brxa-inner::after { bottom: -5px; }
  .main-navigation > .menu-toggle[aria-expanded='true'] .brxa-inner { background: transparent; }
  .main-navigation > .menu-toggle[aria-expanded='true'] .brxa-inner::before { top: 0; transform: rotate(45deg); }
  .main-navigation > .menu-toggle[aria-expanded='true'] .brxa-inner::after { bottom: 0; transform: rotate(-45deg); }
  #mainnav.main-navigation > .brx-nav-nested-items {
    position: absolute;
    inset: 100% 0 auto;
    z-index: 1010;
    display: none;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 0;
    width: auto;
    max-width: none;
    max-height: calc(100dvh - var(--menu-offset));
    margin: 0;
    padding: 12px max(24px, calc((100% - 620px)/2)) 30px;
    overflow: auto;
    overscroll-behavior: contain;
    background: var(--surface);
    box-shadow: 0 14px 24px #14204115;
    opacity: 0;
    visibility: hidden;
  }
  #mainnav.main-navigation.brx-open > .brx-nav-nested-items { display: flex; opacity: 1; visibility: visible; }
  .main-navigation .brx-nav-nested-items > .menu-item, .main-navigation .nav-group { width: 100%; }
  .main-navigation .nav-group { flex-direction: column; align-items: stretch; }
  .main-navigation .nav-group > .brx-submenu-toggle { justify-content: space-between; gap: 0; }
  .main-navigation > .brx-nav-nested-items > .menu-item > a, .main-navigation > .brx-nav-nested-items > .nav-group > .brx-submenu-toggle > a { display: block; padding: 14px 0; border: 0; font-size: 14px; line-height: 1.5; }
  .main-navigation > .brx-nav-nested-items > .menu-item > .nav-contact { padding: 14px 0; }
  .main-navigation .brx-submenu-toggle > button { width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 50%; font-size: 20px; }
  .main-navigation .brx-submenu-toggle > button[aria-expanded='true'] { background: #edf0f6; }
  .main-navigation .nav-submenu.brx-dropdown-content { position: static; min-width: 0; width: 100%; margin: 0 0 12px; padding: 8px 16px; border: 0; border-radius: 6px; background: #f4f6fa; box-shadow: none; }
  .main-navigation .nav-submenu.brx-dropdown-content a { padding: 11px 0; font-size: 14px; font-weight: 400; line-height: 1.5; }
  .mobile-categories { display: block; width: 100%; margin: 0; padding: 0; list-style: none; }
  .category-menu-mobile { display: flex; flex-direction: column; align-items: stretch; width: 100%; }
  .category-menu-mobile > :is(.menu-item, .nav-group, .brxe-text-link) { width: 100%; border-bottom: 1px solid #e4e7ef; }
  .category-menu-mobile > .brxe-text-link, .category-menu-mobile > .menu-item > a { display: block; padding: 17px 0; color: var(--blue); font-size: 18px; font-weight: 550; line-height: 1.4; white-space: normal; }
  .mobile-menu-heading { display: block; margin: 26px 0 6px; color: #777e8f; font-size: 10px; font-weight: 600; line-height: 1.5; letter-spacing: 1.5px; text-transform: uppercase; }
  .mobile-categories > .menu-item, .mobile-categories > .nav-group { border-bottom: 1px solid #e4e7ef; }
  .mobile-categories > .menu-item > a, .mobile-categories > a, .mobile-categories .nav-group > .brx-submenu-toggle > a { display: block; padding: 17px 0; color: var(--blue); font-size: 18px; font-weight: 550; line-height: 1.4; white-space: normal; }
}
@media (max-width: 760px) {
  #brx-header { --menu-offset: 76px; }
  .header-space { --header-height: 76px; }
  #brx-header.scrolling:not(.header-measuring) { --menu-offset: 62px; }
  #brx-header.scrolling:not(.header-measuring) .header-inner { min-height: 62px; }
  .slide-stage.brxe-slider-nested > .splide__track, .slide-stage.brxe-slider-nested > .splide__track > .splide__list { height: auto; }
  .slide-stage.brxe-slider-nested .slide.brxe-block { height: auto; }
}
@media (max-width: 600px) { body.admin-bar #brx-header.scrolling { top: 0; } }
@media (max-width: 370px) { .main-navigation > .menu-toggle { padding-inline: 12px; gap: 8px; } }
@media (prefers-reduced-motion: reduce) {
  #brx-header.brx-sticky { transition: none; }
}

/* A native picture source gives wide screens the smaller, matching hero crop. */
.slide-image > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: inherit; }
.mobile-contact { display: none; }
@media (max-width:1000px) {
  .mobile-contact { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 13px; }
}
/* Supporting navigation and the supplied image/font attribution. */
.prose > * + * { margin-top: 1.25rem; }
.prose a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.link-list { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }

@media (max-width:1000px) {
  .main-navigation .category-menu-mobile.brx-nav-nested-items {
    position: static;
    inset: auto;
    z-index: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    width: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    gap: 0;
    overflow: visible;
    background: transparent;
    opacity: 1;
    visibility: visible;
    list-style: none;
  }
}
