/* Shared navigation, footer and touch controls. Loaded after the section styles. */
body.lbs-shell { --lb-mobile-bar-height: 64px; }
.lbs-shell :is(.lbs-topbar-inner,.lbs-topbar-left,.lbs-topbar-right,.lbs-header-inner,.lbs-nav-inner,.lbf-grid > *, .lbf-contact span) { min-width: 0; }
.lbs-shell :is(.lbs-nav,.lbs-topbar,.lbf-footer,.mobile-bar,.offcanvas) :is(a,button):focus-visible { outline: 3px solid #e5a900; outline-offset: 3px; }
.lbs-shell .lbs-sb:focus-within { outline: 3px solid #e5a900; outline-offset: 3px; }
.lbs-shell .lbs-sb input:focus-visible { outline: none; }
.lbs-shell .lbs-dd:not(.is-open) .lbs-dd-menu { display: none; }
.lbs-shell .lbs-dd-menu { max-height: min(70vh, 580px); max-height: min(70dvh, 580px); overflow-y: auto; overscroll-behavior: contain; }
.lbs-shell .lbs-dd:last-child .lbs-dd-menu { left: auto; right: 0; }
.lbs-shell .lbs-dd-menu a { min-height: 44px; }
.lbs-shell .lbs-burger { align-items:center; justify-content:center; gap:8px; min-width:44px; min-height:44px; border-radius:6px; }
.lbs-burger span { font-size:14px; font-weight:700; }
.lbs-shell .lbs-burger:hover { background:rgba(255,255,255,.12); }
.lbs-shell .lbs-topbar-right { gap:clamp(8px,1.2vw,18px); }
.lbs-shell .lbs-topbar-left { gap:14px; }
.lbs-shell .lbs-urgent-toggle { flex:0 0 44px; align-self:stretch; border:0; border-left:1px solid #f0d6cf; background:#fff8f0; color:#99212a; font-size:17px; }
.lbs-shell .lbs-urgent-toggle:hover { background:#ffead9; }
.lbs-shell .lbs-urgent.is-paused .lbs-urgent-track { animation-play-state:paused; }
.lbs-shell .lbs-urgent:focus-within .lbs-urgent-items { overflow-x:auto; }
.lbs-shell .lbs-urgent:focus-within .lbs-urgent-track { animation:none; transform:none; }
.lbs-shell .lbs-urgent-toggle[hidden] { display:none; }
.lbs-shell .lbf-grid { grid-template-columns:minmax(0,1.5fr) minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr); }
.lbs-shell .lbf-col :is(a,p), .lbs-shell .lbf-brand p { overflow-wrap:anywhere; }
.lbs-shell .lbf-social a { width:40px; height:40px; }
.lbs-shell .lbf-col a, .lbs-shell .lbf-col button.lbf-install { min-height:32px; padding-block:6px; line-height:1.5; }
.lbf-install { display:block; background:none; border:0; padding-inline:0; text-align:left; color:#d6deeb; font:inherit; font-size:13.5px; }
.lbf-install:hover { color:var(--lbs-yellow-2); }
.lbs-shell .lbf-newsletter-form :is(input[type=email],button) { min-height:46px; }
.lbs-shell .lbf-newsletter-form { min-width:0; }
.lbs-shell #mobileMenu { width:min(88vw,380px); max-width:100%; }
.lbs-shell #mobileMenu .offcanvas-header { gap:16px; padding:16px 20px; }
.lbs-shell #mobileMenuLabel { margin:0; font-size:20px; font-weight:800; color:#13294b; }
.lbs-shell #mobileMenu .btn-close { flex:none; min-width:28px; min-height:28px; }
.lbs-shell #mobileMenu .offcanvas-body { overscroll-behavior:contain; padding-bottom:max(20px,env(safe-area-inset-bottom))!important; }
.lbs-shell #mobileMenu .mobile-links a { min-height:48px; display:flex; align-items:center; font-size:14px; line-height:1.4; padding:12px 20px; }
.lbs-shell #mobileMenu .mobile-links a[aria-current=page] { color:#13294b; background:#fff4cf; border-left:4px solid #e2a600; padding-left:16px; font-weight:700; }
.lbs-shell #mobileMenu .mobile-partner-link { display:flex; gap:12px; align-items:center; padding:14px; border-radius:10px; background:#f1f5fa; text-decoration:none; }
.lbs-shell #mobileMenu .mobile-partner-link > span:nth-child(2) { min-width:0; }
.lbs-shell #mobileMenu .mobile-partner-link strong, .lbs-shell #mobileMenu .mobile-partner-link small { display:block; }
.lbs-shell #mobileMenu .mobile-partner-link small { font-size:12px; margin-top:3px; color:#5d6b82; }
.lbs-shell #mobileMenu .mobile-partner-arrow { margin-left:auto; }
.lbs-shell .mobile-install-box { background:#f5f7fb; padding:18px 20px; }
.lbs-shell .mobile-install-kicker { display:block; color:#5d6b82; font-size:10px; letter-spacing:.07em; font-weight:700; margin-bottom:8px; }
.lbs-shell .mobile-install-button { display:flex; width:100%; align-items:center; justify-content:center; gap:8px; background:#13294b; color:#fff; min-height:46px; font-weight:700; }
.lbs-shell .mobile-install-box > small { display:block; color:#5d6b82; font-size:12px; margin-top:7px; }
.lbs-shell .cookie-bar { z-index:1045; }
.lbs-shell .cookie-bar .btn { min-height:40px; }
/* A usable menu if the CDN script cannot load. The normal path remains Bootstrap. */
#mobileMenu.lb-menu-fallback { position:fixed; inset:0 auto 0 0; height:100vh; height:100dvh; z-index:1055; display:flex; flex-direction:column; background:#fff; visibility:visible; transform:translateX(0); box-shadow:8px 0 40px #13294b40; }
#mobileMenu.lb-menu-fallback .offcanvas-body { flex:1 1 auto; overflow-y:auto; }
.lb-menu-backdrop { position:fixed; inset:0; z-index:1050; background:rgba(9,22,45,.55); }
body.lb-menu-open { overflow:hidden; }
@media (max-width:1199.98px) {
  .lbs-shell .lbs-nav-links, .lbs-shell .lbs-search { display:none; }
  .lbs-shell .lbs-burger { display:inline-flex; color:#fff; }
  .lbs-shell .lbs-nav-inner { min-height:52px; }
  .lbs-shell .lbs-nav-home { display:flex; width:44px; height:44px; border-radius:6px; }
  .lbs-shell .lbs-tip { display:inline-flex; margin-left:auto; margin-right:10px; }
  .lbs-shell .lbs-topbar { display:none; }
  .lbs-shell .lbs-header-inner { min-height:76px; }
  .lbs-shell .lbs-header-sign { display:none; }
  .lbs-shell .lbs-logo-name { font-size:30px; }
  .lbs-shell .lbs-logo-claim { font-size:12px; }
  body.lbs-shell { padding-bottom:calc(var(--lb-mobile-bar-height) + env(safe-area-inset-bottom)); }
  .lbs-shell .mobile-bar.d-lg-none { display:flex!important; position:fixed; inset:auto 0 0; z-index:1040; background:#fff; border-top:1px solid #e4e9f1; box-shadow:0 -3px 16px #13294b12; padding-bottom:env(safe-area-inset-bottom); }
  .lbs-shell .mobile-bar a { flex:1 1 0; min-width:0; min-height:var(--lb-mobile-bar-height); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:7px 2px; font-size:11px; line-height:1.2; color:#53627a; text-decoration:none; position:relative; }
  .lbs-shell .mobile-bar a i { display:block; font-size:21px; line-height:1.2; }
  .lbs-shell .mobile-bar a.active { color:#13294b; font-weight:800; background:#fff9e8; }
  .lbs-shell .mobile-bar .mobile-add i { display:flex!important; align-items:center; justify-content:center; background:#f6b90f; color:#13294b; width:34px; height:28px; border-radius:8px; margin:0; box-shadow:none; }
  .lbs-shell .mobile-bar .mobile-badge { position:absolute; top:5px; left:calc(50% + 6px); font-size:9px; }
  .lbs-shell .cookie-bar { bottom:calc(var(--lb-mobile-bar-height) + env(safe-area-inset-bottom) + 12px); }
  .lbs-shell .lbf-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
  .lbs-shell .lbf-brand { grid-column:1/-1; max-width:520px; }
  .lbs-shell .lbf-col-wide { grid-column:span 2; }
}
@media (min-width:1200px) {
  .lbs-shell .lbs-burger { display:none; }
  .lbs-shell .lbs-nav-links { display:flex; }
  .lbs-shell .lbs-nav-links > a, .lbs-shell .lbs-dd-toggle { padding-inline:clamp(10px,1vw,15px); }
  .lbs-shell .lbs-tip { padding-inline:12px; margin-right:0; }
  .lbs-shell .lbs-nav-home { width:46px; }
}
@media (max-width:767.98px) {
  .lbs-shell .lbs-header-inner { min-height:68px; }
  .lbs-shell .lbs-logo-name { font-size:clamp(23px,6.2vw,30px); }
  .lbs-shell .lbs-logo-claim { font-size:11.5px; }
  .lbs-shell .lbs-header-art { left:50%; opacity:.65; }
  .lbs-shell .lbf-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; }
  .lbs-shell .lbf-col-wide { grid-column:1/-1; }
  .lbs-shell .lbf-contact { grid-column:1/-1; }
  .lbs-shell .lbf-newsletter-inner { display:grid; grid-template-columns:44px minmax(0,1fr); gap:12px; }
  .lbs-shell .lbf-newsletter-icon { width:44px; height:44px; font-size:21px; }
  .lbs-shell .lbf-newsletter h2 { font-size:19px; line-height:1.35; }
  .lbs-shell .lbf-newsletter p { font-size:13px; }
  .lbs-shell .lbf-newsletter-form { grid-column:1/-1; width:100%; margin:4px 0 0; max-width:none; }
  .lbs-shell .lbf-bottom .lbs-wrap { display:block; text-align:center; }
  .lbs-shell .lbf-bottom span { display:block; margin-block:4px; }
  .lbs-shell .cookie-bar { left:12px; right:12px; padding:14px; font-size:13px; gap:10px; }
}
@media (max-width:379.98px) {
  .lbs-shell .lbs-tip { font-size:11px; padding-inline:10px; gap:5px; }
  .lbs-shell .lbs-tip-dot { display:none; }
  .lbs-shell .lbs-burger { gap:4px; font-size:26px; }
  .lbs-shell .lbs-burger span { font-size:12px; }
  .lbs-shell .lbf-newsletter-form { flex-wrap:wrap; }
  .lbs-shell .lbf-newsletter-form input[type=email] { width:100%; flex-basis:100%; }
  .lbs-shell .lbf-newsletter-form button { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .lbs-shell .lbs-tip-dot { animation:none; }
  .lbs-shell .lbs-urgent-track { animation:none!important; }
  .lbs-shell .lbs-urgent-items { overflow-x:auto!important; }
  .lbs-shell .lbs-urgent-toggle { display:none; }
}
