/* CHB Brand — forest green / gold (kill pink menus) */
:root {
  --color-primary: #2f3d2a !important;
  --color-secondary: #c9a84c !important;
  --color-success: #4a5a3f !important;
  --e-global-color-accent: #c9a84c !important;
  --e-global-color-primary: #2f3d2a !important;
}
html body,
body.elementor-page,
.elementor-kit-18612 {
  --color-primary: #2f3d2a !important;
  --color-secondary: #c9a84c !important;
  --e-global-color-accent: #c9a84c !important;
  --e-global-color-primary: #2f3d2a !important;
}

/* Elementor nav — hover / focus / active (was #ee1a79 pink) */
.elementor-nav-menu--main .elementor-item:hover,
.elementor-nav-menu--main .elementor-item:focus,
.elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-nav-menu--main .elementor-item.highlighted,
.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item:focus,
.elementor-nav-menu .elementor-item.elementor-item-active,
.elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-nav-menu--dropdown .elementor-item:focus,
.elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.elementor-24827 .elementor-nav-menu--main .elementor-item:hover,
.elementor-24827 .elementor-nav-menu--main .elementor-item:focus,
.elementor-24827 .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-24819 .elementor-nav-menu--main .elementor-item:hover,
.elementor-24819 .elementor-nav-menu--main .elementor-item:focus,
.elementor-24819 .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: #2f3d2a !important;
  fill: #2f3d2a !important;
}

/* Nav underline / pointer accent */
.elementor-nav-menu--main .elementor-item:hover::before,
.elementor-nav-menu--main .elementor-item:hover::after,
.elementor-nav-menu--main .elementor-item.elementor-item-active::before,
.elementor-nav-menu--main .elementor-item.elementor-item-active::after,
.elementor-nav-menu--main .elementor-item:focus::before,
.elementor-nav-menu--main .elementor-item:focus::after {
  background-color: #c9a84c !important;
  border-color: #c9a84c !important;
  color: #c9a84c !important;
}

/* Dropdown hover row */
.elementor-nav-menu--dropdown a.elementor-item-active,
.elementor-nav-menu--dropdown a:hover {
  background-color: rgba(47, 61, 42, 0.07) !important;
  color: #2f3d2a !important;
}

/* Bacola native menus */
.site-header a:hover,
.header-main a:hover,
.header-nav a:hover,
.primary-menu a:hover,
.menu-item > a:hover,
.site-navigation a:hover,
.navbar-nav a:hover,
.all-categories a:hover,
.dropdown-menu a:hover,
.product-categories a:hover {
  color: #2f3d2a !important;
}
.site-header .current-menu-item > a,
.site-header .current-menu-ancestor > a,
.primary-menu .current-menu-item > a,
.menu .current-menu-item > a {
  color: #2f3d2a !important;
}

/* Desktop header — square SVG has lots of padding, so the box must be large */
@media (min-width: 768px) {
  .elementor-24827 .elementor-element-cf3056e {
    align-items: center !important;
    min-height: 132px;
    overflow: visible !important;
  }
  .elementor-24827 .elementor-element-45e56f0 {
    width: auto !important;
    max-width: 280px !important;
    min-width: 200px !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    overflow: visible !important;
  }
  .elementor-24827 .elementor-widget-theme-site-logo,
  .elementor-24827 .elementor-element-16dc0d3,
  .elementor-24827 .elementor-element-75d1706 {
    width: auto !important;
    max-width: 240px !important;
    overflow: visible !important;
  }
  .elementor-24827 .elementor-widget-theme-site-logo img,
  .elementor-24827 .elementor-element-16dc0d3 img,
  .elementor-24827 .elementor-element-75d1706 img {
    width: 220px !important;
    height: 168px !important;
    max-width: 220px !important;
    max-height: 168px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }
}

/* Elementor buttons that use global accent */
.elementor-widget-button .elementor-button {
  background-color: #2f3d2a !important;
  border-color: #2f3d2a !important;
  color: #ffffff !important;
  fill: #ffffff !important;
}
.elementor-widget-button .elementor-button:hover,
.elementor-widget-button .elementor-button:focus {
  background-color: #c9a84c !important;
  border-color: #c9a84c !important;
  color: #2a2208 !important;
  fill: #2a2208 !important;
}
#mobile-menu-trigger .elementor-button,
#mobile-menu-trigger .elementor-button:hover,
#mobile-menu-trigger .elementor-button:focus,
#close-mobile-menu .elementor-button,
#close-mobile-menu .elementor-button:hover,
#close-mobile-menu .elementor-button:focus {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Mobile hamburger */
.elementor-menu-toggle:hover,
.elementor-menu-toggle.elementor-active {
  background-color: #2f3d2a !important;
  border-color: #2f3d2a !important;
  color: #fff !important;
  fill: #fff !important;
}

/* ==========================================================================
   Mobile hamburger + drawer
   The Elementor header still paints the desktop utility row on phones
   (hidden on tablet only) and the slide-out is a leftover Bacola panel.
   ========================================================================== */
@media (max-width: 767px) {
  html,
  body {
    max-width: 100% !important;
  }
  html {
    overflow-x: hidden;
  }

  .row {
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #chb-temp-hero-root,
  #chb-temp-hero-root .hero {
    max-width: 100% !important;
    overflow-x: hidden;
  }

  #chb-temp-hero-root .hero-grain {
    inset: 0 !important;
  }

  .elementor-element-5de4919 {
    width: 100% !important;
    max-width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
  }

  /* Desktop utility row: My Account / About / Affiliate… wrapping */
  .elementor-element-b962188 {
    display: none !important;
  }

  /* Header: hamburger left, logo dead-center, search right */
  .elementor-24827 .elementor-element-cf3056e {
    --padding-top: 12px !important;
    --padding-bottom: 12px !important;
    --justify-content: space-between !important;
    position: relative !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    justify-content: space-between !important;
    align-items: center !important;
    min-height: 86px;
  }

  /* Left cluster only needs the hamburger now.
     Keep it static so the logo can center against the full header. */
  .elementor-24827 .elementor-element-45e56f0 {
    --width: 44px !important;
    --position: static !important;
    position: static !important;
    overflow: visible !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    flex: 0 0 44px !important;
    margin: 0 !important;
  }
  /* Empty cart/login cluster — hide so it does not shove search away */
  .elementor-24827 .elementor-element-b5d0f58 {
    display: none !important;
  }
  .elementor-24827 .elementor-element-64d4b92 {
    --width: 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    flex: 0 0 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    overflow: visible !important;
  }
  .elementor-24827 .elementor-element-64d4b92 .dgwt-wcas-search-wrapp,
  .elementor-24827 .elementor-element-64d4b92 .dgwt-wcas-search-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .elementor-24827 .elementor-element-64d4b92 .dgwt-wcas-ico-magnifier-handler,
  .elementor-24827 .elementor-element-64d4b92 svg {
    fill: #2f3d2a !important;
    color: #2f3d2a !important;
    width: 20px !important;
    height: 20px !important;
  }

  /* Plain 3-line icon — no circle, no fill */
  #mobile-menu-trigger,
  #mobile-menu-trigger .elementor-widget-container,
  #mobile-menu-trigger .elementor-button-wrapper {
    margin: 0 !important;
    width: 44px !important;
  }
  #mobile-menu-trigger .elementor-button,
  #mobile-menu-trigger .elementor-button:hover,
  #mobile-menu-trigger .elementor-button:focus {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #2f3d2a !important;
    fill: #2f3d2a !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #mobile-menu-trigger .elementor-button-content-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 16px !important;
    margin: 0 !important;
  }
  #mobile-menu-trigger .elementor-button-icon {
    position: relative !important;
    display: block !important;
    width: 22px !important;
    height: 14px !important;
    margin: 0 !important;
    background:
      linear-gradient(#2f3d2a, #2f3d2a) top / 100% 2px no-repeat,
      linear-gradient(#2f3d2a, #2f3d2a) center / 100% 2px no-repeat,
      linear-gradient(#2f3d2a, #2f3d2a) bottom / 100% 2px no-repeat;
  }
  #mobile-menu-trigger svg {
    display: none !important;
  }

  /* Crystal wordmark centered in the header bar */
  .elementor-24827 .elementor-element-75d1706 {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: auto !important;
    max-width: 160px !important;
    margin: 0 !important;
    z-index: 2;
    pointer-events: auto;
  }
  .elementor-24827 .elementor-element-75d1706 .elementor-widget-container,
  .elementor-24827 .elementor-element-75d1706 a {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .elementor-24827 .elementor-element-75d1706 img {
    width: 128px !important;
    max-width: 128px !important;
    height: 88px !important;
    max-height: 88px !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  /* Kill the broken Elementor off-canvas. We use #chb-mnav instead. */
  #mobile-menu-wrapper,
  .elementor-24827 .elementor-element-f0610c7,
  .mobile-menu-overlay {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
  }

  #chb-mnav {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 2147483000;
    background: #f7f2eb;
    display: none;
    flex-direction: column;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
  }
  html.chb-mnav-open #chb-mnav,
  #chb-mnav:not([hidden]) {
    display: flex;
  }
  #chb-mnav[hidden] {
    display: none !important;
  }
  .chb-mnav-bar {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px 12px;
    background: #f7f2eb;
  }
  .chb-mnav-logo {
    width: 118px;
    height: 52px;
    object-fit: contain;
    mix-blend-mode: multiply;
  }
  .chb-mnav-close {
    position: relative;
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    padding: 0;
    color: #2f3d2a;
  }
  .chb-mnav-close span,
  .chb-mnav-close span:before,
  .chb-mnav-close span:after {
    display: block;
    position: absolute;
    left: 12px;
    top: 21px;
    width: 20px;
    height: 1.5px;
    background: #2f3d2a;
    content: "";
  }
  .chb-mnav-close span {
    background: transparent;
  }
  .chb-mnav-close span:before {
    transform: rotate(45deg);
  }
  .chb-mnav-close span:after {
    transform: rotate(-45deg);
  }
  .chb-mnav-list {
    display: flex;
    flex-direction: column;
    padding: 4px 0 48px;
  }
  .chb-mnav-group {
    padding: 6px 0 10px;
  }
  .chb-mnav-label {
    margin: 10px 22px 6px;
    font-family: Inter, "Helvetica Neue", Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #c9a84c;
  }
  .chb-mnav-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 22px;
    font-family: Inter, "Helvetica Neue", Arial, sans-serif;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.01em;
    color: #2f3d2a;
    text-decoration: none;
  }
  .chb-mnav-list a:after {
    content: "";
    width: 7px;
    height: 7px;
    border-right: 1.5px solid #c9a84c;
    border-top: 1.5px solid #c9a84c;
    transform: rotate(45deg);
    flex: 0 0 auto;
    opacity: 0.85;
  }
  .chb-mnav-list a:active {
    background: rgba(47, 61, 42, 0.05);
  }

  /* Drawer header */
  .elementor-24827 .elementor-element-8f5eaee {
    --padding-top: 12px !important;
    --padding-bottom: 10px !important;
    --min-height: 0 !important;
    min-height: 0 !important;
    padding: 12px 16px 10px !important;
    background: #ffffff !important;
    border-bottom: 0;
    align-items: center !important;
  }
  .elementor-24827 .elementor-element-c9f4dd2 img {
    width: 92px !important;
    height: 40px !important;
    object-fit: contain !important;
  }

  /* Close — plain X, no round badge */
  #close-mobile-menu .elementor-button,
  #close-mobile-menu .elementor-button:hover,
  #close-mobile-menu .elementor-button:focus {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #close-mobile-menu svg {
    width: 16px !important;
    height: 16px !important;
    fill: #2f3d2a !important;
  }

  /* Drop the faded "Site Navigation" label */
  .elementor-element-b3b3a64 {
    display: none !important;
  }

  /* Category list */
  #mobile-menu-wrapper .elementor-element-b83ba43 > .elementor-widget-container {
    border: 0 !important;
  }
  #mobile-menu-wrapper .elementor-nav-menu--main > ul > li > a,
  #mobile-menu-wrapper .elementor-nav-menu--main > ul > li:not([class*="klbth-icon-"]) a {
    display: flex !important;
    align-items: center !important;
    height: auto !important;
    min-height: 50px !important;
    padding: 12px 22px !important;
    font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    color: #2f3d2a !important;
    border-bottom: 1px solid rgba(47, 61, 42, 0.08);
  }
  #mobile-menu-wrapper .elementor-nav-menu--main > ul > li > a:hover,
  #mobile-menu-wrapper .elementor-nav-menu--main > ul > li > a:focus {
    background: rgba(47, 61, 42, 0.06) !important;
    color: #2f3d2a !important;
  }
  /* Hide leftover Bacola grocery icons (bottle/pills/bath) */
  #mobile-menu-wrapper .elementor-nav-menu--main > ul > li[class*="klbth-icon-"]:before,
  #mobile-menu-wrapper .elementor-nav-menu--main > ul > li:before {
    content: none !important;
    display: none !important;
  }
  #mobile-menu-wrapper .elementor-item .sub-arrow {
    margin-left: auto;
    color: #c9a84c !important;
  }

  /* Submenus */
  #mobile-menu-wrapper .elementor-nav-menu--dropdown a {
    padding: 10px 22px 10px 28px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #4a5a3f !important;
  }

  /* Keep the category list as the main drawer body */
  #mobile-menu-wrapper .elementor-element-eccb898 {
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }

  /* Page links sit in the same list as the categories */
  #mobile-menu-wrapper .chb-drawer-sep {
    list-style: none;
    height: 12px;
    margin: 8px 22px 0;
    padding: 0;
    border-top: 1px solid rgba(47, 61, 42, 0.14);
    border-bottom: 0;
  }
  #mobile-menu-wrapper .chb-drawer-page > a {
    font-weight: 600 !important;
  }

  /* Duplicate search tab in the bottom bar (header already has search) */
  #custom-search-trigger {
    display: none !important;
  }

  /* Hide stale © 2023 strip */
  .elementor-element-1284b31 {
    display: none !important;
  }

  /* Trustpilot floater sits on the bottom nav / drawer */
  .trustpilot-widget,
  .tp-widget-wrapper,
  iframe[title*="Trustpilot" i],
  iframe[src*="trustpilot"],
  #trustpilot-widget,
  [class*="trustpilot-widget"],
  [id*="trustpilot"] {
    display: none !important;
  }

  /* Bottom-nav heart SVG was invisible (same currentColor issue) */
  .elementor-element-5de4919 .elementor-icon,
  .elementor-element-5de4919 .elementor-icon svg,
  .elementor-element-5de4919 .elementor-icon svg path {
    fill: #a7a7b5 !important;
    color: #a7a7b5 !important;
  }
}

html.show-mobile-menu,
html.show-mobile-menu body {
  overflow: hidden !important;
}

.mobile-menu-overlay {
  z-index: 998 !important;
  background: rgba(20, 24, 16, 0.45) !important;
}
#mobile-menu-wrapper {
  z-index: 1000 !important;
}

html.show-mobile-menu .trustpilot-widget,
html.show-mobile-menu iframe[src*="trustpilot"] {
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Cart count badge */
.site-header .cart-count,
.header-cart .count,
.cart-button .cart-count,
.cart-count {
  background-color: #c9a84c !important;
  color: #2a2208 !important;
}

/* Woo prices — kill pink/red */
.price,
.price .amount,
.price .woocommerce-Price-amount,
.price .woocommerce-Price-amount bdi,
.price ins,
.price ins .amount,
.woocommerce-Price-amount,
.woocommerce-Price-amount bdi,
.woocommerce-Price-currencySymbol,
p.price,
span.price,
.product-price,
.klb-product-price,
.product .price,
.product-wrapper .price,
ul.products .price,
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product p.price .amount,
.woocommerce div.product span.price .amount,
.single-product .price,
.cart-subtotal .amount,
.order-total .amount,
.product-subtotal .amount,
td.product-price .amount,
.mini-cart .amount,
.widget_shopping_cart .amount {
  color: #2f3d2a !important;
}
.price del,
.price del .amount,
.woocommerce .price del,
.woocommerce .price del .amount {
  color: #8a8f84 !important;
}