/* HL core */` which leaves an unclosed comment
   and comments-out every rule after it (including child theme bridge CSS). */

:root {
  --hl-red: #d71920;
  --hl-red-hover: #b51218;
  --hl-black: #18191a;
  --hl-bg: #ffffff;
  --fb-grey-bg: #f8f9fa;
  --fb-grey-border: #e4e6eb;
  --fb-grey-hover: #d8dadf;
  --fb-grey-text: #65676b;
  --header-footer-bg: #30343b;
  --header-footer-text: #f3f4f6;
  --header-footer-line: #3a3b3c;
  --bs-primary: #d71920;
  --bs-primary-rgb: 215, 25, 32;
  --primary: #d71920;
  --hl-modern-border: #e4e6eb;
  --hl-modern-text: #18191a;
  --hl-modern-muted: #65676b;
}

html, body {
  font-family: "Mulish", "Segoe UI", sans-serif !important;
  background: var(--hl-bg) !important;
  color: var(--hl-black) !important;
}

/* ========== HEADER (Hummingbird) ========== */
.header-top {
  background: var(--header-footer-bg) !important;
  border-bottom: 1px solid var(--header-footer-line) !important;
  padding: 0 !important;
  min-height: 36px;
}

.header-top,
.header-top a,
.header-top .header-block__title,
.header-top .header-block__icon,
.header-top .ps-contactinfo__email {
  color: var(--header-footer-text) !important;
}

.header-top .ps-shoppingcart .header-block,
.header-top .blockcart,
.header-top .header-block.blockcart {
  background: var(--hl-red) !important;
  border-radius: 6px !important;
  padding: 0 14px !important;
  min-height: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
}

.header-top .ps-shoppingcart .header-block__title,
.header-top .ps-shoppingcart .header-block__icon,
.header-top .ps-shoppingcart .header-block__badge {
  color: #fff !important;
}

.header-bottom {
  background: #fff !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .04) !important;
  padding: .4rem 0 .25rem !important;
}

.header-bottom__logo .logo,
.navbar-brand .logo,
header img.logo {
  max-height: 52px !important;
  width: auto !important;
  height: auto !important;
  max-width: 200px !important;
  object-fit: contain !important;
}

.ps-searchbar__input,
.ps-searchbar .form-control {
  background: var(--fb-grey-bg) !important;
  border: 1px solid var(--fb-grey-border) !important;
  border-radius: 8px !important;
  min-height: 44px !important;
  height: 44px !important;
  width: 100% !important;
  font-size: .92rem !important;
}

/* Classic-like header: logo + LONG search, menu full-width below */
@media (min-width: 768px) {
  .header-bottom__row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    width: 100% !important;
  }

  .header-bottom__logo {
    order: 1 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin-right: 2rem !important;
    margin-left: 0 !important;
  }

  #_desktop_ps_searchbar {
    order: 2 !important;
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important; /* override ms-auto */
    margin-right: 0 !important;
    min-width: 0 !important;
  }

  #_desktop_ps_searchbar .ps-searchbar,
  #ps_searchbar.ps-searchbar {
    width: 100% !important;
    max-width: none !important;
    flex: 1 1 auto !important;
  }

  #_desktop_ps_searchbar .ps-searchbar__form {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
  }

  #_desktop_ps_searchbar .ps-searchbar__input {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: none !important;
  }

  .ps-mainmenu--desktop {
    order: 10 !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-top: .65rem !important;
  }
}

.ps-mainmenu--desktop,
.header .ps-mainmenu__desktop {
  background: var(--fb-grey-bg) !important;
  border: 1px solid var(--fb-grey-border) !important;
  border-radius: 10px !important;
  padding: .45rem .85rem !important;
  width: 100%;
}

.ps-mainmenu__desktop a,
.ps-mainmenu .nav-link,
.ps-mainmenu__link {
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: .82rem !important;
  letter-spacing: .02em;
  color: var(--hl-black) !important;
  white-space: nowrap;
}

.ps-mainmenu__desktop a:hover,
.ps-mainmenu .nav-link:hover {
  color: var(--hl-red) !important;
}

/* Hide Hummingbird native typeahead Ã¢â‚¬â€ HL panel (/otsing) replaces it */
.ps-searchbar__dropdown,
.ps-searchbar__results,
#ps_searchbar_results,
.hl-fast-search-host .ps-searchbar__dropdown {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  overflow: hidden !important;
  max-height: 0 !important;
}

.ps-searchbar.hl-fast-search-host,
.hl-fast-search-host,
#_desktop_ps_searchbar {
  position: relative !important;
}

/* Host-relative only when panel is inside the search widget */
.hl-fast-search-host > #fd-fast-results.hl-fast-search-results {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(100% + 8px) !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  z-index: 999999 !important;
  box-sizing: border-box !important;
}

/* Demo cleanup */
#custom-text,
.custom-text,
.ps_customtext,
.ps-customtext,
section.ps-customtext,
#banner,
.ps_banner,
.banner {
  display: none !important;
}

.featured-products .h2,
.products-section-title,
.featured-products h2,
#content-wrapper h2 {
  text-align: center !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  color: var(--hl-black) !important;
}

/* Product cards */
.product-miniature,
article.product-miniature {
  background: #fff !important;
  border: 1px solid var(--fb-grey-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .04) !important;
  overflow: hidden;
  height: 100%;
}

.product-miniature .quantity-button,
.product-miniature .js-quantity-button {
  display: none !important;
}

.product-miniature__price,
.product__price,
.current-price {
  color: var(--hl-red) !important;
  font-weight: 800 !important;
}

/* Product page ATC stays solid red; listing cards use outline (must come after).
   IMPORTANT: never target .product-miniature__add here — #product + attr beats outline rules. */
.btn-primary:not(.product-miniature__add),
button.add-to-cart:not(.product-miniature__add),
#product [data-button-action="add-to-cart"].btn-primary:not(.product-miniature__add) {
  background: var(--hl-red) !important;
  border-color: var(--hl-red) !important;
  color: #fff !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
}

.product-miniature__add,
.product-miniature__add.btn-primary,
.product-miniature [data-button-action="add-to-cart"].btn-primary {
  width: 100% !important;
  background: #fff !important;
  color: var(--hl-red) !important;
  border: 1.5px solid var(--hl-red) !important;
  border-radius: 6px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.product-miniature__add:hover,
.product-miniature [data-button-action="add-to-cart"].btn-primary:hover {
  background: var(--hl-red) !important;
  color: #fff !important;
}

.footer,
footer.footer,
#footer {
  background: var(--header-footer-bg) !important;
  color: var(--header-footer-text) !important;
}

.footer a,
footer.footer a {
  color: var(--header-footer-text) !important;
}

/* ========== HL FAST SEARCH PANEL ========== */
#fd-fast-results,
.hl-fast-search-results {
  position: absolute;
  z-index: 999999 !important;
  display: none;
  max-height: min(70vh, 620px);
  overflow-y: auto;
  overflow-x: hidden;
  background: #fff;
  border: 1px solid var(--hl-modern-border);
  border-radius: 12px;
  box-shadow: 0 18px 44px rgba(17, 24, 39, .16);
  text-align: left;
  overscroll-behavior: contain;
}

#fd-fast-results.is-visible,
.hl-fast-search-results.is-visible {
  display: block;
}
