
.bgf, .bgf *{ box-sizing:border-box; }
.bgf :where(div,p,span,ul,li,address,strong,img,a,hr){ margin:0; padding:0; border:0; background:none; font:inherit; letter-spacing:inherit; text-transform:none; }
.bgf :where(a){ cursor:pointer; }
.bgf a, .bgf a:hover, .bgf a:focus, .bgf a:active, .bgf a:visited{
  color:var(--c) !important; background:none !important; text-decoration:none !important; outline:0; box-shadow:none !important; transition:color .2s;
}
.bgf a:focus-visible{ outline:2px solid var(--accent) !important; outline-offset:3px; }
.bgf :where(img){ display:block; max-width:none; height:auto; }

.bgf{
  --anthrazit:#151211; --stahl:#CFD5D4; --accent:#DDAE00; --c:rgba(249,247,245,.65);
  display:block; width:100%; background:var(--anthrazit); color:var(--c);
  font-family:'Nunito Sans',system-ui,sans-serif; font-style:normal; font-weight:400; line-height:1.4;
  padding:96px 128px; position:relative;
}
.bgf[data-cat="energy"]  { --accent:#7EC833; }
.bgf[data-cat="bau"]     { --accent:#DDAE00; }
.bgf[data-cat="invest"]  { --accent:#1882BF; }
.bgf[data-cat="facility"]{ --accent:#E0936E; }
.bgf[data-cat="gruppe"]  { --accent:#C95629; }

.bgf__inner{ display:flex; flex-direction:column; gap:64px; width:100%; }

/* top row: logo 210x105, 166px gap, 722px column block (Figma Footer Base/Desktop) */
.bgf__top{ display:flex; flex-direction:row; justify-content:flex-start; align-items:flex-start; gap:166px; }
.bgf__logo{ display:block; flex:none; width:210px; height:105px; }
.bgf__logo img{ width:100%; height:100%; object-fit:contain; object-position:left center; }
.bgf__cols{ display:flex; flex-direction:row; justify-content:space-between; gap:32px; flex:0 1 722px; min-width:0; }
.bgf__col{ display:flex; flex-direction:column; gap:12px; flex:0 0 auto; min-width:0; }
.bgf__col:first-child{ min-width:120px; }
.bgf__label{ font-size:12px; font-weight:800; line-height:1.4; letter-spacing:0; text-transform:uppercase; color:rgba(249,247,245,.38); white-space:nowrap; }
.bgf__list{ display:flex; flex-direction:column; gap:4px; }
.bgf__t{ font-size:12px; font-weight:400; line-height:1.4; color:rgba(249,247,245,.65); }
.bgf__contact{ display:flex; flex-direction:column; gap:12px; }
.bgf__list a:hover{ --c:var(--accent); }
.bgf__social{ display:flex; flex-direction:row; gap:5px; }
.bgf__social a{ display:block; width:32px; height:32px; flex:none; transition:opacity .2s; }
.bgf__social a:hover{ --c:var(--accent); opacity:.75; }
.bgf__social img{ width:100%; height:100%; }
.bgf__rule{ display:block; width:33px; height:1px; background:rgba(207,213,212,.5); }
.bgf__iso{ display:flex; flex-direction:column; gap:4px; }
.bgf__m, .bgf__hr{ display:none; }

.bgf__brandrow{ display:flex; flex-direction:column; gap:16px; align-items:flex-start; width:100%; }
.bgf .bgf__title{ display:block; width:100%; max-width:1098px; }
.bgf__claim{ font-size:24px; font-weight:300; line-height:1.4; color:var(--stahl); }
.bgf__claim strong{ font-weight:600; margin-right:.35em; }
.bgf__brand{ display:none; width:100%; }

/* legal bar: rule, 16px, one row (copyright left, links right) */
.bgf__bottom{ display:flex; flex-direction:row; justify-content:space-between; align-items:center; gap:16px; padding-top:16px; border-top:1px solid rgba(207,213,212,.32); }
.bgf__copy, .bgf__legal{ font-size:12px; font-weight:600; line-height:1.2; color:rgba(249,247,245,.32); }
.bgf__legal{ display:flex; flex-direction:row; align-items:center; gap:4px; --c:rgba(249,247,245,.32); }
.bgf__legal a:hover{ --c:var(--accent); }

/* tablet (Figma Footer Base/Tablet 768) */
@media (max-width:1024px){
  .bgf{ padding:64px; }
  .bgf__top{ flex-direction:column; align-items:stretch; gap:48px; }
  .bgf__logo{ align-self:center; }
  .bgf__logo img{ object-position:center; }
  .bgf__cols{ flex:1 1 auto; }
  .bgf__brandrow{ gap:24px; }
}
/* mobile (Figma Footer Base/Mobile 390) */
@media (max-width:767px){
  .bgf{ padding:48px; }
  .bgf__inner{ gap:40px; }
  .bgf__top{ gap:0; }
  .bgf__logo{ display:none; }
  .bgf__cols{ flex-wrap:wrap; gap:40px 24px; justify-content:space-between; }
  .bgf__col, .bgf__col:first-child{ flex:0 0 calc(50% - 12px); min-width:0; gap:4px; }
  .bgf__label{ color:var(--stahl); opacity:.6; }
  .bgf__contact{ gap:4px; }
  .bgf__hr{ display:block; flex:0 0 100%; height:1px; background:#5B6765; }
  .bgf__col--folgen{ gap:16px; }
  .bgf__col--folgen .bgf__label, .bgf__iso, .bgf__rule{ display:none; }
  .bgf__m{ display:block; width:120px; height:60px; }
  .bgf__m img{ width:100%; height:100%; object-fit:contain; object-position:left center; }
  .bgf__social{ gap:8px; }
  .bgf__social a{ width:24px; height:24px; }
  .bgf .bgf__title, .bgf__claim{ display:none; }
  .bgf__brand{ display:block; }
  .bgf__bottom{ flex-direction:column; justify-content:flex-start; gap:2px; padding-top:0; border-top:0; text-align:center; }
  .bgf__legal{ justify-content:center; }
}
.elementor-editor-active .bgf{ position:relative; }

/* ---- site-wide hotfixes (nav plugin 1.0.4 + Complianz), kept here because Footer Global loads on every page ---- */
/* nav: the "pad0-center" patch is meant for the desktop bar only; restore the tablet/mobile side padding */
@media (max-width:1024px){ html body .bn .bn-m{ padding-left:48px!important; padding-right:48px!important; } }
@media (max-width:767px){ html body .bn .bn-m{ padding-left:24px!important; padding-right:24px!important; } }
/* nav: the open menu must sit above the floating bar (bar got z-index:1000, overlay only 2) */
html body .bn .bn-ov{ z-index:1001; }
/* Complianz: hide the "Datenschutz bei BRALE" re-open tab once consent is given (revoke stays on /cookie-richtlinie/) */
#cmplz-manage-consent .cmplz-manage-consent, .cmplz-manage-consent.cmplz-show{ display:none!important; }
/* fallback while the first-visit banner is up and the menu is open: keep the menu CTA clear */
html.bn-lock .cmplz-cookiebanner{ bottom:96px!important; }
