/* Self-contained footer presentation. Menus stay visible at every breakpoint. */
/* Resolve the widget's width before flex cross-size measurement in Elementor. */
.elementor-widget-balduabc-footer { width:100%; }
.ba-footer { --ba-footer-background:var(--ba-color-secondary,#121212); --ba-footer-primary:var(--ba-color-neutral,#f8f7f5); --ba-footer-secondary:#b8b8b8; --ba-footer-accent:var(--ba-color-primary,#e84a10); --ba-footer-divider:#2a2a2a; background:var(--ba-footer-background); color:var(--ba-footer-primary); font:400 15px/1.65 var(--ba-font-body,"Plus Jakarta Sans",Arial,sans-serif); }
.ba-footer, .ba-footer * { box-sizing:border-box; border-radius:0; }
.ba-footer .ba-footer-container { width:min(calc(100% - var(--ba-gutter,48px) * 2),var(--ba-container-max,1280px)); margin-inline:auto; }
.ba-footer .ba-footer-main { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr); align-items:start; gap:var(--ba-footer-group-gap,36px) var(--ba-footer-column-gap,40px); padding-block:var(--ba-footer-padding-y,80px); }
.ba-footer .ba-footer-brand, .ba-footer .ba-footer-group { min-width:0; }
.ba-footer a { color:var(--ba-footer-primary); text-decoration:none; overflow-wrap:anywhere; transition:color var(--ba-transition-fast,180ms ease); }
.ba-footer a:focus-visible { outline:2px solid var(--ba-footer-primary); outline-offset:4px; }
.ba-footer .ba-footer-home { display:inline-flex; max-width:100%; min-height:44px; align-items:center; }
.ba-footer .ba-footer-logo { display:block; width:var(--ba-footer-logo-width,180px); max-width:100%; height:auto; border-radius:0; }
.ba-footer .ba-footer-site-name { font:500 28px/1.2 var(--ba-font-heading,"Space Grotesk",Arial,sans-serif); overflow-wrap:anywhere; }
.ba-footer .ba-footer-description { color:var(--ba-footer-secondary); margin:20px 0 0; max-width:340px; overflow-wrap:anywhere; }
.ba-footer .ba-footer-heading { color:var(--ba-footer-primary); font:500 19px/1.4 var(--ba-font-heading,"Space Grotesk",Arial,sans-serif); margin:0 0 16px; overflow-wrap:anywhere; }
.ba-footer .ba-footer-menu, .ba-footer .ba-footer-menu .sub-menu, .ba-footer .ba-footer-contacts, .ba-footer .ba-footer-socials, .ba-footer .ba-footer-legal ul { list-style:none; margin:0; padding:0; }
.ba-footer .ba-footer-menu li { margin:0; padding:0; }
.ba-footer .ba-footer-menu a { display:flex; align-items:center; min-height:44px; padding-block:8px; line-height:1.5; }
.ba-footer .ba-footer-menu .sub-menu { display:block; position:static; padding-left:14px; border-left:1px solid var(--ba-footer-divider); }
.ba-footer .ba-footer-menu .current-menu-item > a { text-decoration:underline; text-underline-offset:4px; }
.ba-footer .ba-footer-contacts { display:grid; gap:12px; }
.ba-footer .ba-footer-contact { display:flex; align-items:flex-start; gap:10px; min-height:44px; padding-block:4px; line-height:1.6; }
.ba-footer .ba-footer-contact-icon { display:flex; align-items:center; justify-content:center; flex:0 0 20px; width:20px; height:24px; }
.ba-footer .ba-footer-contact-copy { min-width:0; overflow-wrap:anywhere; }
.ba-footer .ba-footer-contact-label { display:block; color:var(--ba-footer-secondary); font-size:13px; margin-bottom:2px; }
.ba-footer .ba-footer-socials { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.ba-footer .ba-footer-social-link { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--ba-footer-divider); border-radius:0; }
.ba-footer .ba-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px 32px; border-top:1px solid var(--ba-footer-divider); padding-block:20px; color:var(--ba-footer-secondary); font-size:13px; }
.ba-footer .ba-footer-copyright { margin:0; overflow-wrap:anywhere; }
.ba-footer .ba-footer-legal { min-width:0; }
.ba-footer .ba-footer-legal ul { display:flex; flex-wrap:wrap; gap:4px 24px; }
.ba-footer .ba-footer-legal a { display:flex; align-items:center; min-height:44px; color:var(--ba-footer-secondary); }
.ba-footer .ba-footer-placeholder { color:var(--ba-footer-secondary); margin:0; overflow-wrap:anywhere; }
@media(hover:hover) and (pointer:fine) { .ba-footer a:hover { color:var(--ba-footer-accent); } }
@media(max-width:1024px) { .ba-footer .ba-footer-main { grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding-block:var(--ba-footer-padding-y-tablet,64px); } .ba-footer .ba-footer-logo { width:var(--ba-footer-logo-width-tablet,160px); } }
@media(max-width:767px) { .ba-footer .ba-footer-container { width:calc(100% - clamp(24px,6vw,36px) * 2); } .ba-footer .ba-footer-main { grid-template-columns:minmax(0,1fr); padding-block:var(--ba-footer-padding-y-mobile,48px); } .ba-footer .ba-footer-logo { width:var(--ba-footer-logo-width-mobile,160px); } .ba-footer .ba-footer-bottom { flex-direction:column; align-items:flex-start; gap:8px; } }
@media(prefers-reduced-motion:reduce) { .ba-footer a { transition:none; } }
