/* RIB360-PUBLIC-GLOBAL-PREMIUM-MIST-BLUE-MENU-OWNERSHIP-CORRECTION-FIX-D29
   Late-loading public-menu compatibility layer.
   Covers:
   1) canonical .rib360-public-header,
   2) legacy Module 2 .b2-bc-public-shell-header,
   3) standalone public body > header.topbar.
   Does not style page content, cards, forms, footer, account panels, or authenticated portal shells. */

:root {
  --rib360-menu-d29-bg: #EAF2F8;
  --rib360-menu-d29-panel: #F5F9FC;
  --rib360-menu-d29-text: #18324A;
  --rib360-menu-d29-muted: #4F6578;
  --rib360-menu-d29-border: #D4E1EC;
  --rib360-menu-d29-hover: #DFEBF4;
  --rib360-menu-d29-active: #D2E3F0;
  --rib360-menu-d29-active-text: #123B5D;
}

/* Canonical shared public shell. Loaded after J7H/J7I to own the final menu palette. */
.rib360-public-header {
  background: var(--rib360-menu-d29-bg) !important;
  border-bottom-color: var(--rib360-menu-d29-border) !important;
  box-shadow: 0 10px 28px rgba(24, 50, 74, .07) !important;
}
.rib360-public-header .rib360-public-shell { background: transparent !important; }
.rib360-public-header .rib360-public-brand,
.rib360-public-header .rib360-public-brand:visited { color: var(--rib360-menu-d29-text) !important; }
.rib360-public-header .rib360-public-brand span { color: var(--rib360-menu-d29-muted) !important; }
.rib360-public-header .rib360-public-nav a {
  background: transparent !important;
  border-color: transparent !important;
  color: var(--rib360-menu-d29-text) !important;
  box-shadow: none !important;
}
.rib360-public-header .rib360-public-nav a:hover,
.rib360-public-header .rib360-public-nav a:focus-visible {
  background: var(--rib360-menu-d29-hover) !important;
  border-color: #CBDCE9 !important;
  color: var(--rib360-menu-d29-active-text) !important;
  outline: none !important;
}
.rib360-public-header .rib360-public-nav a.active,
.rib360-public-header .rib360-public-nav a[aria-current="page"] {
  background: var(--rib360-menu-d29-active) !important;
  border-color: #BFD3E2 !important;
  color: var(--rib360-menu-d29-active-text) !important;
}
.rib360-public-header .rib360-public-menu-button {
  background: var(--rib360-menu-d29-panel) !important;
  border-color: #CBDCE9 !important;
  color: var(--rib360-menu-d29-text) !important;
}
.rib360-public-header .rib360-public-menu-button:hover,
.rib360-public-header .rib360-public-menu-button:focus-visible,
.rib360-public-header .rib360-public-menu-button[aria-expanded="true"] {
  background: var(--rib360-menu-d29-hover) !important;
  border-color: #B9CEDE !important;
  color: var(--rib360-menu-d29-active-text) !important;
  outline: none !important;
}

/* Legacy Business Centre offer/centre/offer-detail header. Keep the orange customer portal action. */
.b2-bc-public-shell-header {
  background: var(--rib360-menu-d29-bg) !important;
  border-bottom-color: var(--rib360-menu-d29-border) !important;
  box-shadow: 0 10px 28px rgba(24, 50, 74, .07) !important;
}
.b2-bc-public-shell-header .b2-bc-brand,
.b2-bc-public-shell-header .b2-bc-brand:visited { color: var(--rib360-menu-d29-text) !important; }
.b2-bc-public-shell-header .b2-bc-brand-text { color: var(--rib360-menu-d29-muted) !important; }
.b2-bc-public-shell-header .b2-bc-links a:not(.b2-bc-portal) {
  background: transparent !important;
  border-color: transparent !important;
  color: var(--rib360-menu-d29-text) !important;
  box-shadow: none !important;
}
.b2-bc-public-shell-header .b2-bc-links a:not(.b2-bc-portal):hover,
.b2-bc-public-shell-header .b2-bc-links a:not(.b2-bc-portal):focus-visible {
  background: var(--rib360-menu-d29-hover) !important;
  border-color: #CBDCE9 !important;
  color: var(--rib360-menu-d29-active-text) !important;
  outline: none !important;
}
.b2-bc-public-shell-header .b2-bc-links .b2-bc-portal {
  background: linear-gradient(135deg, #FFA700, #FFB52E) !important;
  border-color: #FFA700 !important;
  color: #102037 !important;
}

/* Standalone home, FAQ and contact headers. Scope to a direct body child to avoid generic component collisions. */
body > header.topbar {
  background: var(--rib360-menu-d29-bg) !important;
  border-bottom-color: var(--rib360-menu-d29-border) !important;
  box-shadow: 0 10px 28px rgba(24, 50, 74, .07) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}
body > header.topbar .brand,
body > header.topbar .brand:visited { color: var(--rib360-menu-d29-text) !important; }
body > header.topbar .brand-tag,
body > header.topbar .brand-tagline { color: var(--rib360-menu-d29-muted) !important; }
body > header.topbar .navlinks a {
  background: transparent !important;
  border-color: transparent !important;
  color: var(--rib360-menu-d29-text) !important;
  box-shadow: none !important;
}
body > header.topbar .navlinks a:hover,
body > header.topbar .navlinks a:focus-visible {
  background: var(--rib360-menu-d29-hover) !important;
  color: var(--rib360-menu-d29-active-text) !important;
  outline: none !important;
}
body > header.topbar .navlinks a[aria-current="page"],
body > header.topbar .navlinks a.active {
  background: var(--rib360-menu-d29-active) !important;
  color: var(--rib360-menu-d29-active-text) !important;
}

@media (max-width: 700px) {
  .rib360-public-header .rib360-public-nav.is-open {
    background: var(--rib360-menu-d29-panel) !important;
    border-color: var(--rib360-menu-d29-border) !important;
  }
  .b2-bc-public-shell-header .b2-bc-shell,
  body > header.topbar .nav {
    background: transparent !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rib360-public-header *,
  .b2-bc-public-shell-header *,
  body > header.topbar * {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}
