/* Shared public header. Administrative layouts are unaffected. */
:root{--bf-header-height:84px}
html{scroll-padding-top:calc(var(--bf-header-height) + 16px)}
.bf-site-header{position:sticky;top:0;z-index:1030;flex-shrink:0;background:#21272d;color:#fff;box-shadow:0 1px 0 #ffffff0b;font-family:'Open Sans',sans-serif}
.bf-site-header *{box-sizing:border-box}
.bf-header-shell{width:calc(100% - 48px);max-width:1320px;margin:0 auto}
.bf-header-bar{min-height:84px;display:flex;align-items:center;gap:24px}
.bf-header-brand,.bf-mobile-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.bf-header-brand{color:#fff}
.bf-header-brand img{display:block;width:54px;height:54px}
.bf-header-brand>span{display:none;font-size:14px;font-weight:700;letter-spacing:.09em}
.bf-header-desktop-nav{display:flex;align-items:center;gap:20px;margin-right:auto}
.bf-header-desktop-nav>a{position:relative;color:#edf0f2;text-decoration:none;font-size:13px;font-weight:500;white-space:nowrap;padding:29px 0}
.bf-header-desktop-nav>a:hover{color:#fff}
.bf-header-desktop-nav>a[aria-current="page"]:after{content:'';height:2px;background:#e14b55;position:absolute;bottom:16px;left:0;right:0}
.bf-header-desktop-account,.bf-mobile-account{display:flex;align-items:center;gap:9px}
.bf-header-button{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:10px 14px;border:1px solid transparent;border-radius:5px;text-decoration:none;font:500 12px 'Open Sans',sans-serif;white-space:nowrap;transition:background .15s,border-color .15s}
.bf-header-button--primary{background:#d93643;color:#fff}
.bf-header-button--primary:hover{background:#bd2935;color:#fff}
.bf-header-button--secondary{border-color:#89929b;color:#f3f4f5;background:transparent}
.bf-header-button--secondary:hover{border-color:#fff;background:#ffffff0a;color:#fff}
.bf-site-header :is(a,button):focus-visible{outline:3px solid #e46c75;outline-offset:4px}
.bf-header-toggle{display:none;width:44px;height:44px;padding:11px;border:1px solid #ffffff35;border-radius:6px;background:transparent;color:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;margin-left:auto}
.bf-header-toggle>span{display:block;width:20px;height:1.5px;background:currentColor;border-radius:1px}
.bf-header-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;overflow:auto;overscroll-behavior:contain;background:#fff;color:#263139;box-shadow:none;font-family:'Open Sans',sans-serif}
.bf-header-dialog:not([open]){display:none}
.bf-header-dialog::backdrop{background:#fff}
.bf-mobile-top{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e6e9eb}
.bf-mobile-brand{color:#263139;font-size:13px;font-weight:700;letter-spacing:.1em}
.bf-mobile-brand img{width:44px;height:44px;display:block}
.bf-mobile-brand:hover{color:#263139}
.bf-mobile-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:1px solid #e0e5e8;border-radius:6px;background:#fff;color:#34434e;cursor:pointer}
.bf-mobile-close svg{display:block;width:24px;height:24px}
.bf-mobile-content{max-width:760px;padding-top:25px;padding-bottom:max(28px,env(safe-area-inset-bottom))}
.bf-mobile-content>h2{font:600 10px 'Open Sans',sans-serif;letter-spacing:.13em;color:#76818a;margin:0 0 14px}
.bf-mobile-nav{display:flex;flex-direction:column}
.bf-mobile-nav>a{display:flex;align-items:center;gap:18px;min-height:66px;padding:15px 0;border-bottom:1px solid #eceff1;text-decoration:none;color:#29353d;font-size:23px;font-weight:500;letter-spacing:-.035em}
.bf-mobile-nav>a:hover,.bf-mobile-nav>a[aria-current="page"]{color:#c52e3b}
.bf-mobile-nav-number{color:#7c8790;font-size:10px;font-weight:400;letter-spacing:0;font-variant-numeric:tabular-nums;flex:0 0 17px}
.bf-mobile-nav-arrow{margin-left:auto;font-size:20px;font-weight:400;color:#9aa3aa}
.bf-mobile-nav>a[aria-current="page"] .bf-mobile-nav-arrow{color:#c52e3b}
.bf-mobile-account{padding-top:27px;gap:12px;flex-wrap:wrap}
.bf-mobile-account .bf-header-button{min-height:47px;flex:1;padding:13px 18px;font-size:13px}
.bf-mobile-account .bf-header-button--secondary{border-color:#d4dbe0;color:#34434e}
.bf-mobile-account .bf-header-button--secondary:hover{background:#f5f7f8;border-color:#a7b2ba}
body.bf-menu-open{overflow:hidden}
.bf-calendar-page .bf-calendar-sidebar{top:calc(var(--bf-header-height) + 24px)}
@media(max-width:1279px) and (min-width:1200px){.bf-header-bar{gap:18px}.bf-header-desktop-nav{gap:15px}.bf-header-desktop-nav>a{font-size:12px}.bf-header-button{font-size:11px;padding:10px 12px}}
@media(max-width:1199px){
 :root{--bf-header-height:72px}
 .bf-header-bar{min-height:72px;gap:18px;flex-wrap:wrap}
 .bf-header-brand img{width:44px;height:44px}
 .bf-header-brand>span{display:block}
 .bf-site-header.is-enhanced .bf-header-desktop-nav,.bf-site-header.is-enhanced .bf-header-desktop-account{display:none}
 .bf-site-header.is-enhanced .bf-header-toggle:not([hidden]){display:flex}
 /* Progressive fallback: without dialog support/JS the original links stay visible. */
 .bf-site-header:not(.is-enhanced){position:relative}
 .bf-site-header:not(.is-enhanced) .bf-header-bar{padding:14px 0;justify-content:center}
 .bf-site-header:not(.is-enhanced) .bf-header-desktop-nav{flex-basis:100%;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:0}
 .bf-site-header:not(.is-enhanced) .bf-header-desktop-nav>a{padding:8px 0}
 .bf-site-header:not(.is-enhanced) .bf-header-desktop-nav>a[aria-current="page"]:after{bottom:0}
 .bf-site-header:not(.is-enhanced) .bf-header-desktop-account{padding-bottom:5px}
}
@media(max-width:640px){
 .bf-header-shell{width:calc(100% - 36px)}
 .bf-mobile-content{padding-top:24px}
 .bf-mobile-nav>a{font-size:21px;min-height:58px;gap:13px}
 .bf-mobile-account{flex-direction:column;align-items:stretch;gap:10px;padding-top:25px}
 .bf-mobile-account .bf-header-button{flex:auto;width:100%}
}
@media(max-height:600px){.bf-mobile-content{padding-top:15px}.bf-mobile-nav>a{min-height:47px;padding:11px 0;font-size:19px}.bf-mobile-account{padding-top:18px}}
@media(prefers-reduced-motion:reduce){.bf-site-header *{transition:none!important}}
