/* SCRUM-60 compact header (every page, every width):
   left  = logo + Canada badge
   right = phone icon, Book now, language (if the page has one), menu button.
   Everything else lives in the slide-in menu. Loaded after each page's own CSS. */
.lr-header .lr-nav,
.lr-header .btn-ghost,
.lr-header .lr-call-num { display: none !important; }
.lr-header-left { display: flex; align-items: center; min-width: 0; }
.lr-header .lr-call { display: inline-flex !important; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.5); color: #fff; }
.lr-header .lr-call svg { width: 16px; height: 16px; }
.lr-header .nav-toggle { display: flex !important; align-items: center; justify-content: center; width: 38px; height: 38px; background: none; border: 0; color: inherit; cursor: pointer; }
.lr-header .nav-toggle svg { width: 24px; height: 24px; }
.lr-header-actions { gap: 10px !important; }

.lr-ca-badge { display: inline-flex; align-items: center; gap: 6px; margin-left: 12px; padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,0.14); border: 1px solid rgba(255,255,255,0.3); font-size: 0.75rem; font-weight: 700; line-height: 1.2; color: #fff; white-space: nowrap; }
.lr-ca-badge svg { width: 18px; height: 12px; border-radius: 2px; flex: none; box-shadow: 0 0 0 1px rgba(0,0,0,0.08); }

/* Slide-in menu at every width */
.lr-mobile-menu { position: fixed !important; top: 0; right: 0; bottom: 0; width: 82vw; max-width: 330px; background: #fff; color: #0f1319; z-index: 50; padding: 22px 24px; box-shadow: -12px 0 40px rgba(0,0,0,0.2); transform: translateX(100%); visibility: hidden; transition: transform 0.25s ease, visibility 0.25s; display: flex !important; flex-direction: column; gap: 2px; overflow-y: auto; }
.lr-mobile-menu.open { transform: translateX(0); visibility: visible; }
.lr-mobile-menu a { padding: 14px 4px; font-size: 1rem; font-weight: 600; color: #0f1319; border-bottom: 1px solid rgba(15,19,25,0.08); text-decoration: none; }
.lr-mobile-menu a:hover { color: #005A36; }
.lr-mobile-menu .menu-ca { display: flex; align-items: center; gap: 8px; padding: 6px 4px 14px; font-size: 0.875rem; font-weight: 700; color: #005A36; border-bottom: 1px solid rgba(15,19,25,0.08); }
.lr-mobile-menu .menu-ca svg { width: 22px; height: 15px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,0.1); }
.mobile-menu-close { align-self: flex-end; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; background: none; border: none; color: #0f1319; cursor: pointer; margin-bottom: 6px; }
.mobile-menu-close svg { width: 22px; height: 22px; }
.mobile-menu-scrim { display: block !important; position: fixed; inset: 0; background: rgba(15,19,25,0.4); z-index: 45; opacity: 0; pointer-events: none; transition: opacity 0.25s ease; }
.mobile-menu-scrim.open { opacity: 1; pointer-events: auto; }

/* Narrow phones: flag only in the bar (full text is at the top of the menu). */
@media (max-width: 560px) {
  .lr-header, .lr-header.is-scrolled { padding-left: 12px !important; padding-right: 10px !important; }
  .lr-ca-badge { margin-left: 6px; padding: 3px 5px; }
  .lr-ca-badge span { display: none; }
  .lr-header .lr-logo { font-size: 16px !important; gap: 5px !important; }
  .lr-header .lr-logo img { height: 22px !important; }
  .lr-header-actions { gap: 6px !important; }
  .lr-header .lr-call { width: 30px; height: 30px; }
  .lr-header .btn-solid { padding: 7px 11px !important; font-size: 0.75rem !important; }
  .lr-header .lang-toggle { padding: 4px 6px !important; }
  .lr-header .nav-toggle { width: 32px; height: 32px; }
}

/* Contrast fixes (PageSpeed accessibility, 2026-10-02): white text needs a
   slightly deeper green than #008A00 to reach 4.5:1; small labels at full opacity. */
.lr-header, .lr-header.is-scrolled { background: #007A00 !important; }
.lr-ca-badge { background: rgba(0,0,0,0.16); }
.lr-header .lang-toggle { opacity: 1; }
.footer-stamp { opacity: 1 !important; color: #5b6675 !important; }
