/* ═══════════════════════════════════════════════
   BPC HEADER v3 — Scoped to .bpch-wrap
   All colours use !important to beat Elementor
   theme & global stylesheet overrides.
═══════════════════════════════════════════════ */

/* ── Reset inside widget ── */
.bpch-wrap *, .bpch-wrap *::before, .bpch-wrap *::after {
  box-sizing: border-box !important;
  margin: 0; padding: 0;
}
.bpch-wrap a         { text-decoration: none !important; color: inherit !important; }
.bpch-wrap ul, .bpch-wrap li { list-style: none !important; }
.bpch-wrap p         { margin: 0 !important; }
.bpch-wrap h1,.bpch-wrap h2,.bpch-wrap h3,.bpch-wrap h4,.bpch-wrap h5 { margin: 0 !important; }

/* ── SVG icon colour inheritance ── */
.bpch-wrap svg { display:inline-block !important; width:1em !important; height:1em !important; max-width:1em !important; max-height:1em !important; vertical-align:middle !important; flex-shrink:0 !important; }
.bpch-wrap svg path, .bpch-wrap svg circle, .bpch-wrap svg rect,
.bpch-wrap svg polygon, .bpch-wrap svg g, .bpch-wrap svg use { fill: currentColor !important; stroke: none !important; }

/* ── Nuclear button reset — kills Elementor/theme button styles ── */
.bpch-drop-btn, .bpch-ham, .bpch-close {
  -webkit-appearance: none !important; appearance: none !important;
  background: transparent !important; background-color: transparent !important;
  background-image: none !important; border: none !important;
  border-radius: 0 !important; box-shadow: none !important;
  outline: none !important; cursor: pointer !important;
  font-family: inherit !important; color: inherit !important;
  margin: 0 !important; padding: 0 !important;
  text-transform: none !important; letter-spacing: normal !important;
  width: auto !important; min-width: unset !important; min-height: unset !important;
  line-height: inherit !important; display: inline-flex !important;
  align-items: center !important;
}
.bpch-drop-btn:focus, .bpch-ham:focus, .bpch-close:focus {
  outline: none !important; box-shadow: none !important;
}

/* Container */
.bpch-wrap { overflow-x: hidden; width: 100%; font-family: 'Barlow', sans-serif; }
.bpch-inner { max-width: 1180px; margin: 0 auto; padding: 0 22px; }

/* ════════════════════════════
   TOP BAR
════════════════════════════ */
.bpch-topbar {
  background-color: #0a0a0a !important;
  font-size: .76rem !important;
  color: rgba(255,255,255,.65) !important;
  padding: 6px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.05) !important;
}
.bpch-topbar .bpch-inner { display:flex !important; justify-content:space-between !important; align-items:center !important; gap:8px !important; }
.bpch-tb-left  { display:flex !important; align-items:center !important; gap:18px !important; flex-wrap:wrap !important; }
.bpch-tb-right { display:flex !important; align-items:center !important; gap:18px !important; flex-shrink:0 !important; }
.bpch-tb-item  { display:flex !important; align-items:center !important; gap:6px !important; white-space:nowrap !important; color:rgba(255,255,255,.65) !important; }
.bpch-tb-item a { color: #ff9a9a !important; font-weight: 600 !important; }
.bpch-tb-item a:hover { color: #fff !important; }
.bpch-tb-item i { color: #c01418 !important; font-size: .72rem !important; width: .72rem !important; height: .72rem !important; }
.bpch-tb-item svg { color: #c01418 !important; width: .72rem !important; height: .72rem !important; max-width: .72rem !important; max-height: .72rem !important; }

/* ════════════════════════════
   HEADER BAR
════════════════════════════ */
.bpch-header {
  background-color: #ffffff !important;
  border-bottom: 3px solid #c01418 !important;
  box-shadow: 0 2px 14px rgba(0,0,0,.10) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9000 !important;
}
.bpch-hdr-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 66px !important;
  gap: 14px !important;
}

/* ── Logo ── */
.bpch-logo { display:flex !important; align-items:center !important; flex-shrink:0 !important; }
.bpch-logo img { display:block !important; height:44px !important; width:auto !important; max-height:56px !important; }

/* ── Desktop Nav ── */
.bpch-nav {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  flex: 1 !important;
  justify-content: flex-end !important;
}
.bpch-nav-link {
  display: inline-flex !important; align-items: center !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: .8rem !important; font-weight: 600 !important;
  color: #555555 !important;
  padding: 7px 11px !important; border-radius: 4px !important;
  white-space: nowrap !important; text-transform: uppercase !important;
  letter-spacing: .35px !important; transition: color .15s !important;
  text-decoration: none !important;
  background: transparent !important; border: none !important;
}
.bpch-nav-link:hover  { color: #c01418 !important; background: transparent !important; }
.bpch-nav-link.active { color: #c01418 !important; }

/* Dropdown */
.bpch-drop { position: relative !important; }
.bpch-drop-btn {
  font-size: .8rem !important; font-weight: 600 !important;
  padding: 7px 11px !important; border-radius: 4px !important;
  white-space: nowrap !important; text-transform: uppercase !important;
  letter-spacing: .35px !important; transition: color .15s !important;
  gap: 5px !important; color: #555555 !important;
}
.bpch-drop-btn:hover { color: #c01418 !important; background: transparent !important; }

/* CSS chevron */
.bpch-chevron {
  display: inline-block !important;
  width: 0 !important; height: 0 !important;
  border-left: 4px solid transparent !important;
  border-right: 4px solid transparent !important;
  border-top: 5px solid currentColor !important;
  opacity: .5 !important; flex-shrink: 0 !important;
  transition: transform .2s !important;
  margin-left: 2px !important;
}
.bpch-drop.is-open .bpch-chevron { transform: rotate(180deg) !important; opacity: .9 !important; }

.bpch-drop-menu {
  position: absolute !important;
  top: 100% !important; left: 0 !important;
  min-width: 220px !important;
  background: #ffffff !important;
  border: 1px solid #e8e8e8 !important;
  border-top: 2px solid #c01418 !important;
  border-radius: 8px !important; padding: 7px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.16) !important;
  z-index: 9999999 !important;
  visibility: hidden !important; opacity: 0 !important; pointer-events: none !important;
  transition: opacity .15s, visibility .15s !important;
}
/* bridge: keeps menu open when mouse moves from btn into menu */
.bpch-drop-menu::before { content:'' !important; position:absolute !important; top:-12px !important; left:0 !important; right:0 !important; height:12px !important; }
.bpch-drop.is-open .bpch-drop-menu { visibility: visible !important; opacity: 1 !important; pointer-events: all !important; }

.bpch-drop-item {
  display: flex !important; align-items: center !important; gap: 10px !important;
  padding: 8px 11px !important; border-radius: 6px !important;
  font-size: .84rem !important; color: #555555 !important;
  transition: background .12s, color .12s !important;
  text-decoration: none !important;
}
.bpch-drop-item:hover { background: #fdf0f0 !important; color: #c01418 !important; }
.bpch-drop-ico {
  width: 28px !important; height: 28px !important; min-width: 28px !important;
  background: #fdf0f0 !important; border-radius: 5px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: .76rem !important; color: #c01418 !important; flex-shrink: 0 !important;
}
.bpch-drop-ico i, .bpch-drop-ico svg { color: #c01418 !important; font-size: .76rem !important; width: .76rem !important; height: .76rem !important; max-width: .76rem !important; }

/* CTA button */
.bpch-cta {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 7px !important;
  background-color: #c01418 !important; color: #ffffff !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: .82rem !important; font-weight: 700 !important;
  padding: 9px 18px !important; border-radius: 4px !important;
  white-space: nowrap !important; text-transform: uppercase !important; letter-spacing: .4px !important;
  margin-left: 10px !important; border: none !important; cursor: pointer !important;
  box-shadow: 0 3px 10px rgba(192,20,24,.28) !important;
  transition: background-color .18s, transform .18s !important;
  flex-shrink: 0 !important; text-decoration: none !important;
  -webkit-appearance: none !important;
}
.bpch-cta:hover { background-color: #a01015 !important; color: #fff !important; transform: translateY(-1px) !important; }
.bpch-cta i, .bpch-cta span, .bpch-cta * { color: #fff !important; font-size: .82rem !important; }
.bpch-cta svg { color: #fff !important; fill: #fff !important; width: .82rem !important; height: .82rem !important; max-width: .82rem !important; }

/* ════════════════════════════
   MOBILE
════════════════════════════ */
.bpch-mob-right { display: none !important; align-items: center !important; gap: 8px !important; flex-shrink: 0 !important; }
.bpch-mob-cta {
  display: inline-flex !important; align-items: center !important; gap: 7px !important;
  background-color: #c01418 !important; color: #fff !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: .8rem !important; font-weight: 700 !important;
  padding: 8px 14px !important; border-radius: 4px !important;
  white-space: nowrap !important; border: none !important; cursor: pointer !important;
  text-decoration: none !important; -webkit-appearance: none !important;
}
.bpch-mob-cta:hover { background-color: #a01015 !important; color: #fff !important; }
.bpch-mob-cta i   { color: #fff !important; font-size: .8rem !important; }
.bpch-mob-cta svg { color: #fff !important; }

/* Hamburger */
.bpch-ham {
  flex-direction: column !important; gap: 5px !important; padding: 7px 5px !important;
}
.bpch-ham span {
  display: block !important; width: 22px !important; height: 2px !important;
  background-color: #0a0a0a !important; border-radius: 2px !important;
  transition: all .25s !important; transform-origin: center !important;
}
.bpch-ham.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg) !important; }
.bpch-ham.is-open span:nth-child(2) { opacity: 0 !important; transform: scaleX(0) !important; }
.bpch-ham.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) !important; }

/* ════════════════════════════
   OVERLAY
════════════════════════════ */
.bpch-overlay {
  position: fixed !important; inset: 0 !important; z-index: 9998 !important;
  background: rgba(0,0,0,.52) !important;
  opacity: 0 !important; pointer-events: none !important; transition: opacity .3s !important;
}
.bpch-overlay.is-open { opacity: 1 !important; pointer-events: all !important; }

/* ════════════════════════════
   MOBILE PANEL
════════════════════════════ */
.bpch-panel {
  position: fixed !important; top: 0 !important; right: 0 !important;
  width: 290px !important; max-width: 92vw !important; height: 100vh !important;
  background-color: #ffffff !important; z-index: 9999 !important;
  transform: translateX(110%) !important;
  transition: transform .3s cubic-bezier(.4,0,.2,1) !important;
  overflow-y: auto !important; overflow-x: hidden !important;
  box-shadow: -4px 0 24px rgba(0,0,0,.15) !important;
  display: flex !important; flex-direction: column !important;
  font-family: 'Barlow', sans-serif !important;
}
.bpch-panel.is-open { transform: translateX(0) !important; }

.bpch-panel-head {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  padding: 16px 18px !important;
  border-bottom: 2px solid #c01418 !important;
  flex-shrink: 0 !important;
}
.bpch-panel-head img { height: 34px !important; width: auto !important; display: block !important; }

/* CSS × close button */
.bpch-close {
  width: 32px !important; height: 32px !important;
  background: #f6f6f6 !important; border-radius: 50% !important;
  transition: background .15s !important; flex-shrink: 0 !important;
  justify-content: center !important;
}
.bpch-close:hover { background: #fdf0f0 !important; }
.bpch-close-x { display: block !important; width: 16px !important; height: 16px !important; position: relative !important; }
.bpch-close-x::before, .bpch-close-x::after {
  content: '' !important; position: absolute !important; top: 50% !important; left: 0 !important;
  width: 100% !important; height: 2px !important;
  background: #555 !important; border-radius: 1px !important;
}
.bpch-close-x::before { transform: translateY(-50%) rotate(45deg) !important; }
.bpch-close-x::after  { transform: translateY(-50%) rotate(-45deg) !important; }
.bpch-close:hover .bpch-close-x::before,
.bpch-close:hover .bpch-close-x::after { background: #c01418 !important; }

.bpch-panel-links { padding: 10px 12px !important; flex: 1 !important; overflow-y: auto !important; }

/* CSS right-arrow for nav links */
.bpch-mob-arr {
  display: inline-block !important; width: 6px !important; height: 6px !important;
  border-right: 2px solid #c01418 !important; border-top: 2px solid #c01418 !important;
  transform: rotate(45deg) !important; flex-shrink: 0 !important; margin-right: 2px !important;
}

.bpch-mob-link {
  display: flex !important; align-items: center !important; gap: 10px !important;
  padding: 10px 13px !important; border-radius: 6px !important;
  font-size: .88rem !important; font-weight: 600 !important;
  color: #1a1a1a !important; background: transparent !important;
  text-transform: uppercase !important; letter-spacing: .3px !important;
  transition: background .12s, color .12s !important;
  text-decoration: none !important;
}
.bpch-mob-link:hover { background: #fdf0f0 !important; color: #c01418 !important; }

.bpch-mob-section {
  padding: 11px 13px 3px !important;
  font-size: .66rem !important; font-weight: 700 !important;
  letter-spacing: 1.5px !important; text-transform: uppercase !important;
  color: #aaaaaa !important;
}
.bpch-mob-hr { border: none !important; border-top: 1px solid #e8e8e8 !important; margin: 6px 13px !important; }

.bpch-mob-service {
  display: flex !important; align-items: center !important; gap: 10px !important;
  padding: 8px 13px !important; border-radius: 6px !important;
  font-size: .84rem !important; font-weight: 500 !important;
  color: #444444 !important; background: transparent !important;
  transition: background .12s, color .12s !important; text-decoration: none !important;
}
.bpch-mob-service:hover { background: #fdf0f0 !important; color: #c01418 !important; }
.bpch-mob-sico {
  width: 26px !important; height: 26px !important; min-width: 26px !important;
  background: #fdf0f0 !important; border-radius: 5px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: .72rem !important; color: #c01418 !important; flex-shrink: 0 !important; overflow: hidden !important;
}
.bpch-mob-sico i, .bpch-mob-sico svg { color: #c01418 !important; font-size: .72rem !important; width: .72rem !important; height: .72rem !important; max-width: .72rem !important; }

.bpch-panel-foot { padding: 14px 18px !important; border-top: 1px solid #e8e8e8 !important; flex-shrink: 0 !important; }
.bpch-panel-call {
  display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important;
  background-color: #c01418 !important; color: #ffffff !important;
  font-family: 'Barlow', sans-serif !important; font-weight: 700 !important; font-size: .92rem !important;
  padding: 12px !important; border-radius: 6px !important;
  width: 100% !important; border: none !important; cursor: pointer !important;
  transition: background .18s !important; text-decoration: none !important;
  -webkit-appearance: none !important; box-sizing: border-box !important;
}
.bpch-panel-call:hover { background-color: #a01015 !important; color: #fff !important; }
.bpch-panel-call i { color: #fff !important; font-size: .88rem !important; }
.bpch-panel-info {
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: 12px !important; margin-top: 9px !important; flex-wrap: wrap !important;
  font-size: .73rem !important; color: #aaaaaa !important;
}
.bpch-panel-info i { color: #c01418 !important; font-size: .72rem !important; margin-right: 3px !important; }

/* ════════════════════════════
   RESPONSIVE
════════════════════════════ */
@media (max-width: 860px) {
  .bpch-nav      { display: none !important; }
  .bpch-mob-right{ display: flex !important; }
  .bpch-topbar .bpch-tb-left { display: none !important; }
}
@media (max-width: 600px) {
  .bpch-inner { padding: 0 15px !important; }
  .bpch-hdr-row { height: 58px !important; }
  .bpch-topbar  { display: none !important; }
  .bpch-mob-cta span { display: none !important; }
  .bpch-mob-cta { padding: 8px 11px !important; }
}

/* ── Elementor editor ── */
.elementor-editor-active .bpch-panel,
.elementor-editor-active .bpch-overlay { display: none !important; }
.elementor-editor-active .bpch-header  { position: relative !important; }
