/* Modern forced site-wide navigation — v3.7.0 */
.bcl-ref-site-header {
  overflow: visible;
  border-bottom: 1px solid rgba(15, 107, 87, .12);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 12px 32px rgba(15, 23, 42, .07);
  backdrop-filter: blur(16px);
}

.bcl-ref-site-header .bcl-header-row,
.bcl-ref-site-header .bcl-nav,
.bcl-ref-site-header nav {
  overflow: visible;
}

.bcl-ref-site-header .bcl-nav {
  min-width: 0;
  gap: 12px;
}

.bcl-ref-site-header .bcl-nav-links {
  gap: 4px !important;
  align-items: center;
}

.bcl-ref-site-header .bcl-nav-links > li {
  min-width: 0;
  border-radius: 12px;
}

.bcl-ref-site-header .bcl-nav-links > li > a {
  min-height: 48px !important;
  padding: 0 30px 0 13px !important;
  border-radius: 11px;
  color: #17342c !important;
  font-size: clamp(.84rem, .72vw, .94rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
  white-space: nowrap;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.bcl-ref-site-header .bcl-nav-links > li:not(.menu-item-has-children) > a {
  padding-right: 13px !important;
}

.bcl-ref-site-header .bcl-nav-links > li:hover > a,
.bcl-ref-site-header .bcl-nav-links > li:focus-within > a,
.bcl-ref-site-header .bcl-nav-links > .current-menu-item > a,
.bcl-ref-site-header .bcl-nav-links > .current-menu-ancestor > a {
  color: var(--bcl-accent-deep, #06362d) !important;
  background: color-mix(in srgb, var(--bcl-accent-soft, #e7f3ef) 78%, white);
}

.bcl-ref-site-header .bcl-nav-links > li > a::after {
  display: none !important;
}

.bcl-ref-site-header .bcl-nav-links > .menu-item-has-children > .bcl-submenu-toggle {
  right: 3px !important;
  width: 26px !important;
  height: 34px !important;
  color: #31564d;
}

.bcl-ref-site-header .bcl-nav-links > .menu-item-has-children > .sub-menu {
  top: calc(100% + 8px);
  left: 0;
  width: min(340px, calc(100vw - 32px));
  min-width: 270px;
  padding: 9px;
  border: 1px solid rgba(15, 107, 87, .14);
  border-radius: 16px;
  background: rgba(255,255,255,.99);
  box-shadow: 0 22px 55px rgba(15, 23, 42, .16);
}

.bcl-ref-site-header .bcl-nav-links .sub-menu::before {
  content: "";
  position: absolute;
  top: -9px;
  left: 0;
  right: 0;
  height: 10px;
}

.bcl-ref-site-header .bcl-nav-links .sub-menu li {
  border-radius: 10px;
}

.bcl-ref-site-header .bcl-nav-links .sub-menu a {
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 9px;
  color: #1f3f37 !important;
  font-size: .9rem !important;
  font-weight: 750 !important;
  line-height: 1.35;
}

.bcl-ref-site-header .bcl-nav-links .sub-menu a:hover,
.bcl-ref-site-header .bcl-nav-links .sub-menu a:focus-visible,
.bcl-ref-site-header .bcl-nav-links .sub-menu .current-menu-item > a {
  color: var(--bcl-accent-deep, #06362d) !important;
  background: var(--bcl-accent-soft, #e7f3ef) !important;
}

.bcl-ref-site-header .bcl-header-cta {
  min-height: 46px;
  padding-inline: 17px;
  border-radius: 12px;
  white-space: nowrap;
}

/* Mobile/tablet accordion navigation. */
.bcl-mobile-menu {
  max-height: min(76vh, 720px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 10px 18px 18px;
  border-top: 1px solid rgba(15,107,87,.12);
  background: rgba(255,255,255,.99) !important;
  box-shadow: 0 22px 44px rgba(15,23,42,.14) !important;
}

.bcl-mobile-menu-list > li {
  margin: 3px 0;
  border: 1px solid #e7eeeb;
  border-radius: 12px;
  background: #fff;
}

.bcl-mobile-menu-list li > a {
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 10px 13px !important;
  border: 0 !important;
  color: #17342c !important;
  font-size: .96rem !important;
  font-weight: 800 !important;
  line-height: 1.35;
}

.bcl-mobile-menu-list .bcl-submenu-toggle {
  width: 42px;
  height: 42px;
  margin-right: 4px;
  border: 0;
  border-radius: 10px;
  color: #31564d;
  background: #f2f7f5;
}

.bcl-mobile-menu-list .sub-menu {
  margin: 0 8px 8px !important;
  padding: 5px !important;
  border: 0 !important;
  border-radius: 10px;
  background: #f7faf9;
}

.bcl-mobile-menu-list .sub-menu li {
  border: 0;
}

.bcl-mobile-menu-list .sub-menu a {
  min-height: 42px;
  padding: 8px 10px !important;
  border-radius: 8px;
  font-size: .9rem !important;
  font-weight: 700 !important;
}

.bcl-mobile-menu-list .current-menu-item > a,
.bcl-mobile-menu-list .current-menu-ancestor > a {
  color: var(--bcl-accent-deep, #06362d) !important;
  background: var(--bcl-accent-soft, #e7f3ef);
}

.bcl-mobile-menu > .bcl-button,
.bcl-mobile-menu > a[data-bcl-track="quote"] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  margin-top: 10px;
  border-radius: 12px;
  color: #fff !important;
  background: var(--bcl-accent, #0f6b57);
  font-weight: 850;
  text-align: center;
}

/* Comprehensive footer navigation with visible submenu groups. */
.bcl-ref-footer-main {
  align-items: start !important;
}

.bcl-ref-footer-nav {
  min-width: 0;
  width: 100%;
}

.bcl-ref-footer-menu.bcl-footer-menu-modern {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(145px, 1fr)) !important;
  gap: 18px 24px !important;
  justify-content: stretch !important;
  align-items: start;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left;
  list-style: none;
}

.bcl-footer-menu-modern > li {
  min-width: 0;
  list-style: none;
}

.bcl-footer-menu-modern > li > a {
  display: inline-flex;
  margin-bottom: 8px;
  color: #17342c !important;
  font-size: .95rem !important;
  font-weight: 850 !important;
  line-height: 1.3;
  text-decoration: none;
}

.bcl-footer-menu-modern > li > .sub-menu {
  display: grid !important;
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  gap: 4px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  list-style: none;
}

.bcl-footer-menu-modern > li > .sub-menu li {
  display: block;
  width: 100%;
  list-style: none;
}

.bcl-footer-menu-modern > li > .sub-menu a {
  display: inline-flex;
  padding: 3px 0;
  color: #53685f !important;
  font-size: .84rem !important;
  font-weight: 650 !important;
  line-height: 1.45;
  text-decoration: none;
}

.bcl-footer-menu-modern a:hover,
.bcl-footer-menu-modern a:focus-visible,
.bcl-footer-menu-modern .current-menu-item > a,
.bcl-footer-menu-modern .current-menu-ancestor > a {
  color: var(--bcl-accent, #0f6b57) !important;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.bcl-footer-menu-modern .bcl-submenu-toggle {
  display: none !important;
}

@media (min-width: 1280px) {
  .bcl-ref-footer-menu.bcl-footer-menu-modern {
    grid-template-columns: repeat(5, minmax(130px, 1fr)) !important;
  }
}

@media (max-width: 1180px) and (min-width: 921px) {
  .bcl-ref-site-header .bcl-nav-links > li > a {
    padding-left: 10px !important;
    padding-right: 27px !important;
    font-size: .8rem !important;
  }
  .bcl-ref-site-header .bcl-nav-links > li:not(.menu-item-has-children) > a {
    padding-right: 10px !important;
  }
  .bcl-ref-site-header .bcl-header-cta {
    padding-inline: 13px;
    font-size: .82rem;
  }
}

@media (max-width: 920px) {
  .bcl-ref-footer-menu.bcl-footer-menu-modern {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px 28px !important;
  }
}

@media (max-width: 560px) {
  .bcl-ref-footer-menu.bcl-footer-menu-modern {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .bcl-footer-menu-modern > li {
    padding-bottom: 12px;
    border-bottom: 1px solid #e8efec;
  }
  .bcl-footer-menu-modern > li:last-child {
    border-bottom: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bcl-ref-site-header .bcl-nav-links > li > a,
  .bcl-ref-site-header .bcl-nav-links .sub-menu {
    transition: none !important;
  }
}
