.brickieit-wrapper { margin-bottom:1rem; }
.brickieit-content-placeholder { padding:1rem; border:1px dashed #bbb; background:#fafafa; color:#555; }
.brickieit-fe-empty { padding:1rem; border:1px dashed #ddd; }

/* BrickieIT default frontend fallback theme */
.brickieit-frontend{margin:0;background:#fff;color:#16181d;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.brickieit-frontend img,.brickieit-frontend video{max-width:100%;height:auto}.brickieit-frontend .frame{margin-bottom:2rem}.brickieit-frontend a{color:#4f39d8}

/* BrickieIT generated/WYSIWYG frontend helpers */
.brickieit-section{width:100%;}
.brickieit-content{margin-bottom:1rem;}
.brickieit-content img,.brickieit-content video,.brickieit-content iframe{max-width:100%;height:auto;}
.brickieit-content table{width:100%;border-collapse:collapse;}
.brickieit-content table td,.brickieit-content table th{border:1px solid #d9dde6;padding:.65rem;}
.brickieit-content figure{margin:0 0 1rem;}
.brickieit-content figcaption{font-size:.875rem;color:#667085;margin-top:.4rem;}
.brickieit-media-placeholder{display:grid;place-items:center;min-height:120px;border:1px dashed #b8c1d2;border-radius:12px;background:#eef2f8;color:#667085;font-weight:800;}
/* BrickieIT responsive grid helpers */
.brickieit-grid-gap-none > .row{--bs-gutter-x:0;--bs-gutter-y:0;}
.brickieit-grid-gap-small > .row{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem;}
.brickieit-grid-gap-normal > .row{--bs-gutter-x:1.5rem;--bs-gutter-y:1.5rem;}
.brickieit-grid-gap-large > .row{--bs-gutter-x:3rem;--bs-gutter-y:3rem;}
/* Edge mode always has zero row gutters — declared after gap rules to win by source order */
.brickieit-container-edge > .row{--bs-gutter-x:0;--bs-gutter-y:0;margin-right:0;margin-left:0;}
.brickieit-column{min-width:0;}
.brickieit-grid{box-sizing:border-box;width:100%;max-width:100%;}
.brickieit-grid-inner{box-sizing:border-box;}
.brickieit-wrapper::after,.brickieit-section::after,.brickieit-grid::after{content:"";display:table;clear:both;}

/* BrickieIT container / background-flow modes */
.brickieit-container-full-boxed,.brickieit-container-full-wide,.brickieit-container-edge{width:100%;}
.brickieit-container-boxed,.brickieit-container-wide{display:block;}

/* Full background with a consistently aligned wide content area. */
.brickieit-region-layout-wide > .brickieit-region-inner,
.brickieit-page-body.brickieit-region-layout-full-wide > .brickieit-region-inner,
.brickieit-container-wide.container-fluid,
.brickieit-container-full-wide > .brickieit-grid-inner {
  width:100%;
  max-width:1440px;
  margin-right:auto;
  margin-left:auto;
}

/* Suppress unwanted TYPO3 .frame spacing inside header / footer */
.brickieit-page-header .frame,
.brickieit-page-footer .frame {
  margin:0;
  padding:0;
}
.brickieit-page-header .brickieit-content,
.brickieit-page-footer .brickieit-content {
  margin-bottom: 0;
}
.brickieit-page-header .brickieit-content p:last-child,
.brickieit-page-footer .brickieit-content p:last-child {
  margin-bottom: 0;
}
.brickieit-page-header p,
.brickieit-page-header figure,
.brickieit-page-header .ce-gallery,
.brickieit-page-header .ce-row,
.brickieit-page-header .ce-column {
  margin-top:0;
  margin-bottom:0;
}

/* BrickieIT special elements — menu */
.brickieit-menu.navbar{display:flex;width:100%;justify-content:flex-end;padding:0;}
.brickieit-nav{display:flex;flex-wrap:wrap;align-items:center;}
.brickieit-nav.navbar-nav{display:flex;flex-direction:row;gap:.25rem;list-style:none;padding:0;margin:0;}
.brickieit-nav.navbar-nav[data-orient="vertical"]{flex-direction:column;}
.brickieit-nav .nav-link{padding:.375rem .75rem;color:inherit;text-decoration:none;}
.brickieit-nav .nav-link:hover,.brickieit-nav .nav-link.active{opacity:.8;}

/* BrickieIT menu: horizontal navbar-nav without requiring Bootstrap .navbar-expand-* */
.brickieit-menu .navbar-nav{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.25rem;list-style:none;padding-left:0;margin:0 0 0 auto;}
.brickieit-menu .navbar-nav[data-orient="vertical"]{flex-direction:column;align-items:flex-start;}
.brickieit-menu .nav-item{list-style:none;}
.brickieit-menu .nav-link{display:block;padding:.375rem .75rem;color:inherit;text-decoration:none;white-space:nowrap;}
.brickieit-menu .nav-link:hover,.brickieit-menu .nav-link.active{opacity:.8;}

/* BrickieIT menu: dropdown support (mirrors Bootstrap 5 dropdown API) */
.brickieit-menu .dropdown { position: relative; }
.brickieit-menu .dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    min-width: 10rem;
    padding: .5rem 0;
    margin: 0;
    list-style: none;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: .375rem;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}
.brickieit-menu .dropdown-menu.show { display: block; }
.brickieit-menu .dropdown-item {
    display: block;
    width: 100%;
    padding: .375rem 1rem;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
    background: transparent;
    border: 0;
}
.brickieit-menu .dropdown-item:hover,
.brickieit-menu .dropdown-item:focus { background-color: rgba(0,0,0,.05); }
.brickieit-menu .dropdown-item.active { font-weight: 600; }
.brickieit-menu .dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}

/* BrickieIT special elements — logo */
.brickieit-logo-wrapper{display:flex;align-items:center;}
.brickieit-logo-wrapper a.brickieit-logo{display:inline-flex;align-items:center;text-decoration:none;color:inherit;}
.brickieit-logo-text{font-size:1.25rem;font-weight:700;}

/* BrickieIT special elements — search */
.brickieit-search-wrapper{display:flex;align-items:center;}
.brickieit-search{width:100%;}
.brickieit-search .input-group{display:flex;flex-wrap:nowrap;}
.brickieit-search input[type="search"]{flex:1 1 auto;}

/* ============================================================
   BrickieIT header/menu variants (Page Settings selection)
   Structural layout only: directional logo placement + side
   layout. Width/edge-to-edge is governed by the header region
   container mode, so no max-width is hardcoded here.
   ============================================================ */
/* Legacy composeMenuInner structure (menus without header-builder settings). */
.brickieit-menu-inner{display:flex;width:100%;align-items:center;gap:1rem;flex-wrap:wrap;}
.brickieit-menu[class*="brickieit-menu-variant-"].navbar{justify-content:space-between;flex-wrap:wrap;}
.brickieit-menu-logo{flex:0 0 auto;display:flex;align-items:center;}
.brickieit-menu-logo-link{display:inline-flex;align-items:center;}
.brickieit-menu-logo-img{display:block;max-height:48px;width:auto;}
.brickieit-menu-body{flex:1 1 auto;display:flex;align-items:center;min-width:0;}
.brickieit-menu-body .navbar-nav,.brickieit-menu-body .brickieit-nav{margin-left:auto;}

/* Header builder (Bootstrap navbar) — flat structure, no .nav-inner wrapper.
   Bootstrap .navbar/.navbar-brand/.navbar-nav/.nav-link drive the layout; these are only
   small alignment helpers, so no custom margin/padding hacks are needed. Everything is
   scoped under .brickieit-menu so it never touches the backend or unrelated frontend. */
.brickieit-menu.navbar{align-items:center;gap:.4rem 1rem;flex-wrap:wrap;}
.brickieit-menu.navbar > .navbar-brand{flex:0 0 auto;margin:0;display:inline-flex;align-items:center;gap:.4rem;}
.brickieit-menu.navbar > .brickieit-menu-links{display:flex;flex-wrap:wrap;align-items:center;gap:.1rem .65rem;margin-left:auto;} /* default: brand left, nav pushed right */
.brickieit-menu.navbar > .brickieit-menu-cta{flex:0 0 auto;margin-left:.75rem;}
.brickieit-menu .nav-link{padding:.4rem .6rem;white-space:nowrap;text-decoration:none;color:inherit;}
.brickieit-menu .brickieit-brand-logo{max-height:40px;width:auto;display:inline-block;vertical-align:middle;}
/* Neutralize any stray .nav-inner (e.g. legacy/cached markup) so it never adds spacing. */
.brickieit-menu .nav-inner{display:contents;margin:0;padding:0;}

/* ---- Variant layouts (each variant differs directionally per the reference sheets) ---- */

/* Logo centred → vertical stack, centred nav below (classic v4/v7/v8, modern v1/v3/v4). */
.brickieit-menu-variant-classic-v4.brickieit-menu.navbar,
.brickieit-menu-variant-classic-v7.brickieit-menu.navbar,
.brickieit-menu-variant-classic-v8.brickieit-menu.navbar,
.brickieit-menu-variant-modern-v1.brickieit-menu.navbar,
.brickieit-menu-variant-modern-v3.brickieit-menu.navbar,
.brickieit-menu-variant-modern-v4.brickieit-menu.navbar{flex-direction:column;align-items:center;text-align:center;}
.brickieit-menu-variant-classic-v4 > .brickieit-menu-links,
.brickieit-menu-variant-classic-v7 > .brickieit-menu-links,
.brickieit-menu-variant-classic-v8 > .brickieit-menu-links,
.brickieit-menu-variant-modern-v1 > .brickieit-menu-links,
.brickieit-menu-variant-modern-v3 > .brickieit-menu-links,
.brickieit-menu-variant-modern-v4 > .brickieit-menu-links{margin:.4rem auto 0;justify-content:center;}
.brickieit-menu-variant-classic-v4 > .brickieit-menu-cta,
.brickieit-menu-variant-classic-v7 > .brickieit-menu-cta,
.brickieit-menu-variant-classic-v8 > .brickieit-menu-cta,
.brickieit-menu-variant-modern-v1 > .brickieit-menu-cta,
.brickieit-menu-variant-modern-v3 > .brickieit-menu-cta,
.brickieit-menu-variant-modern-v4 > .brickieit-menu-cta{margin:.4rem auto 0;}
/* classic v7 differs from v4: uppercase centred nav. modern v1: wider nav spread. */
.brickieit-menu-variant-classic-v7 .nav-link{text-transform:uppercase;letter-spacing:.05em;font-size:.9em;}
.brickieit-menu-variant-modern-v1 > .brickieit-menu-links{gap:.15rem 1.5rem;}

/* Logo right → nav left, brand right (classic v3). */
.brickieit-menu-variant-classic-v3 > .navbar-brand{order:3;margin-left:auto;}
.brickieit-menu-variant-classic-v3 > .brickieit-menu-links{order:1;margin-left:0;margin-right:.5rem;}
.brickieit-menu-variant-classic-v3 > .brickieit-menu-cta{order:2;margin-left:0;}

/* Two-row → brand (+CTA) on row 1, full-width nav on row 2 (classic v2/v6, modern v7). */
.brickieit-menu-variant-classic-v2 > .brickieit-menu-cta,
.brickieit-menu-variant-classic-v6 > .brickieit-menu-cta,
.brickieit-menu-variant-modern-v7 > .brickieit-menu-cta{margin-left:auto;}
.brickieit-menu-variant-classic-v2 > .brickieit-menu-links,
.brickieit-menu-variant-classic-v6 > .brickieit-menu-links,
.brickieit-menu-variant-modern-v7 > .brickieit-menu-links{flex:1 0 100%;order:5;margin:.5rem 0 0;justify-content:flex-start;border-top:1px solid rgba(0,0,0,.08);padding-top:.4rem;}

/* Dark logo chip (classic v5/v6/v10, modern v9). */
.brickieit-menu-variant-classic-v5 > .navbar-brand,
.brickieit-menu-variant-classic-v6 > .navbar-brand,
.brickieit-menu-variant-classic-v10 > .navbar-brand,
.brickieit-menu-variant-modern-v9 > .navbar-brand{background:#1b1e24;color:#fff;padding:.3rem .55rem;border-radius:5px;}
/* classic v10 also carries a dark bottom strip to differ from v5. */
.brickieit-menu-variant-classic-v10.brickieit-menu{border-bottom:3px solid #1b1e24;padding-bottom:.35rem;}

/* Dark full bar (modern v7) — combined with its two-row rule above. */
.brickieit-menu-variant-modern-v7.brickieit-menu{background:#1b1e24;border-radius:6px;padding:.5rem .85rem;}
.brickieit-menu-variant-modern-v7 .nav-link{color:#e7e9ee;}
.brickieit-menu-variant-modern-v7 > .navbar-brand{color:#fff;}
.brickieit-menu-variant-modern-v7 > .brickieit-menu-links{border-top-color:rgba(255,255,255,.15);}

/* Pill nav (modern v6 grey, modern v10 blue tint). */
.brickieit-menu-variant-modern-v6 > .brickieit-menu-links{background:#eef1f6;border-radius:999px;padding:.2rem .9rem;}
.brickieit-menu-variant-modern-v10 > .brickieit-menu-links{background:#e7edff;border-radius:999px;padding:.2rem .9rem;}

/* Boxed nav items (classic v8, modern v4). */
.brickieit-menu-variant-classic-v8 .nav-link,
.brickieit-menu-variant-modern-v4 .nav-link{border:1px solid #d7dde5;border-radius:6px;margin:.1rem .12rem;}

/* Accent underline nav (modern v8). */
.brickieit-menu-variant-modern-v8 .nav-link{border-bottom:2px solid transparent;padding-bottom:.3rem;border-radius:0;}
.brickieit-menu-variant-modern-v8 .nav-link:hover,
.brickieit-menu-variant-modern-v8 .nav-link.active{border-bottom-color:#2f6feb;}

/* Rounded nav containers (modern v2 subtle, modern v3 pill + round CTA). */
.brickieit-menu-variant-modern-v2 > .brickieit-menu-links{background:#f5f7fa;border-radius:8px;padding:.2rem .55rem;}
.brickieit-menu-variant-modern-v3 > .brickieit-menu-links{background:#f5f7fa;border-radius:999px;padding:.2rem .85rem;}
.brickieit-menu-variant-modern-v3 > .brickieit-menu-cta{border-radius:999px;}

/* Modern default emphasis (modern v5): uppercase spaced nav. */
.brickieit-menu-variant-modern-v5 .nav-link{text-transform:uppercase;letter-spacing:.06em;font-size:.85em;}

/* Badge logo (classic v9): outlined brand chip. */
.brickieit-menu-variant-classic-v9 > .navbar-brand{border:1px solid #cbd3df;border-radius:6px;padding:.2rem .5rem;}

/* Minimal (minimal v1 airy right-aligned, minimal v2 airy centred). */
.brickieit-menu-variant-minimal-v1.brickieit-menu.navbar,
.brickieit-menu-variant-minimal-v2.brickieit-menu.navbar{gap:.25rem 1.7rem;font-weight:500;}
.brickieit-menu-variant-minimal-v1 .nav-link,
.brickieit-menu-variant-minimal-v2 .nav-link{padding:.35rem .3rem;letter-spacing:.02em;}
.brickieit-menu-variant-minimal-v2 > .brickieit-menu-links{margin:0 auto;justify-content:center;}

/* Side variants → vertical column inside the header region (does not reflow page body).
   Leftside = left aligned, Rightside = right aligned. */
.brickieit-menu-variant-leftside-v1.brickieit-menu.navbar,
.brickieit-menu-variant-leftside-v2.brickieit-menu.navbar,
.brickieit-menu-variant-leftside-v3.brickieit-menu.navbar,
.brickieit-menu-variant-rightside.brickieit-menu.navbar{flex-direction:column;align-items:flex-start;gap:.55rem;}
.brickieit-menu-variant-leftside-v1 > .brickieit-menu-links,
.brickieit-menu-variant-leftside-v2 > .brickieit-menu-links,
.brickieit-menu-variant-leftside-v3 > .brickieit-menu-links,
.brickieit-menu-variant-rightside > .brickieit-menu-links{flex-direction:column;align-items:flex-start;width:100%;margin:0;gap:.15rem;}
.brickieit-menu-variant-leftside-v1 > .brickieit-menu-cta,
.brickieit-menu-variant-leftside-v2 > .brickieit-menu-cta,
.brickieit-menu-variant-leftside-v3 > .brickieit-menu-cta,
.brickieit-menu-variant-rightside > .brickieit-menu-cta{margin:.4rem 0 0;}
.brickieit-menu-variant-leftside-v2 > .brickieit-menu-links .nav-link{border-left:2px solid #e3e7ee;padding-left:.6rem;}
.brickieit-menu-variant-leftside-v3 > .brickieit-menu-links .nav-link{font-weight:700;}
.brickieit-menu-variant-rightside.brickieit-menu.navbar{align-items:flex-end;text-align:right;}
.brickieit-menu-variant-rightside > .brickieit-menu-links{align-items:flex-end;}

/* Logo centred families → logo above a centred nav row */
.brickieit-menu-variant-classic-v4 .brickieit-menu-inner,
.brickieit-menu-variant-classic-v7 .brickieit-menu-inner,
.brickieit-menu-variant-classic-v8 .brickieit-menu-inner,
.brickieit-menu-variant-modern-v1 .brickieit-menu-inner,
.brickieit-menu-variant-modern-v3 .brickieit-menu-inner,
.brickieit-menu-variant-modern-v4 .brickieit-menu-inner{flex-direction:column;align-items:center;text-align:center;}
.brickieit-menu-variant-classic-v4 .brickieit-menu-body .navbar-nav,
.brickieit-menu-variant-classic-v7 .brickieit-menu-body .navbar-nav,
.brickieit-menu-variant-classic-v8 .brickieit-menu-body .navbar-nav,
.brickieit-menu-variant-modern-v1 .brickieit-menu-body .navbar-nav,
.brickieit-menu-variant-modern-v3 .brickieit-menu-body .navbar-nav,
.brickieit-menu-variant-modern-v4 .brickieit-menu-body .navbar-nav{margin:0 auto;justify-content:center;}

/* Logo right */
.brickieit-menu-variant-classic-v3 .brickieit-menu-inner{flex-direction:row-reverse;}
.brickieit-menu-variant-classic-v3 .brickieit-menu-body .navbar-nav{margin-left:0;margin-right:auto;}

/* Side menus → vertical column inside the header region (does not reflow page body) */
.brickieit-menu-variant-leftside-v1 .brickieit-menu-inner,
.brickieit-menu-variant-leftside-v2 .brickieit-menu-inner,
.brickieit-menu-variant-leftside-v3 .brickieit-menu-inner,
.brickieit-menu-variant-rightside .brickieit-menu-inner{flex-direction:column;align-items:flex-start;gap:.75rem;}
.brickieit-menu-variant-leftside-v1 .brickieit-menu-body .navbar-nav,
.brickieit-menu-variant-leftside-v2 .brickieit-menu-body .navbar-nav,
.brickieit-menu-variant-leftside-v3 .brickieit-menu-body .navbar-nav,
.brickieit-menu-variant-rightside .brickieit-menu-body .navbar-nav{flex-direction:column;align-items:flex-start;margin:0;width:100%;}
.brickieit-menu-variant-rightside .brickieit-menu-inner{align-items:flex-end;}
.brickieit-menu-variant-rightside .brickieit-menu-body .navbar-nav{align-items:flex-end;}

/* Responsive: collapse any variant to a clean stack on small screens */
@media (max-width:767.98px){
  .brickieit-menu-inner{flex-direction:column;align-items:stretch;gap:.5rem;}
  .brickieit-menu-body .navbar-nav{margin:0;flex-wrap:wrap;justify-content:flex-start;}
}
/* Header-builder (flat navbar) on small screens: brand on its own row, nav wraps full
   width below it, so no variant produces horizontal scroll. */
@media (max-width:575.98px){
  .brickieit-menu.navbar{gap:.35rem;}
  .brickieit-menu.navbar > .brickieit-menu-links{margin-left:0 !important;margin-right:0 !important;flex:1 0 100%;order:5;justify-content:flex-start;}
  .brickieit-menu.navbar > .brickieit-menu-cta{margin-left:auto;}
}

/* One-page website: smooth in-page anchor navigation + sticky-header offset */
body.brickieit-frontend{scroll-behavior:smooth;}
body.brickieit-frontend .brickieit-section{scroll-margin-top:80px;}
