    /* ══════════════════════════════════════════
       Disable Astra's default header
    ══════════════════════════════════════════ */
    #masthead,
    .ast-site-header-wrap,
    .main-header-bar,
    .ast-primary-header-bar,
    .ast-above-header-bar,
    .ast-below-header-bar { display: none !important; }

    /* ══════════════════════════════════════════
       Global reset & container
    ══════════════════════════════════════════ */
    /* Sticky-header height, exposed site-wide so sticky sidebars/TOCs and
       anchor scroll-margins can clear the fixed menu. --blm-sticky-top adds a
       small gap below the header. */
    :root { --blm-header-h: 68px; --blm-sticky-top: 88px; --blm-topbar-h: 32px; }
    @media (max-width: 600px) { :root { --blm-header-h: 60px; --blm-sticky-top: 76px; } }

    /* Canonical site-wide container — used by the header, footer and every
       page template (class="blm-container"). Single source of truth. */
    .blm-container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 24px;
      width: 100%;
    }
    @media (max-width: 600px) { .blm-container { padding: 0 16px; } }

    /* ══════════════════════════════════════════
       Top Bar  — #329ae0
    ══════════════════════════════════════════ */
    .blm-top-bar {
      background-color: #073B70;
      color: #fff;
      font-size: 13px;
      width: 100%;
      position: relative;
      z-index: 10000;
    }
    .blm-top-bar .blm-container {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-top: 6px;
      padding-bottom: 6px;
    }

    /* Trustpilot */
    .blm-trustpilot {
      display: flex; align-items: center; gap: 8px;
      text-decoration: none; color: #fff; white-space: nowrap;
    }
    .blm-trustpilot:hover { text-decoration: none; }
    .blm-trustpilot:hover .blm-tp-logo { text-decoration: underline; }
    .blm-tp-rating { font-weight: 700; font-size: 13px; color: #fff; }
    /* Green star boxes */
    .blm-tp-stars { display: inline-flex; align-items: center; gap: 2px; }
    .blm-tp-box {
      display: inline-flex; align-items: center; justify-content: center;
      color: #00b67a;
      font-size: 16px; line-height: 1;
    }
    /* Half-filled star (for a .x rating like 4.8) */
    .blm-tp-box-half {
      background: linear-gradient(90deg, #00b67a 10%, rgba(255,255,255,0.4) 10%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
    }
    .blm-tp-text { font-size: 12px; opacity: 0.95; color: #fff; }
    .blm-tp-text strong { font-weight: 700; }
    /* Trustpilot logo */
    .blm-tp-logo {
      display: inline-flex; align-items: center; gap: 3px;
      font-weight: 700; font-size: 13px; color: #fff;
    }
    .blm-tp-logostar { color: #00b67a; font-size: 15px; line-height: 1; }

    /* Top bar links */
    .blm-top-links { display: flex; gap: 20px; align-items: center; }
    .blm-top-links a {
      color: #fff; text-decoration: none; opacity: 0.9; transition: opacity .2s;
    }
    .blm-top-links a:hover { opacity: 1; text-decoration: underline; }

    /* Help Centre dropdown */
    .blm-top-links .blm-contact-wrap { position: relative; }
    .blm-top-links .blm-contact-wrap > a { display: flex; align-items: center; gap: 4px; }
    .blm-top-links .blm-contact-wrap > a::after { content: '▾'; font-size: 10px; }
    .blm-contact-drop {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      padding-top: 8px;
      z-index: 10001;
    }
    .blm-contact-drop-inner {
      background: #fff;
      border-radius: 8px;
      box-shadow: 0 8px 24px rgba(0,0,0,0.15);
      min-width: 160px;
      padding: 6px 0;
    }
    .blm-top-links .blm-contact-wrap:hover .blm-contact-drop { display: block; }
    .blm-contact-drop a {
      display: block !important;
      color: #222 !important;
      padding: 10px 16px;
      font-size: 13px;
      opacity: 1 !important;
      white-space: nowrap;
      text-decoration: none !important;
      transition: background .15s;
    }
    .blm-contact-drop a:hover { background: #f0f4f8 !important; }

    /* ══════════════════════════════════════════
       Main Header — #0065b8  (sticky)
    ══════════════════════════════════════════ */
    .blm-main-header {
      background-color: #0065b8;
      width: 100%;
      position: sticky;
      top: 0;
      z-index: 9999;
      box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    }
    .blm-main-header .blm-container {
      display: flex !important;
      flex-wrap: nowrap !important;
      align-items: center !important;
      height: 68px;
    }

    /* ── Logo ── */
    .blm-logo {
      display: flex; align-items: center; gap: 10px;
      text-decoration: none; flex-shrink: 0;
    }
    .blm-logo img,
    .blm-logo .blm-logo-img,
    .blm-logo .custom-logo,
    .blm-main-header .custom-logo-link img,
    header .custom-logo-link img {
      height: 70px !important;
      width: auto !important;
      max-width: 240px !important;
      background: transparent !important;
      border: 0 !important;
      border-radius: 0 !important;
      box-sizing: content-box !important;
    }
    .blm-logo-icon {
      background: #fff; border-radius: 10px;
      width: 42px; height: 42px;
      display: flex; align-items: center; justify-content: center;
      font-weight: 900; font-size: 18px; color: #0065b8;
    }
    .blm-logo-text { color: #fff; font-size: 17px; font-weight: 700; line-height: 1.2; }
    .blm-logo-text span { display: block; }

    /* ── Desktop Nav (centered) ── */
    .blm-main-header .blm-nav { display: flex !important; justify-content: center; }
    .blm-nav ul {
      list-style: none; display: flex; align-items: center;
      gap: 2px; padding: 0; margin: 0;
    }
    .blm-nav ul li { position: relative; }
    .blm-nav ul li > a {
      color: #fff !important;
      text-decoration: none !important;
      font-size: 15px; font-weight: bold;
      padding: 8px 11px; border-radius: 6px;
      white-space: nowrap;
      display: flex; align-items: center; gap: 4px;
      transition: background .2s;
    }
    .blm-nav ul li > a:hover,
    .blm-nav ul li:hover > a,
    .blm-nav ul li.current-menu-item > a { background: rgba(255,255,255,0.18) !important; }

    /* Dropdown arrow */
    .blm-nav ul li.menu-item-has-children > a::after,
    .blm-nav ul li.has-children > a::after {
      content: '▾'; font-size: 11px; margin-left: 2px;
    }
    /* Dropdown panel — transparent wrapper is the hover bridge */
    .blm-nav ul li .sub-menu {
      display: none;
      position: absolute;
      top: 100%; left: 0;
      padding-top: 8px;
      z-index: 100;
      list-style: none;
      margin: 0; padding-left: 0;
    }
    .blm-nav ul li:hover > .sub-menu { display: block; }
    .blm-nav ul li .sub-menu-inner {
      background: #fff;
      border-radius: 8px;
      box-shadow: 0 8px 24px rgba(0,0,0,0.15);
      min-width: 180px;
      padding: 6px 0;
    }
    .blm-nav ul li .sub-menu li { width: 100%; }
    .blm-nav ul li .sub-menu li a {
      color: #222 !important;
      padding: 10px 16px !important;
      border-radius: 0 !important;
      font-size: 13.5px;
      display: block;
      transition: background .15s;
      background: none;
    }
    .blm-nav ul li .sub-menu li a:hover { background: #f0f4f8 !important; color: #222 !important; }

    /* NHS logo */
    .blm-nav ul li img { height: 40px; width: auto; vertical-align: middle; }

    /* ── Right icons group ── */
    .blm-header-icons { display: flex; align-items: center; gap: 10px; }

    /* Search button */
    .blm-search-btn {
      width: 40px; height: 40px;
      background: #fff; border: none; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      cursor: pointer; flex-shrink: 0;
      transition: background .2s; color: #222;
    }
    .blm-search-btn:hover { background: #e8f0fe; }

    /* Cart */
    .blm-cart {
      display: flex; align-items: center;
      text-decoration: none; flex-shrink: 0;
      transition: opacity .2s;
    }
    .blm-cart:hover { opacity: 0.85; }
    .blm-cart-bubble {
      position: relative;
      width: 40px; height: 40px;
      background: #fff; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      transition: background .2s;
    }
    .blm-cart:hover .blm-cart-bubble { background: #e8f0fe; }
    .blm-cart-bubble svg { color: #222; }
    .blm-cart-badge {
      position: absolute; top: -5px; right: -5px;
      background: #329ae0; color: #fff;
      font-size: 10px; font-weight: 700;
      width: 18px; height: 18px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      border: 2px solid #0065b8; line-height: 1;
    }

    /* ── Mini-cart dropdown ── */
    .blm-cart-wrap { position: relative; }
    .blm-cart-dropdown {
      display: none;
      position: absolute;
      top: calc(100% + 12px);
      right: 0;
      width: 320px;
      max-width: 90vw;
      background: #fff;
      border-radius: 10px;
      box-shadow: 0 10px 30px rgba(0,0,0,0.18);
      z-index: 10002;
      padding: 16px;
    }
    .blm-cart-dropdown.open { display: block; }
    /* little pointer arrow */
    .blm-cart-dropdown::before {
      content: '';
      position: absolute;
      top: -7px; right: 14px;
      width: 14px; height: 14px;
      background: #fff;
      transform: rotate(45deg);
      box-shadow: -2px -2px 4px rgba(0,0,0,0.05);
    }
    .blm-cart-dropdown .woocommerce-mini-cart__empty-message {
      color: #555; font-size: 14px; text-align: center; margin: 8px 0;
    }
    .blm-cart-dropdown ul.cart_list,
    .blm-cart-dropdown ul.product_list_widget {
      list-style: none; margin: 0 0 8px; padding: 0;
      max-height: 320px; overflow-y: auto;
    }
    .blm-cart-dropdown ul.cart_list li {
      position: relative;
      display: block;
      min-height: 56px;
      padding: 12px 26px 12px 60px;
      border-bottom: 1px solid #eee;
      font-size: 13px; color: #222;
      line-height: 1.4;
    }
    .blm-cart-dropdown ul.cart_list li img {
      position: absolute !important;
      left: 0; top: 12px;
      width: 48px !important; height: 48px !important;
      object-fit: cover;
      margin: 0 !important; border-radius: 6px; float: none !important;
    }
    .blm-cart-dropdown ul.cart_list li a:not(.remove):not(.remove_from_cart_button) {
      color: #0065b8 !important; text-decoration: none !important;
      font-weight: 600; display: block !important;
      font-size: 13px; line-height: 1.35;
    }
    .blm-cart-dropdown ul.cart_list li .quantity {
      display: block; color: #666; font-size: 12.5px; margin-top: 4px;
    }
    .blm-cart-dropdown ul.cart_list li a.remove,
    .blm-cart-dropdown ul.cart_list li a.remove_from_cart_button {
      position: absolute; top: 12px; right: 0;
      width: 18px; height: 18px; line-height: 16px; text-align: center;
      border-radius: 50%; background: #f0f0f0; color: #888 !important;
      font-size: 14px; font-weight: 700; text-decoration: none !important;
    }
    .blm-cart-dropdown .woocommerce-mini-cart__total,
    .blm-cart-dropdown p.total {
      display: flex; justify-content: space-between; align-items: center;
      font-size: 15px; padding: 12px 0; margin: 0; border-top: 1px solid #eee;
    }
    .blm-cart-dropdown .woocommerce-mini-cart__buttons,
    .blm-cart-dropdown p.buttons {
      display: flex; flex-direction: column; gap: 8px; margin: 8px 0 0;
    }
    .blm-cart-dropdown .woocommerce-mini-cart__buttons a,
    .blm-cart-dropdown p.buttons a {
      display: block; text-align: center;
      padding: 12px; border-radius: 6px;
      font-weight: 700; text-decoration: none !important; font-size: 14px;
    }
    .blm-cart-dropdown .woocommerce-mini-cart__buttons a:first-child,
    .blm-cart-dropdown p.buttons a:first-child {
      background: #3a6fe0; color: #fff !important;
    }
    .blm-cart-dropdown .woocommerce-mini-cart__buttons a.checkout,
    .blm-cart-dropdown p.buttons a.checkout {
      background: #111; color: #fff !important;
    }
    .blm-cart-dropdown .woocommerce-mini-cart__buttons a.checkout:hover,
    .blm-cart-dropdown p.buttons a.checkout:hover {
      background: #000; color: #fff !important;
    }

    /* Hamburger */
    .blm-hamburger {
      display: none; flex-direction: column;
      justify-content: space-between;
      width: 26px; height: 18px;
      background: none; border: none;
      cursor: pointer; padding: 0; flex-shrink: 0;
    }
    .blm-hamburger span {
      display: block; height: 2px;
      background: #fff; border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }

    /* ══════════════════════════════════════════
       Mobile Drawer
    ══════════════════════════════════════════ */
    .blm-mobile-nav {
      position: fixed; top: 0; left: -100%;
      width: 290px; height: 100%;
      background: #0065b8;
      z-index: 99999; padding: 64px 0 24px;
      transition: left .3s ease; overflow-y: auto;
    }
    .blm-mobile-nav.open { left: 0; }
    .blm-mobile-close {
      position: absolute; top: 16px; right: 16px;
      background: none; border: none; color: #fff; font-size: 22px; cursor: pointer;
    }
    .blm-mobile-nav ul { list-style: none; padding: 0; margin: 0; }
    .blm-mobile-nav > ul > li > a,
    .blm-mobile-nav-list > li > a {
      display: flex !important; align-items: center;
      justify-content: space-between;
      color: #fff !important; text-decoration: none !important;
      font-size: 15px; padding: 13px 24px;
      border-bottom: 1px solid rgba(255,255,255,0.12);
    }
    .blm-mobile-nav > ul > li > a:hover { background: rgba(255,255,255,0.1) !important; }
    .blm-mobile-nav .sub-menu { display: none; background: rgba(0,0,0,0.15); }
    .blm-mobile-nav .sub-menu.open { display: block; }
    .blm-mobile-nav .sub-menu li a {
      display: block !important; color: #fff !important;
      text-decoration: none !important;
      font-size: 14px; padding: 11px 36px !important;
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .blm-mob-arrow { font-size: 12px; transition: transform .3s; display: inline-block; }
    .blm-mob-arrow.open { transform: rotate(180deg); }

    .blm-overlay {
      display: none; position: fixed; inset: 0;
      background: rgba(0,0,0,0.45); z-index: 99998;
    }
    .blm-overlay.open { display: block; }

    /* ══════════════════════════════════════════
       Search Overlay
    ══════════════════════════════════════════ */
    .blm-search-overlay {
      display: none; position: fixed; inset: 0;
      background: rgba(0,30,70,0.92);
      z-index: 999999; align-items: center; justify-content: center;
    }
    .blm-search-overlay.open { display: flex; }
    .blm-search-overlay form { display: flex; width: 90%; max-width: 600px; }
    .blm-search-overlay input[type="search"] {
      flex: 1; padding: 14px 20px; font-size: 18px;
      border: none; border-radius: 8px 0 0 8px; outline: none;
    }
    .blm-search-overlay button[type="submit"] {
      padding: 14px 20px; background: #329ae0; color: #fff;
      border: none; border-radius: 0 8px 8px 0; font-size: 18px; cursor: pointer;
    }
    .blm-search-close {
      position: absolute; top: 20px; right: 24px;
      background: none; border: none; color: #fff; font-size: 26px; cursor: pointer;
    }

    /* ══════════════════════════════════════════
       Responsive
    ══════════════════════════════════════════ */
    /* Desktop: make the top bar sticky too, with the main header stacking
       directly beneath it (offset by the top-bar height so there's no gap). */
    @media (min-width: 1025px) {
      .blm-top-bar {
        position: sticky;
        top: 0;
        height: var(--blm-topbar-h);
        display: flex;
        align-items: center;
      }
      .blm-main-header { top: var(--blm-topbar-h); }
    }

    @media (max-width: 1024px) {
      .blm-main-header .blm-nav { display: none !important; }
      .blm-hamburger { display: flex; }
      .blm-header-icons { justify-content: flex-end; }
    }
    @media (max-width: 600px) {
      /* Keep only Trustpilot in the top bar (centered); the links move into
         the mobile drawer menu below. */
      .blm-top-bar .blm-container { justify-content: center; }
      .blm-trustpilot { justify-content: center; }
      .blm-tp-rating { display: none; } /* hide "Excellent" on mobile only */
      .blm-top-links { display: none; }
    }

    /* ══════════════════════════════════════════
       Custom Search Overlay (advanced product search)
    ══════════════════════════════════════════ */
    .search-overlay {
      display: none;
      position: fixed;
      z-index: 999999;
      left: 0; top: 0;
      width: 100%; height: 100%;
      background-color: rgba(0,0,0,0.8);
      backdrop-filter: blur(5px);
    }
    .search-overlay-content {
      position: relative;
      margin: 5% auto;
      padding: 40px;
      width: 90%;
      max-width: 800px;
      background-color: #fff;
      border-radius: 10px;
      box-shadow: 0 4px 20px rgba(0,0,0,0.3);
    }
    .search-close {
      position: absolute;
      top: 15px; right: 25px;
      font-size: 30px; font-weight: bold;
      cursor: pointer; color: #999;
    }
    .search-close:hover { color: #000; }
    .search-container { text-align: center; margin-bottom: 30px; }
    .search-container h2 { margin-bottom: 20px; color: #333; }
    #search-results-container {
      max-height: 400px; overflow-y: auto; padding: 20px 0;
    }
  