.elementor-kit-5{--e-global-color-primary:#FFFFFF;--e-global-color-secondary:#9D9FA9;--e-global-color-text:#E5E5E5;--e-global-color-accent:#FF4443;--e-global-color-1e04794:#FF0100;--e-global-color-db952ea:#00B9FE;--e-global-color-d53c353:#202020;--e-global-color-f7df07e:#4DB353;--e-global-color-b2e21f6:#47DB4F;--e-global-color-b343eaf:#3EC8FB;--e-global-color-772a7bd:#000000;--e-global-color-8446c3e:#FF44434F;--e-global-color-1a5d8ae:#47DB4F4F;--e-global-color-86d03d9:#3EC8FB4F;--e-global-typography-primary-font-family:"Stack Sans Headline";--e-global-typography-primary-font-size:72px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.05em;--e-global-typography-secondary-font-family:"Stack Sans Headline";--e-global-typography-secondary-font-size:48px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-text-font-family:"Stack Sans Text";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Stack Sans Text";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:300;--e-global-typography-5f32d36-font-family:"Stack Sans Headline";--e-global-typography-5f32d36-font-size:32px;--e-global-typography-5f32d36-font-weight:300;--e-global-typography-3e8015d-font-family:"Stack Sans Headline";--e-global-typography-3e8015d-font-size:22.5px;--e-global-typography-3e8015d-font-weight:400;--e-global-typography-3e8015d-letter-spacing:-0.02em;--e-global-typography-b6499c7-font-family:"Stack Sans Text";--e-global-typography-b6499c7-font-size:20px;--e-global-typography-b6499c7-font-weight:400;--e-global-typography-b6499c7-line-height:1.5em;--e-global-typography-d062d5d-font-family:"Stack Sans Text";--e-global-typography-d062d5d-font-size:18px;--e-global-typography-d062d5d-font-weight:400;--e-global-typography-85c3aea-font-size:16px;--e-global-typography-85c3aea-font-weight:400;--e-global-typography-85c3aea-line-height:1.5em;--e-global-typography-67ceb69-font-family:"Stack Sans Text";--e-global-typography-67ceb69-font-size:15px;--e-global-typography-67ceb69-font-weight:300;--e-global-typography-67ceb69-line-height:1em;color:var( --e-global-color-d53c353 );font-family:"Stack Sans Text", Sans-serif;font-size:16px;font-weight:400;line-height:1.6em;}.elementor-kit-5 a{color:var( --e-global-color-1e04794 );}.elementor-kit-5 a:hover{color:var( --e-global-color-accent );}.elementor-kit-5 h1{color:var( --e-global-color-d53c353 );font-family:"Stack Sans Headline", Sans-serif;font-size:72px;font-weight:700;line-height:1.05em;}.elementor-kit-5 h2{color:var( --e-global-color-d53c353 );font-family:"Stack Sans Headline", Sans-serif;font-size:48px;font-weight:500;line-height:1.2em;}.elementor-kit-5 h3{color:var( --e-global-color-d53c353 );font-family:"Stack Sans Headline", Sans-serif;font-size:32px;font-weight:300;}.elementor-kit-5 h4{color:var( --e-global-color-d53c353 );font-family:"Stack Sans Text", Sans-serif;font-size:20px;font-weight:400;line-height:1.5em;}.elementor-kit-5 h5{color:var( --e-global-color-d53c353 );font-family:"Stack Sans Text", Sans-serif;font-size:20px;font-weight:400;line-height:1.5em;}.elementor-kit-5 h6{color:var( --e-global-color-d53c353 );font-family:"Stack Sans Text", Sans-serif;font-size:16px;font-weight:400;line-height:1.5em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}@media(max-width:1024px){.elementor-kit-5{--e-global-typography-primary-font-size:56px;--e-global-typography-secondary-font-size:40px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:16px;--e-global-typography-5f32d36-font-size:28px;--e-global-typography-3e8015d-font-size:22.5px;--e-global-typography-b6499c7-font-size:19px;--e-global-typography-d062d5d-font-size:17px;--e-global-typography-85c3aea-font-size:16px;--e-global-typography-67ceb69-font-size:14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-primary-font-size:40px;--e-global-typography-secondary-font-size:32px;--e-global-typography-text-font-size:15px;--e-global-typography-accent-font-size:15px;--e-global-typography-5f32d36-font-size:24px;--e-global-typography-3e8015d-font-size:20px;--e-global-typography-b6499c7-font-size:17px;--e-global-typography-d062d5d-font-size:16px;--e-global-typography-85c3aea-font-size:15px;--e-global-typography-67ceb69-font-size:13px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* === BBHQ: product hero image cap (desktop only) === */
/* Caps the WooCommerce product-gallery hero image at 490px on desktop.
 * Preserves natural aspect ratio. If the photo's rendered height
 * would exceed 490, it scales down proportionally (no cropping).
 * Image gets its own rounded corners so the framed look persists
 * even when the photo is narrower than its column.
 * Listing cards (archives + related products + featured strip) are
 * NOT targeted by this rule — the .woocommerce-product-gallery scope
 * limits this to single-product pages only.
 * Mobile / tablet unchanged. */
@media (min-width: 1025px) {
  .woocommerce-product-gallery__wrapper img,
  .woocommerce-product-gallery__image img {
    width: auto !important;
    max-width: 100%;
    height: auto !important;
    max-height: 490px;
    margin: 0 auto;
    display: block;
    border-radius: 16px;
    object-fit: contain;
  }
}
/* === /BBHQ: product hero image cap === */

/* === BBHQ: split price display (groups + CTA) === */
/* Markup source: snippet 9 (get_price_html) + snippet 6 (card shortcode).
   Mosaics only -- Sets & Parts render plain Woo prices / plain fallback text.
   Structure per group: .bbhq-ps-group > .bbhq-ps-label (+ .bbhq-ps-note) then
   .bbhq-ps-value (price / range / .bbhq-ps-alt tail / .bbhq-commission-cta).
   Style states only; WHICH state renders is snippet 9's decision ladder. */

/* -- Group: label row on top (black), value row beneath -- */
.bbhq-ps-group { display: block; }
.bbhq-ps-group + .bbhq-ps-group { margin-top: 10px; }
.bbhq-ps-label {
  display: block;
  font-family: "Stack Sans Text", sans-serif;
  font-size: 12px; font-weight: 700; line-height: 1.3;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: #202020;
  margin: 0 0 3px;
}
.bbhq-ps-value { display: block; line-height: 1.2; }

/* "Ranges From" tag on the label row */
.bbhq-ps-note {
  font-weight: 500;
  color: #9D9FA9;
  letter-spacing: 0.1em;
}

/* "or Quote" / "or Commission" tail inside a value row */
.bbhq-ps-alt {
  font-family: "Stack Sans Text", sans-serif;
  font-weight: 500;
  font-size: 0.85em;
  color: #202020;
  white-space: nowrap;
}

/* -- CTA pill (whole-group / gated states) -- */
.bbhq-commission-cta {
  display: inline-block;
  padding: 8px 16px;
  background: #FF0100; color: #FFFFFF;
  border-radius: 999px;
  font: 700 11px/1 "Stack Sans Text", sans-serif;
  letter-spacing: 0.15em; text-transform: uppercase;
  vertical-align: middle;
}

/* -- Archive / listing cards (shortcode output inside heading widget) -- */
.elementor-heading-title .bbhq-ps-group + .bbhq-ps-group { margin-top: 8px; }
.elementor-heading-title .bbhq-ps-label { font-size: 11px; }
.elementor-heading-title .bbhq-ps-group .woocommerce-Price-amount { white-space: nowrap; }
.elementor-heading-title .bbhq-ps-group del { opacity: 0.5; }
.elementor-heading-title .bbhq-ps-group ins { text-decoration: none; }
.elementor-heading-title .bbhq-commission-cta { padding: 5px 12px; font-size: 10px; }

/* -- Single product: Elementor Pro price widget -- */
.elementor-widget-woocommerce-product-price .bbhq-ps-group + .bbhq-ps-group { margin-top: 12px; }
.elementor-widget-woocommerce-product-price .bbhq-ps-label { font-size: 12px; }
.elementor-widget-woocommerce-product-price .price del { opacity: 0.5; }
.elementor-widget-woocommerce-product-price .price ins { text-decoration: none; }
/* === /BBHQ: split price display === *//* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Stack Sans Headline';
	font-display: auto;
	src: url('https://bbhq.legworklabs.com/wp-content/uploads/2026/03/StackSansHeadline-VariableFont_wght.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Stack Sans Text';
	font-display: auto;
	src: url('https://bbhq.legworklabs.com/wp-content/uploads/2026/03/StackSansText-VariableFont_wght.ttf') format('truetype');
}
/* End Custom Fonts CSS */