/*
Theme Name: Divi Child
Theme URI: http://example.com
Description: Child theme for Divi
Author: Harrison Turner
Template: Divi
Version: 1.0
*/

/* =========================================================
   Henrich / Predision Child Theme CSS
   Cleaned structure:
   1. Imports + design tokens
   2. Base typography
   3. Reusable utilities
   4. Divi-safe button classes
   5. Header
   6. Home page sections
   7. Product showcase
   8. Product sidebar
   9. Video Modules
   10. Featured slider
   11. Footer
   12. Responsive adjustments
========================================================= */


/* =========================================================
   Site typography — Alibaba PuHuiTi 2.0 restored (Jul 17 QA batch).
   Font files live in the PARENT theme: /wp-content/themes/Divi/fonts/
   (verified present on staging — earlier 404s were from the child
   theme path). URLs below are relative to divi-child/style.css.
========================================================= */

@font-face {
  font-family: "Alibaba PuHuiTi 2.0";
  src: url("../Divi/fonts/Alibaba_PuHuiTi_2.0_35_Thin_35_Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Alibaba PuHuiTi 2.0";
  src: url("../Divi/fonts/Alibaba_PuHuiTi_2.0_45_Light_45_Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Alibaba PuHuiTi 2.0";
  src: url("../Divi/fonts/Alibaba_PuHuiTi_2.0_55_Regular_55_Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Alibaba PuHuiTi 2.0";
  src: url("../Divi/fonts/Alibaba_PuHuiTi_2.0_65_Medium_65_Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Alibaba PuHuiTi 2.0";
  src: url("../Divi/fonts/Alibaba_PuHuiTi_2.0_75_SemiBold_75_SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Alibaba PuHuiTi 2.0";
  src: url("../Divi/fonts/Alibaba_PuHuiTi_2.0_55_Regular_85_Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Alibaba PuHuiTi 2.0";
  src: url("../Divi/fonts/Alibaba_PuHuiTi_2.0_95_ExtraBold_95_ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Alibaba PuHuiTi 2.0";
  src: url("../Divi/fonts/Alibaba_PuHuiTi_2.0_105_Heavy_105_Heavy.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Alibaba PuHuiTi 2.0";
  src: url("../Divi/fonts/Alibaba_PuHuiTi_2.0_115_Black_115_Black.ttf") format("truetype");
  font-weight: 950;
  font-style: normal;
  font-display: swap;
}

/* Alias family — a few legacy rules use 'Alibaba PuHuiTi' (no "2.0") */
@font-face {
  font-family: "Alibaba PuHuiTi";
  src: url("../Divi/fonts/Alibaba_PuHuiTi_2.0_55_Regular_55_Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Alibaba PuHuiTi";
  src: url("../Divi/fonts/Alibaba_PuHuiTi_2.0_75_SemiBold_75_SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Alibaba PuHuiTi";
  src: url("../Divi/fonts/Alibaba_PuHuiTi_2.0_55_Regular_85_Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-primary: "Alibaba PuHuiTi 2.0", "Alibaba PuHuiTi", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --he-blue-dark: #003d88;
  --he-blue: #155791;
  --he-orange: #ff642a;
  --he-orange-muted: #cb6430;
  --he-black: #000000;
  --he-white: #ffffff;
  --he-light: #f5f7fa;
  --he-border: #d9dde3;
}

html,
body,
input,
textarea,
select,
button,
.et_pb_module:not(.et_pb_blurb),
.et_pb_text,
.et_pb_button,
.et_pb_menu,
.et_pb_slide,
.et_pb_slider,
.et_pb_post,
.et_pb_blog,
.et_pb_welcome,
.et_pb_contact_form,
.et_pb_search,
.et_pb_tabs,
.et_pb_accordion,
.et_pb_toggle,
.et_pb_countdown_timer,
.et_pb_number_counter,
.et_pb_circle_counter,
.et_pb_testimonial,
.et_pb_team_member,
.et_pb_pricing_table,
.et_pb_cta,
.et_pb_signup,
.et_pb_login,
.et_pb_filterable_portfolio,
.et_pb_fullwidth_menu,
.et_pb_fullwidth_header,
.et_pb_fullwidth_portfolio,
.et_pb_fullwidth_post_slider,
.et_pb_fullwidth_post_title,
.et_pb_gallery,
.et_pb_map,
.et_pb_audio,
.et_pb_video_slider,
.et_pb_social_media_follow,
.et_pb_code,
.et_pb_divider,
.et_pb_image,
.et_pb_shop,
.et_pb_wc_cart_totals,
.et_pb_wc_checkout_billing,
.et_pb_wc_checkout_shipping,
.et_pb_wc_checkout_payment,
.et_pb_wc_checkout_order_details,
.et_mobile_menu,
.mobile_menu_bar,
#et-top-navigation,
#top-menu,
#et-info,
#main-header,
#main-footer,
#sidebar,
.product-sidebar,
.henrich-category-header,
.henrich-category-copy,
.henrich-category-grid,
.henrich-product-list,
.henrich-product-row,
.henrich-product-list-head,
.product-summary-inner,
.product-buy-box,
.product-description-card,
#product-summary,
.single-product-summary-module,
.single-product-summary-module .et_pb_code_inner {
  font-family: var(--font-primary) !important;
}

body {
  font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-primary) !important;
}

strong,
b {
  font-weight: 700;
}

/* Blurb labels + header text (keep ETmodules on icons) */
.et_pb_blurb .et_pb_module_header,
.et_pb_blurb .et_pb_blurb_description,
.henrich-header,
.henrich-header .et-menu > li > a,
.henrich-header input.et_pb_s {
  font-family: var(--font-primary) !important;
}

.henrich-header .et-pb-icon,
.et_pb_blurb_0_tb_header .et-pb-icon,
.et_pb_blurb_2_tb_header .et-pb-icon,
.et_pb_main_blurb_image .et-pb-icon:not(.henrich-fa-icon),
.et_pb_main_blurb_image span[class*="et-pb"],
.et-menu .et-pb-icon {
  font-family: ETmodules !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1 !important;
  speak: never;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* WhatsApp, Login, Notifications use Font Awesome codepoints in Divi blurbs */
.henrich-header .et_pb_blurb_1_tb_header .et-pb-icon,
.henrich-header .henrich-nav-phone .et-pb-icon,
.henrich-header .henrich-nav-notifications .et-pb-icon {
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", FontAwesome !important;
  font-weight: 900 !important;
  font-style: normal !important;
}

.henrich-header .et_pb_main_blurb_image img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: 22px !important;
  max-height: 22px !important;
  width: auto !important;
  height: auto !important;
}

/* =========================================================
   3. Reusable Utilities
========================================================= */

.home-section {
  padding: 60px 0;
}

.home-section-tight {
  padding: 35px 0;
}

.henrich-divider {
  border-top: 1px solid var(--he-orange);
  margin: 32px 0;
}

.custom-divider {
  margin: 0 !important;
  padding: 0 !important;
  height: 1px !important;
}

.custom-divider .et_pb_divider_internal {
  padding: 0 !important;
}

.custom-divider::before,
.custom-divider:before {
  margin: 0 !important;
}

.divider-heading,
.divider-heading.et_pb_module {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
}

.divider-heading h1,
.divider-heading h2,
.divider-heading h3,
.divider-heading p {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.breadcrumbs {
  font-size: 13px;
  color: #777777;
  margin-bottom: 10px;
}

.breadcrumbs a {
  color: #777777;
  text-decoration: none;
}

.breadcrumbs a:hover {
  color: var(--he-orange);
}


/* =========================================================
   4. Divi-Safe Button Classes
   These only apply when the class is added manually.
========================================================= */

.he-button-blue,
.he-button-blue.et_pb_button {
  display: inline-block !important;
  background-color: var(--he-blue-dark) !important;
  color: var(--he-white) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 14px 28px !important;
  border-radius: 3px !important;
  border: none !important;
  text-align: center !important;
  text-decoration: none !important;
  line-height: 1.2em !important;
  min-width: 160px !important;
  transition: background-color 0.25s ease, color 0.25s ease !important;
  transform: none !important;
}

.he-button-blue:hover,
.he-button-blue.et_pb_button:hover {
  background-color: var(--he-orange) !important;
  color: var(--he-white) !important;
  padding: 14px 28px !important;
  transform: none !important;
}

.he-button-footer,
.he-button-footer.et_pb_button,
.site-footer-custom .he-button-footer {
  display: inline-block !important;
  background: transparent !important;
  color: var(--he-white) !important;
  border: 2px solid var(--he-white) !important;
  border-radius: 5px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 12px 24px !important;
  min-width: 160px !important;
  text-align: center !important;
  text-decoration: none !important;
  line-height: 1.2em !important;
  transition: background-color 0.25s ease, border-color 0.25s ease !important;
  transform: none !important;
}

.he-button-footer:hover,
.he-button-footer.et_pb_button:hover,
.site-footer-custom .he-button-footer:hover {
  background: var(--he-orange) !important;
  border-color: var(--he-orange) !important;
  color: var(--he-white) !important;
  padding: 12px 24px !important;
  transform: none !important;
}

.he-button-blue:before,
.he-button-blue:after,
.he-button-footer:before,
.he-button-footer:after {
  display: none !important;
}

/* =========================================================
   5. Header - Fresh Build
========================================================= */

/* Header wrapper */
.henrich-header {
  --column-gap: 0px;
  --row-gap: 0px;
  --horizontal-gap: 0px;
  --vertical-gap: 0px;
  --module-gutter: 0px;

  overflow: visible !important;
  z-index: 9999 !important;
}

.henrich-header.et_pb_section {
  /*padding: 12px 2em 10px !important;*/
  height: auto !important;
  overflow: visible !important;
}

/* Shared rows */
.henrich-header .et_pb_row {
  width: 100% !important;
  max-width: 1680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  overflow: visible !important;
}

/*.henrich-logo-col {
  width: 300px !important;
}*/

.henrich-logo-col img {
  max-width: 200px !important;
  height: auto !important;
}

/*.henrich-search-col {
    width: 400px !important;
    max-width: 400px !important;
    min-width: 320px !important;
    margin-right: 0 !important;
  }*/

.henrich-search-col .et_pb_search {
  margin-bottom: 0 !important;
}

.henrich-utility-col {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

.henrich-utility-col:last-child {
  margin-right: 0 !important;
}

/* Bottom row */
.henrich-header-nav {
  align-items: center !important;
}

/* Main menu */
.henrich-main-menu {
  width: auto !important;
  overflow: visible !important;
}

.henrich-main-menu .et_pb_menu,
.henrich-main-menu .et_pb_menu_inner_container,
.henrich-main-menu .et_pb_menu__wrap,
.henrich-main-menu .et-menu-nav,
.henrich-main-menu .et-menu {
  overflow: visible !important;
}

.henrich-main-menu .et_pb_menu_inner_container,
.henrich-main-menu .et_pb_menu__wrap {
  display: flex !important;
  align-items: center !important;
 /*  width: 100% !important; */
  min-height: auto !important;
}

.henrich-main-menu .et-menu {
  display: flex !important;
  align-items: center !important;
  width: auto !important;
}

.henrich-main-menu .et-menu > li > a {
  font-size: 16px !important;
  font-weight: 400 !important;
  /*line-height: 1 !important;*/
  padding: 0 !important;
}

/* Dropdown arrows */
.henrich-main-menu .et-menu .menu-item-has-children > a:first-child {
  padding-right: 22px !important;
  position: relative !important;
}

.henrich-main-menu .et-menu .menu-item-has-children > a:first-child:after {
  margin-left: 8px !important;
  position: absolute !important;
  right: 0 !important;
}

/* Dropdown menus */
.henrich-main-menu .sub-menu {
  z-index: 99999 !important;
}

/* =========================================================
   STANDARD DROPDOWNS — CLEAN SPACING
========================================================= */

@media only screen and (min-width: 981px) {

  .henrich-main-menu .et-menu > li:not(.products-mega-menu) > ul.sub-menu {
    padding: 10px 0 !important;
    border-top: 3px solid var(--he-orange) !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
    min-width: 240px !important;
    width: max-content !important;
    max-width: min(420px, calc(100vw - 48px)) !important;
  }

  .henrich-main-menu .et-menu > li:not(.products-mega-menu) > ul.sub-menu li a {
    white-space: nowrap !important;
  }

  /* WC #2: match Mega Menu orange hover on non-mega dropdown links only */
  .henrich-main-menu .et-menu > li:not(.products-mega-menu) > ul.sub-menu li a:hover,
  .henrich-main-menu .et-menu > li:not(.products-mega-menu) > ul.sub-menu li a:focus {
    background: var(--he-orange, #ff642a) !important;
    color: var(--he-white, #ffffff) !important;
  }

}

/* =========================================================
   STANDARD DROPDOWNS — HOVER BRIDGE FIX
========================================================= */

@media only screen and (min-width: 981px) {

  .henrich-main-menu .et-menu > li:not(.products-mega-menu) {
    position: relative !important;
  }

  .henrich-main-menu .et-menu > li:not(.products-mega-menu) > ul.sub-menu::before {
    content: "";
    position: absolute;
    top: -24px;
    left: 0;
    width: 100%;
    height: 24px;
    background: transparent;
  }

}

/* =========================================================
   Products Mega Menu — inner content styling only
   (Desktop panel layout/position lives in v3.4 block at bottom)
========================================================= */

/*.henrich-main-menu .products-mega-menu > .sub-menu {
  display: grid !important;
  grid-template-columns: 220px 420px 340px;
  gap: 24px !important;
  width: 1080px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  padding: 24px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
  border-top: 3px solid var(--he-orange);
  border-radius: 0 0 8px 8px;
}*/

.henrich-main-menu .products-mega-menu > .sub-menu > li {
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
}

.henrich-main-menu .products-mega-menu > .sub-menu > li > a {
  background: #e8e8e8 !important;
  font-weight: 600 !important;
  color: #111 !important;

  padding: 12px 20px !important;
  margin-bottom: 10px !important;
  line-height: 1.25em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  text-align: center !important;
}

/* MVP column title bar — Henrich blue + white text (first preserved column) */
.henrich-main-menu .products-mega-menu > .sub-menu > li:first-child > a {
  background: var(--he-blue-dark, #003d88) !important;
  color: var(--he-white, #ffffff) !important;
}

.henrich-main-menu .products-mega-menu > .sub-menu > li > .sub-menu {
  display: block !important;
  position: static !important;

  visibility: visible !important;
  opacity: 1 !important;

  box-shadow: none !important;
  border: 0 !important;

  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Divi .et-menu li { display:inline-block } — stack dropdown links vertically */
@media only screen and (min-width: 981px) {
  .henrich-main-menu .sub-menu li,
  .henrich-main-menu .sub-menu .sub-menu li {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
}

.henrich-main-menu .products-mega-menu > .sub-menu > li > .sub-menu,
.henrich-main-menu .products-mega-menu .sub-menu .sub-menu {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.henrich-main-menu .products-mega-menu .sub-menu .sub-menu li {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.henrich-main-menu .products-mega-menu .sub-menu .sub-menu li a {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  /* Round 2: tighter L/R inset — text nearer column edge, hover stays in-column */
  padding: 8px 8px !important;
  font-size: 15px !important;
  line-height: 1.3em !important;
  color: #444 !important;
  background: transparent !important;
  text-align: left !important;
}

.henrich-main-menu .products-mega-menu .sub-menu .sub-menu li a:hover,
.henrich-main-menu .products-mega-menu .sub-menu .sub-menu li a:focus {
  background: var(--he-orange, #ff642a) !important;
  color: var(--he-white, #ffffff) !important;
}

/* Hide mega menu dropdown arrows */
.henrich-main-menu 
.products-mega-menu 
> .sub-menu 
> li > a::after {
  display: none !important;
}

/* Utility blurbs: top row + nav row */
.henrich-utility-col .et_pb_blurb,
.henrich-nav-phone .et_pb_blurb,
.henrich-nav-notifications .et_pb_blurb,
.henrich-utility-col .et_pb_blurb_content,
.henrich-nav-phone .et_pb_blurb_content,
.henrich-nav-notifications .et_pb_blurb_content {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: max-content !important;
  max-width: none !important;
  margin-bottom: 0 !important;
  white-space: nowrap !important;
}

.henrich-utility-col .et_pb_main_blurb_image,
.henrich-nav-phone .et_pb_main_blurb_image,
.henrich-nav-notifications .et_pb_main_blurb_image {
  display: inline-flex !important;
  margin: 0 !important;
  width: auto !important;
  min-width: 18px !important;
  flex: 0 0 auto !important;
}

.henrich-utility-col .et_pb_blurb_container,
.henrich-nav-phone .et_pb_blurb_container,
.henrich-nav-notifications .et_pb_blurb_container {
  display: inline-flex !important;
  width: auto !important;
  flex: 0 0 auto !important;
}

.henrich-utility-col .et_pb_module_header,
.henrich-nav-phone .et_pb_module_header,
.henrich-nav-notifications .et_pb_module_header {
  padding: 0 !important;
  white-space: nowrap !important;
  font-size: 16px !important;
  line-height: 1.2em !important;
}

/* Bottom nav utility modules */
.henrich-nav-phone,
.henrich-nav-notifications {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: max-content !important;
}

/* =========================================================
   PRODUCTS MEGA MENU — CLEAN DESKTOP RESPONSIVE VERSION
========================================================= */

/* @media only screen and (min-width: 981px) {

  .henrich-main-menu .products-mega-menu > .sub-menu {
    position: fixed !important;
    top: 172px !important;
    left: 50vw !important;
    right: auto !important;

    width: min(1080px, calc(100vw - 80px)) !important;
    max-width: calc(100vw - 80px) !important;

    display: grid !important;
    grid-template-columns: 220px 420px 340px !important;
    gap: 24px !important;

    padding: 28px !important;
    box-sizing: border-box !important;

    background: #fff !important;
    border-top: 3px solid var(--he-orange) !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    transform: translateX(-50%) translateY(12px) !important;

    transition:
      opacity 0.18s ease,
      transform 0.18s ease,
      visibility 0.18s ease !important;

    z-index: 999999 !important;
  }

  .henrich-main-menu .products-mega-menu:hover > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(-50%) translateY(0) !important;
  }

@media only screen and (min-width: 981px) {
  .henrich-main-menu .products-mega-menu > .sub-menu::before {
    content: "";
    position: absolute;
    top: -12px;
    left: 0;
    width: 100%;
    height: 12px;
    background: transparent;
  }
}*/

/* @media only screen and (min-width: 981px) and (max-width: 1400px) {

  .henrich-main-menu .products-mega-menu > .sub-menu {
    grid-template-columns: 200px 1fr 280px !important;
  }

}

@media only screen and (min-width: 981px) and (max-width: 1200px) {

  .henrich-main-menu .products-mega-menu > .sub-menu {
    grid-template-columns: minmax(160px, 1fr) minmax(200px, 1fr) minmax(160px, 1fr) !important;
  }

} */

/* =========================================================
   HENRICH MOBILE HEADER — CLEAN BUILD
   Phone + small laptop (≤1366). Matches desktop↔mobile header switch breakpoint.
========================================================= */

@media only screen and (max-width: 1366px) {

  .henrich-mobile-header.et_pb_section {
    display: block !important;
    padding: 10px 14px !important;
    background: #fff !important;
    z-index: 99999 !important;
  }

  .henrich-mobile-header-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* Icon modules may live inside Divi columns — size the column wrappers */
  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-logo) {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 42% !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    order: 1 !important;
  }

  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-cart) {
    flex: 0 0 26px !important;
    width: auto !important;
    min-width: 26px !important;
    max-width: none !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    order: 2 !important;
  }

  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-account) {
    flex: 0 0 26px !important;
    width: auto !important;
    min-width: 26px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    order: 3 !important;
  }

  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-notifications) {
    flex: 0 0 26px !important;
    width: auto !important;
    min-width: 26px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    order: 4 !important;
  }

  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-search) {
    flex: 0 0 26px !important;
    width: auto !important;
    min-width: 26px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    order: 5 !important;
  }

  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-menu) {
    flex: 0 0 26px !important;
    width: auto !important;
    min-width: 26px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    order: 6 !important;
  }

  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-logo) {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-cart),
  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-account),
  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-notifications),
  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-search),
  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-menu) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .henrich-mobile-logo {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    order: 1 !important;
    align-self: center !important;
  }

  .henrich-mobile-logo.et_pb_image,
  .henrich-mobile-logo .et_pb_image_wrap,
  .henrich-mobile-logo span.et_pb_image_wrap {
    padding: 0 !important;
    margin: 0 !important;
    line-height: 0 !important;
  }

  .henrich-mobile-logo img {
    max-width: 118px !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .henrich-mobile-cart {
    order: 2 !important;
  }

  .henrich-mobile-account {
    order: 3 !important;
  }

  .henrich-mobile-notifications {
    order: 4 !important;
  }

  .henrich-mobile-search {
    order: 5 !important;
  }

  .henrich-mobile-menu {
    order: 6 !important;
  }

  .henrich-mobile-cart,
  .henrich-mobile-account,
  .henrich-mobile-notifications,
  .henrich-mobile-search,
  .henrich-mobile-menu {
    flex: 0 0 26px !important;
    width: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  .henrich-mobile-header .et_pb_blurb,
  .henrich-mobile-header .et_pb_blurb_content {
    margin: 0 !important;
    width: auto !important;
    max-width: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .henrich-mobile-header .et_pb_main_blurb_image {
    margin: 0 !important;
  }

  .henrich-mobile-header .et_pb_blurb_container,
  .henrich-mobile-header .et_pb_module_header {
    display: none !important;
  }

  /* Cart uses Divi ETmodules icon */
  .henrich-mobile-header .henrich-mobile-cart .et-pb-icon {
    font-family: ETmodules !important;
    font-size: 22px !important;
    color: var(--he-orange) !important;
    line-height: 1 !important;
  }

  /* Account + notifications use Font Awesome glyphs */
  .henrich-mobile-header .henrich-mobile-account .et-pb-icon,
  .henrich-mobile-header .henrich-mobile-notifications .et-pb-icon,
  .henrich-mobile-header .henrich-mobile-icon-link .et-pb-icon {
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", FontAwesome !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 20px !important;
    color: var(--he-orange) !important;
    line-height: 1 !important;
  }

  .henrich-mobile-menu .mobile_menu_bar {
    width: 26px !important;
    height: 26px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .henrich-mobile-menu .mobile_menu_bar:before {
    font-size: 30px !important;
    color: var(--he-orange) !important;
  }

  /* Divi only swaps to hamburger at ≤980 — force hamburger chrome through 1366 */
  .henrich-mobile-menu .et_pb_menu__menu,
  .henrich-mobile-menu .et-menu-nav,
  .henrich-mobile-menu .et-menu {
    display: none !important;
    visibility: hidden !important;
  }

  .henrich-mobile-menu .et_mobile_nav_menu,
  .henrich-mobile-menu .mobile_nav {
    display: flex !important;
    visibility: visible !important;
    float: none !important;
    margin: 0 !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .henrich-mobile-menu .et_mobile_menu li a {
    padding: 13px 18px !important;
    font-size: 16px !important;
    line-height: 1.35em !important;
    color: #111 !important;
    border-bottom: 1px solid rgba(0,0,0,.08) !important;
  }

}

/* =========================================================
   HENRICH MOBILE HEADER — SEARCH + MENU DROPDOWN
========================================================= */

@media only screen and (max-width: 1366px) {

  /* Single search icon — hide form + duplicate pseudo icons */
  .henrich-mobile-search {
    position: relative !important;
    width: 26px !important;
    height: 26px !important;
    max-width: 26px !important;
    min-width: 26px !important;
    overflow: visible !important;
    cursor: pointer !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    outline: none !important;
  }

  .henrich-mobile-search.et_pb_search,
  .henrich-mobile-header .henrich-mobile-search {
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
  }

  .henrich-mobile-search .et_pb_searchform,
  .henrich-mobile-search input.et_pb_s,
  .henrich-mobile-search input.et_pb_searchsubmit,
  .henrich-mobile-search .et_pb_search,
  .henrich-mobile-search .henrich-mobile-search-trigger {
    display: none !important;
  }

  .henrich-mobile-search::before {
    content: "\55" !important;
    font-family: ETmodules !important;
    font-size: 22px !important;
    color: var(--he-orange) !important;
    line-height: 26px !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 26px !important;
    height: 26px !important;
    text-align: center !important;
    pointer-events: none !important;
  }

  .henrich-mobile-search::after {
    display: none !important;
    content: none !important;
  }

  .henrich-mobile-search .et_pb_search::before,
  .henrich-mobile-search .et_pb_search::after {
    display: none !important;
    content: none !important;
  }

  /* Make the mobile menu dropdown full-width and centered */
  .henrich-mobile-menu .et_mobile_menu {
    position: fixed !important;
    top: 46px !important;
    left: 14px !important;
    right: 14px !important;
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    background: #fff !important;
    border-top: 3px solid var(--he-orange) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
    z-index: 999999 !important;
  }

  .henrich-mobile-menu .et_mobile_menu li,
  .henrich-mobile-menu .et_mobile_menu li a {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-align: left !important;
  }

  .henrich-mobile-menu .et_mobile_menu li a {
    padding: 14px 18px !important;
    font-size: 16px !important;
    line-height: 1.35em !important;
  }

}

/* =========================================================
   HENRICH MOBILE HEADER — LOGO + MENU SCROLL FIX
========================================================= */

@media only screen and (max-width: 1366px) {

  .henrich-mobile-menu .et_mobile_menu {
    max-height: calc(100dvh - 110px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
  }

}

/* =========================================================
   HENRICH MOBILE HEADER — SEARCH OVERLAY + FALLBACK LINKS
========================================================= */

@media only screen and (max-width: 1366px) {

  .henrich-mobile-icon-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    text-decoration: none !important;
    color: var(--he-orange) !important;
  }

  .henrich-mobile-search-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999999 !important;
    display: none !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 88px 16px 16px !important;
    background: rgba(0, 0, 0, 0.45) !important;
  }

  .henrich-mobile-search-overlay.is-open {
    display: flex !important;
  }

  .henrich-mobile-search-overlay-inner {
    position: relative !important;
    width: min(100%, 520px) !important;
    background: #fff !important;
    border-radius: 12px !important;
    padding: 18px 16px 16px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
  }

  .henrich-mobile-search-close {
    position: absolute !important;
    top: 6px !important;
    right: 8px !important;
    width: 32px !important;
    height: 32px !important;
    border: 0 !important;
    background: transparent !important;
    color: #666 !important;
    font-size: 28px !important;
    line-height: 1 !important;
    cursor: pointer !important;
  }

  .henrich-mobile-search-overlay .et_pb_searchform,
  .henrich-mobile-search-overlay form {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .henrich-mobile-search-overlay input.et_pb_s,
  .henrich-mobile-search-overlay input[type="search"],
  .henrich-mobile-search-overlay input[name="s"] {
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    margin: 0 0 10px 0 !important;
    padding: 0 14px !important;
    border: 1px solid #d4d4d4 !important;
    border-radius: 999px !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
  }

  .henrich-mobile-search-overlay input.et_pb_searchsubmit,
  .henrich-mobile-search-overlay button[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--he-orange) !important;
    color: #fff !important;
    font-size: 15px !important;
    cursor: pointer !important;
  }

}

/* =========================================================
   HENRICH MOBILE MENU — SUBMENU ACCORDION TOGGLES
========================================================= */

@media only screen and (max-width: 1366px) {

  /* Accordion — all submenus closed unless toggled open */
  .henrich-mobile-menu .et_mobile_menu .menu-item-has-children > .sub-menu {
    display: none !important;
    position: static !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
    background: #fff !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .henrich-mobile-menu .et_mobile_menu .menu-item-has-children.henrich-submenu-open > .sub-menu {
    display: block !important;
  }

  .henrich-mobile-menu .et_mobile_menu .menu-item-has-children {
    position: relative !important;
  }

  .henrich-mobile-menu .et_mobile_menu .henrich-submenu-toggle {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 48px !important;
    height: 48px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--he-orange) !important;
    font-size: 24px !important;
    line-height: 48px !important;
    cursor: pointer !important;
    z-index: 5 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: auto !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .henrich-mobile-menu .et_mobile_menu .henrich-submenu-toggle::before {
    content: "+" !important;
  }

  .henrich-mobile-menu .et_mobile_menu .menu-item-has-children.henrich-submenu-open > .henrich-submenu-toggle::before {
    content: "–" !important;
  }

  .henrich-mobile-menu .et_mobile_menu .menu-item-has-children > a {
    padding-right: 52px !important;
    display: flex !important;
    align-items: center !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
  }

  .henrich-mobile-menu .et_mobile_menu .menu-item-has-children.henrich-submenu-open > a {
    color: var(--he-orange) !important;
    font-weight: 700 !important;
    border-bottom: 3px solid var(--he-orange) !important;
  }

  .henrich-mobile-menu .et_mobile_menu .menu-item-has-children > a::after {
    display: none !important;
  }

  /* Products mega menu — stack columns vertically when open */
  .henrich-mobile-menu .et_mobile_menu .products-mega-menu.henrich-submenu-open > .sub-menu {
    display: block !important;
    padding: 0 0 8px !important;
  }

  .henrich-mobile-menu .et_mobile_menu .products-mega-menu > .sub-menu > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .henrich-mobile-menu .et_mobile_menu .products-mega-menu > .sub-menu > li > a {
    background: #f0f0f0 !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    color: #111 !important;
    padding: 12px 52px 12px 18px !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  }

  .henrich-mobile-menu .et_mobile_menu .products-mega-menu .sub-menu .sub-menu {
    padding: 0 !important;
    margin: 0 !important;
  }

  .henrich-mobile-menu .et_mobile_menu .products-mega-menu .sub-menu .sub-menu li a {
    padding: 10px 18px 10px 28px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #444 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
  }

  .henrich-mobile-menu .et_mobile_menu .products-mega-menu .sub-menu .sub-menu li:last-child a {
    border-bottom: none !important;
  }

  /* Standard dropdown sub-links (Solutions, etc.) */
  .henrich-mobile-menu .et_mobile_menu .menu-item-has-children:not(.products-mega-menu) .sub-menu li a {
    padding: 12px 18px 12px 28px !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #444 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  }

  .henrich-mobile-menu .et_mobile_menu .menu-item-has-children:not(.products-mega-menu) .sub-menu li:last-child a {
    border-bottom: none !important;
  }

  /* Suppress Divi native mobile dropdown — accordion owns open state */
  .henrich-mobile-menu .et_mobile_menu .products-mega-menu:not(.henrich-submenu-open).visible > .sub-menu,
  .henrich-mobile-menu .et_mobile_menu .products-mega-menu:not(.henrich-submenu-open).et-show-dropdown > .sub-menu,
  .henrich-mobile-menu .et_mobile_menu .products-mega-menu:not(.henrich-submenu-open):hover > .sub-menu {
    display: none !important;
  }

}

/* =========================================================
   PRODUCT SIDEBAR — MOBILE DRAWER + ACCORDION
   /products/ and category pages
   Note: Divi may store module classes with a leading dot
   (e.g. ".product-sidebar-title") — use [class*="..."] selectors.
========================================================= */

/* /products/ only — free full width for category grids before phone breakpoint */
@media only screen and (max-width: 1280px) {
  body.page-id-76.henrich-has-product-sidebar .product-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    z-index: 100200 !important;
    width: min(320px, 88vw) !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    transform: translateX(-110%) !important;
    pointer-events: none !important;
  }

  body.page-id-76.henrich-has-product-sidebar .product-sidebar.henrich-sidebar-mobile-open {
    transform: translateX(0) !important;
    pointer-events: auto !important;
  }

  body.page-id-76.henrich-has-product-sidebar #main-content .et_pb_row:not(.et_pb_row_nested) > .product-sidebar {
    flex: 0 0 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  body.page-id-76.henrich-has-product-sidebar #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column:not(.product-sidebar) {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.page-id-76.henrich-has-product-sidebar .henrich-sidebar-mobile-toggle {
    position: fixed !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 100190 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 14px 12px 10px !important;
    border: none !important;
    border-radius: 0 10px 10px 0 !important;
    background: #00449e !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22) !important;
    pointer-events: auto !important;
    visibility: visible !important;
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease !important;
  }

  /* Hide Products FAB when footer is on screen so it does not cover address copy */
  body.henrich-has-product-sidebar.henrich-footer-in-view:not(.henrich-sidebar-drawer-open) .henrich-sidebar-mobile-toggle {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-50%) translateX(-110%) !important;
  }
}

@media only screen and (max-width: 980px) {

  /* --- Drawer shell + page layout --- */
  body.henrich-has-product-sidebar .product-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    z-index: 100200 !important;
    width: min(320px, 88vw) !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 10px 10px 0 !important;
    transform: translateX(-110%) !important;
    transition: transform 0.28s ease !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    pointer-events: none !important;
    background: #00449e !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28) !important;
    display: flex !important;
    flex-direction: column !important;
    align-self: auto !important;
  }

  body.henrich-has-product-sidebar .product-sidebar.henrich-sidebar-mobile-open {
    transform: translateX(0) !important;
    pointer-events: auto !important;
  }

  body.henrich-has-product-sidebar .product-sidebar.henrich-sidebar-mobile-open * {
    pointer-events: auto !important;
  }

  body.henrich-has-product-sidebar #main-content .et_pb_row:not(.et_pb_row_nested) > .product-sidebar {
    flex: 0 0 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  body.henrich-has-product-sidebar #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column:empty,
  body.henrich-has-product-sidebar #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column.et_pb_column_empty {
    display: none !important;
    flex: 0 0 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body.henrich-has-product-sidebar #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column:not(.product-sidebar) {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.henrich-sidebar-drawer-open {
    overflow: hidden !important;
  }

  body.henrich-sidebar-drawer-open .henrich-sidebar-mobile-toggle {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .henrich-sidebar-mobile-toggle {
    position: fixed !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 100190 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 14px 12px 10px !important;
    border: none !important;
    border-radius: 0 10px 10px 0 !important;
    background: #00449e !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22) !important;
    pointer-events: auto !important;
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease !important;
  }

  body.henrich-has-product-sidebar.henrich-footer-in-view:not(.henrich-sidebar-drawer-open) .henrich-sidebar-mobile-toggle {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-50%) translateX(-110%) !important;
  }

  .henrich-sidebar-mobile-toggle:focus-visible {
    outline: 2px solid #f47c20 !important;
    outline-offset: 2px !important;
  }

  .henrich-sidebar-mobile-toggle-icon {
    font-size: 18px !important;
    line-height: 1 !important;
  }

  .henrich-sidebar-mobile-backdrop {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.45) !important;
    z-index: 100180 !important;
    pointer-events: none !important;
  }

  .henrich-sidebar-mobile-backdrop.is-visible {
    display: block !important;
    pointer-events: auto !important;
  }

  /* --- Drawer header (match desktop "Our Products" bar) --- */
  body.henrich-has-product-sidebar .product-sidebar > .et_pb_module {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.henrich-has-product-sidebar .product-sidebar [class*="product-sidebar-title"],
  body.henrich-has-product-sidebar .product-sidebar > .et_pb_text {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 18px 18px 18px !important;
    background: transparent !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    min-height: 64px !important;
  }

  body.henrich-has-product-sidebar .product-sidebar [class*="product-sidebar-title"].et_pb_module,
  body.henrich-has-product-sidebar .product-sidebar > .et_pb_text.et_pb_module {
    margin-bottom: 0 !important;
  }

  body.henrich-has-product-sidebar .product-sidebar [class*="product-sidebar-title"] .et_pb_module_inner,
  body.henrich-has-product-sidebar .product-sidebar > .et_pb_text .et_pb_module_inner {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  body.henrich-has-product-sidebar .product-sidebar [class*="product-sidebar-title"] .et_pb_text_inner,
  body.henrich-has-product-sidebar .product-sidebar > .et_pb_text .et_pb_text_inner {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
  }

  body.henrich-has-product-sidebar .product-sidebar [class*="product-sidebar-title"] h1,
  body.henrich-has-product-sidebar .product-sidebar [class*="product-sidebar-title"] h2,
  body.henrich-has-product-sidebar .product-sidebar [class*="product-sidebar-title"] h3,
  body.henrich-has-product-sidebar .product-sidebar [class*="product-sidebar-title"] h4,
  body.henrich-has-product-sidebar .product-sidebar [class*="product-sidebar-title"] p,
  body.henrich-has-product-sidebar .product-sidebar > .et_pb_text h1,
  body.henrich-has-product-sidebar .product-sidebar > .et_pb_text h2,
  body.henrich-has-product-sidebar .product-sidebar > .et_pb_text h3,
  body.henrich-has-product-sidebar .product-sidebar > .et_pb_text h4,
  body.henrich-has-product-sidebar .product-sidebar > .et_pb_text p {
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    text-align: left !important;
  }

  body.henrich-has-product-sidebar .henrich-sidebar-drawer-close {
    display: none !important;
    flex: 0 0 auto !important;
    align-self: center !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 2px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 20px !important;
    line-height: 1 !important;
    cursor: pointer !important;
  }

  body.henrich-sidebar-drawer-open .henrich-sidebar-drawer-close {
    display: inline-flex !important;
  }

  /* --- Menu module body (white card, scrollable) --- */
  body.henrich-has-product-sidebar .product-sidebar [class*="product-sidebar-card"],
  body.henrich-has-product-sidebar .product-sidebar .et_pb_menu {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border-radius: 8px 8px 0 0 !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .et_pb_menu {
    padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .et_pb_menu_inner_container,
  body.henrich-has-product-sidebar .product-sidebar .et_pb_menu__wrap {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .et_pb_menu .nav,
  body.henrich-has-product-sidebar .product-sidebar .et_pb_menu nav {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Hide Divi phone hamburger inside the drawer */
  body.henrich-has-product-sidebar .product-sidebar .et_mobile_nav_menu,
  body.henrich-has-product-sidebar .product-sidebar .mobile_menu_bar,
  body.henrich-has-product-sidebar .product-sidebar .mobile_nav,
  body.henrich-has-product-sidebar .product-sidebar .et_mobile_menu {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Keep the primary menu visible (Divi collapses this on phone breakpoints) */
  body.henrich-has-product-sidebar .product-sidebar .et_pb_menu__menu,
  body.henrich-has-product-sidebar .product-sidebar .et-menu-nav,
  body.henrich-has-product-sidebar .product-sidebar .et-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.henrich-has-product-sidebar .product-sidebar #menu-product-categories-side-menu,
  body.henrich-has-product-sidebar .product-sidebar .et-menu {
    margin: 0 !important;
    padding: 12px 14px calc(16px + env(safe-area-inset-bottom, 0px)) 18px !important;
    list-style: none !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .et-menu > li {
    display: block !important;
    width: 100% !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .et-menu > li:last-child {
    margin-bottom: 0 !important;
  }

  /* Accordion submenus */
  body.henrich-has-product-sidebar .product-sidebar .menu-item-has-children > .sub-menu {
    display: none !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .menu-item-has-children.henrich-submenu-open > .sub-menu {
    display: block !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .menu-item-has-children {
    position: relative !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .henrich-sidebar-submenu-toggle {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 44px !important;
    height: 44px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--he-orange) !important;
    font-size: 22px !important;
    line-height: 44px !important;
    cursor: pointer !important;
    z-index: 5 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: auto !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .henrich-sidebar-submenu-toggle::before {
    content: "+" !important;
  }

  body.henrich-has-product-sidebar
    .product-sidebar
    .menu-item-has-children.henrich-submenu-open
    > .henrich-sidebar-submenu-toggle::before {
    content: "–" !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .menu-item-has-children > a {
    padding-right: 48px !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .menu-item-has-children > a::after {
    display: none !important;
  }

  /* Top-level links — compact sizing so full list fits / scrolls cleanly */
  body.henrich-has-product-sidebar .product-sidebar .et-menu > li > a {
    font-family: var(--font-primary) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    min-height: 44px !important;
    padding: 10px 18px 10px 0 !important;
    border-bottom: none !important;
    display: flex !important;
    align-items: center !important;
    color: #111 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .et-menu > li.current-menu-item > a,
  body.henrich-has-product-sidebar .product-sidebar .et-menu > li.current-menu-ancestor > a,
  body.henrich-has-product-sidebar .product-sidebar .sub-menu .current-menu-item > a {
    color: var(--he-orange) !important;
    font-weight: 700 !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .et-menu > li.current-menu-ancestor > a {
    border-bottom: 3px solid var(--he-orange) !important;
    padding-bottom: 8px !important;
    margin-bottom: 2px !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .sub-menu {
    display: none !important;
    position: static !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border-top: none !important;
    box-shadow: none !important;
    background: #fff !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .menu-item-has-children.henrich-submenu-open > .sub-menu {
    display: block !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .sub-menu li {
    display: block !important;
    width: 100% !important;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .sub-menu li:last-child {
    margin-bottom: 0 !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .sub-menu li a {
    font-family: var(--font-primary) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    min-height: 40px !important;
    padding: 8px 18px 8px 0 !important;
    display: flex !important;
    align-items: center !important;
    color: #444 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .sub-menu li a:hover {
    color: var(--he-orange) !important;
    padding-left: 0 !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .sub-menu .current-menu-item > a {
    color: var(--he-orange) !important;
    font-weight: 700 !important;
  }

  body.henrich-has-product-sidebar .product-sidebar .et_pb_menu__menu,
  body.henrich-has-product-sidebar .product-sidebar .et-menu-nav,
  body.henrich-has-product-sidebar .product-sidebar .et-menu,
  body.henrich-has-product-sidebar .product-sidebar .et-menu > li,
  body.henrich-has-product-sidebar .product-sidebar .et-menu > li > a,
  body.henrich-has-product-sidebar .product-sidebar .sub-menu li a {
    text-align: left !important;
    justify-content: flex-start !important;
  }

}

@media only screen and (min-width: 981px) {
  body:not(.page-id-76) .henrich-sidebar-mobile-toggle,
  body:not(.page-id-76) .henrich-sidebar-mobile-backdrop,
  body:not(.page-id-76).henrich-has-product-sidebar .product-sidebar .henrich-sidebar-drawer-close,
  body:not(.page-id-76).henrich-has-product-sidebar .product-sidebar .henrich-sidebar-submenu-toggle {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media only screen and (min-width: 1281px) {
  body.page-id-76 .henrich-sidebar-mobile-toggle,
  body.page-id-76 .henrich-sidebar-mobile-backdrop,
  body.page-id-76.henrich-has-product-sidebar .product-sidebar .henrich-sidebar-drawer-close,
  body.page-id-76.henrich-has-product-sidebar .product-sidebar .henrich-sidebar-submenu-toggle {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}


/* Responsive column adjustments — handled in v3.5 block at bottom of style.css */
/* @media only screen and (min-width: 981px) and (max-width: 1400px) {

  .henrich-main-menu .products-mega-menu > .sub-menu {
    grid-template-columns: minmax(180px, 200px) minmax(280px, 1fr) minmax(240px, 280px) !important;
    gap: 20px !important;
  }

}

@media only screen and (min-width: 981px) and (max-width: 1200px) {

  .henrich-main-menu .products-mega-menu > .sub-menu {
    grid-template-columns: minmax(160px, 1fr) minmax(200px, 1fr) minmax(160px, 1fr) !important;
  }

} */

/* =========================================================
   Account Page Content
========================================================= */

/* Account user header — avatar / name / email / Logout button */
.account-user-header {
  text-align: center;
  margin-bottom: 28px;
}

.account-user-avatar {
  width: 145px;
  height: 145px;
  margin: 0 auto 14px;
  border-radius: 50%;
  overflow: hidden;
  background: #e8e8e8;
  display: flex;
  align-items: center;
  justify-content: center;
}

.account-user-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.account-user-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.account-user-name,
#account-user-name {
  font-size: 24px;
  font-weight: 700;
  color: #111;
  line-height: 1.2;
  white-space: nowrap; /* WC #4: keep first + last name on one line (desktop/tablet) */
}

/* WC #4 follow-up: allow name to wrap on mobile if needed */
@media (max-width: 767px) {
  .account-user-name,
  #account-user-name {
    white-space: normal;
  }
}

.account-user-email {
  font-size: 16px;
  font-weight: 400;
  color: #555;
  margin-top: 6px;
  line-height: 1.25;
}

/* Legacy inline name+Logout row (hidden divider if old markup still present) */
.account-user-name-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 24px;
  font-weight: 700;
  color: #111;
  line-height: 1.2;
}

.account-divider {
  display: none;
}

.account-logout-link.account-logout-button,
a.account-logout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 16px;
  padding: 8px 18px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--he-orange, #ff642a);
  background: transparent;
  border: 1.5px solid var(--he-orange, #ff642a);
  border-radius: 6px;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.account-logout-link.account-logout-button:hover,
.account-logout-link.account-logout-button:focus,
a.account-logout-button:hover,
a.account-logout-button:focus {
  color: var(--he-white, #ffffff);
  background: var(--he-orange, #ff642a);
  border-color: var(--he-orange, #ff642a);
  text-decoration: none;
}

.account-dashboard-card {
  display: block;
  height: 100%;
  background: #fff;
  border-radius: 14px;
  padding: 26px 24px;
  text-decoration: none;
  color: #111;
  box-shadow: 0 3px 14px rgba(0,0,0,0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  border: 1px solid #eee;
}

.account-dashboard-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 22px rgba(0,0,0,0.16);
  border-color: #f47c20;
}

.account-card-icon {
  font-size: 34px;
  line-height: 1;
  margin-bottom: 16px;
}

.account-dashboard-card h3 {
  font-size: 20px;
  line-height: 1.25;
  margin: 0 0 10px;
  color: #00458f;
}

.account-dashboard-card p {
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
  color: #333;
}

.account-dashboard-card:hover h3 {
  color: #f47c20;
}

.account-card-image {
  width: 64px;
  height: 64px;
  margin-bottom: 16px;
}

.account-card-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.account-dashboard-card {
  display: flex;
  align-items: center;
  gap: 18px;
  width: 100%;
  min-height: 92px;
  background: #fff;
  border: 1px solid #cfcfcf;
  border-radius: 8px;
  padding: 14px 18px;
  text-decoration: none;
  color: #111;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.account-dashboard-card:hover {
  border-color: #f47c20;
  box-shadow: 0 4px 14px rgba(0,0,0,0.14);
  transform: translateY(-2px);
}

.account-card-image {
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  overflow: hidden;
}

.account-card-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.account-card-text {
  flex: 1;
}

.account-card-text h3 {
  font-size: 22px;
  line-height: 1.15;
  margin: 0 0 4px;
  color: #111;
  font-weight: 700;
}

.account-card-text p {
  font-size: 12px;
  line-height: 1.35;
  margin: 0;
  color: #111;
}

.account-dashboard-card:hover h3 {
  color: #f47c20;
}

/* =========================================================
   6. Home Page Sections
========================================================= */

/* Higher specificity than Divi `.et_pb_section_0` — never use `background:` shorthand */
.home-hero.et_pb_section {
  background-color: #f3f3f3;
  border-bottom: 4px solid var(--he-blue-dark);
  background-size: cover !important;
  background-position: center right !important;
  background-repeat: no-repeat !important;
}

.home-hero h1 {
  color: var(--he-black);
  font-weight: 800;
  line-height: 1.05;
  max-width: 520px;
}

.home-hero p,
.home-hero h4 {
  color: var(--he-black);
  max-width: 560px;
  font-size: 17px;
}

.home-category-nav {
  background: var(--he-white);
  border-bottom: 1px solid var(--he-border);
}

.home-category-nav a {
  color: var(--he-black);
  font-weight: 700;
  text-decoration: none;
}

.home-category-nav a:hover {
  color: var(--he-orange);
}

.home-category-nav .et_pb_column:not(:last-child) {
  border-right: 2px solid var(--he-orange);
}

.home-solution-card {
  background: var(--he-white);
  border: 1px solid var(--he-border);
  box-shadow: 0 8px 22px rgba(0,0,0,0.08);
  padding: 32px;
}

.home-solution-card h2,
.home-solution-card h3 {
  color: var(--he-blue-dark);
  font-weight: 800;
}

.home-solution-card ul {
  margin-bottom: 24px;
}

.home-solution-card li {
  margin-bottom: 4px;
}

.home-button,
.home-solution-card .et_pb_button {
  background: var(--he-black);
  color: var(--he-white) !important;
  border: none;
  padding: 10px 22px;
  font-weight: 700;
}

.home-button:hover,
.home-solution-card .et_pb_button:hover {
  background: var(--he-orange);
  color: var(--he-white) !important;
}

.home-orange-divider {
  border-left: 2px solid var(--he-orange);
  min-height: 100%;
}

.why-henrich-title {
  color: var(--he-blue-dark);
  border-bottom: 3px solid var(--he-orange);
  display: inline-block;
  padding-bottom: 4px;
  font-weight: 800;
}

.why-card {
  background: var(--he-white);
  border: 1px solid var(--he-border);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
  padding: 22px 12px;
  text-align: center;
}

.why-card h3,
.why-card p {
  color: var(--he-blue-dark);
  font-weight: 700;
}

/* =========================================================
   Why Henrich — video + 5 stat items (homepage)
   Desired layout: video left | 3-col grid with orange bars right
   Assign classes in Divi → Advanced → CSS Class Name
========================================================= */

.why-henrich-section {
  --why-henrich-gap-x: clamp(20px, 3vw, 40px);
  --why-henrich-gap-y: clamp(18px, 2.5vw, 32px);
  --why-henrich-bar-width: 4px;
  --why-henrich-stack-gap: clamp(24px, 5vw, 36px);
  padding-top: clamp(20px, 3vw, 40px) !important;
  padding-bottom: var(--why-henrich-stack-gap) !important;
}

.why-henrich-section .et_pb_row.why-henrich-row {
  width: min(100%, 1280px);
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(16px, 3vw, 32px) !important;
  padding-right: clamp(16px, 3vw, 32px) !important;
  gap: var(--why-henrich-gap-x);
  align-items: stretch !important;
}

.why-henrich-row > .why-henrich-video-col,
.why-henrich-row > .et_pb_column.why-henrich-video-col {
  flex: 0 0 40% !important;
  max-width: 40% !important;
  width: 40% !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
}

/*
 * Grid container = the ONE parent column to the right of the video (Divi column_6).
 * Do NOT put why-henrich-cards-col on each of the 5 inner columns — only here.
 * Fallback: any non-video direct child of why-henrich-row becomes the grid.
 */
.why-henrich-row > .why-henrich-cards-col,
.why-henrich-row > .et_pb_column.why-henrich-cards-col:not(.why-henrich-video-col),
.why-henrich-row > .et_pb_column:not(.why-henrich-video-col) {
  flex: 1 1 0 !important;
  max-width: none !important;
  width: auto !important;
  min-width: 0 !important;
  align-self: stretch !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(148px, 1fr));
  grid-template-rows: auto auto;
  column-gap: var(--why-henrich-gap-x);
  row-gap: var(--why-henrich-gap-y);
  align-content: center;
}

/* Flatten Divi nested rows so all 5 stat columns participate in the grid */
.why-henrich-row > .et_pb_column:not(.why-henrich-video-col) > .et_pb_row_nested {
  display: contents !important;
}

.why-henrich-row > .et_pb_column:not(.why-henrich-video-col) > .et_pb_row_nested > .et_pb_column {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  margin: 0 !important;
  display: flex !important;
  align-items: stretch !important;
}

/* If why-henrich-cards-col was placed on inner columns by mistake, undo the grid there */
.why-henrich-row .et_pb_row_nested .et_pb_column.why-henrich-cards-col {
  display: flex !important;
  grid-template-columns: unset !important;
  width: 100% !important;
  max-width: 100% !important;
}

.why-henrich-video.et_pb_video,
.why-henrich-video {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
}

.why-henrich-video .et_pb_video_box {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  min-height: 240px;
  aspect-ratio: 16 / 9;
  height: auto;
  padding-bottom: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  background: #111;
}

.why-henrich-video .et_pb_video_box video,
.why-henrich-video .et_pb_video_box video.henrich-why-video-autoplay {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block;
  pointer-events: none;
}

.why-henrich-video .et_pb_video_overlay,
.why-henrich-video .et_pb_video_overlay_hover {
  display: none !important;
}

.why-henrich-video video::-webkit-media-controls,
.why-henrich-video video::-webkit-media-controls-enclosure,
.why-henrich-video video::-webkit-media-controls-panel,
.why-henrich-video video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
  opacity: 0;
}

/* Orange bar + bold text — no white card box */
.why-henrich-card.et_pb_text,
.why-henrich-card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-left: var(--why-henrich-bar-width) solid var(--he-orange) !important;
  padding: 2px 0 2px clamp(10px, 1.2vw, 16px) !important;
  margin: 0 !important;
  min-height: 0;
  height: auto;
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 auto !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}

.why-henrich-card .et_pb_text_inner {
  width: 100%;
  max-width: 100%;
}

.why-henrich-card h3,
.why-henrich-card h4 {
  color: var(--he-black);
  font-weight: 800;
  font-size: clamp(17px, 1.45vw, 22px);
  line-height: 1.15;
  margin: 0;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: manual;
  min-width: 7.5em;
}

.why-henrich-card p {
  color: var(--he-black);
  font-weight: 800;
  font-size: clamp(17px, 1.45vw, 22px);
  line-height: 1.15;
  margin: 0;
}

/* Intro block below — orange dividers + centered copy */
.why-henrich-intro-section {
  padding-top: 0 !important;
  padding-bottom: clamp(32px, 4vw, 56px) !important;
}

.why-henrich-intro-section .et_pb_row {
  width: min(100%, 920px) !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(16px, 3vw, 32px) !important;
  padding-right: clamp(16px, 3vw, 32px) !important;
}

.why-henrich-intro-section .et_pb_divider {
  margin: 0 0 clamp(16px, 2.5vw, 28px) 0 !important;
}

.why-henrich-intro-section .et_pb_divider:first-child {
  margin-top: 0 !important;
}

.why-henrich-intro-section .et_pb_divider_internal {
  border-top: 2px solid var(--he-orange) !important;
}

.why-henrich-intro-section .why-henrich-title,
.why-henrich-intro-section .why-henrich-title h3 {
  color: var(--he-black);
  font-weight: 800;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.25;
  text-align: center;
  margin: 0 auto clamp(12px, 1.5vw, 18px);
  border-bottom: none;
  display: block;
  padding-bottom: 0;
}

.why-henrich-intro-section .why-henrich-lead,
.why-henrich-intro-section .why-henrich-lead p {
  color: var(--he-black);
  font-size: clamp(14px, 1.1vw, 16px);
  line-height: 1.65;
  text-align: center;
  margin: 0 auto;
  max-width: 860px;
}

.home-intro {
  background: linear-gradient(#ffffff, #dce8f8);
  text-align: center;
}

.home-intro h2 {
  color: var(--he-black);
  font-weight: 800;
}

.home-intro p {
  color: var(--he-black);
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

.feature-card {
  background: var(--he-white);
  border: 1px solid var(--he-border);
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  overflow: hidden;
}

.feature-card h3 {
  color: var(--he-black);
  font-weight: 800;
  text-align: center;
  margin-top: 14px;
}

.feature-card p {
  color: var(--he-black);
  padding: 0 18px 18px;
  text-align: center;
}

.feature-card .et_pb_button {
  display: block;
  background: var(--he-black);
  color: var(--he-white) !important;
  border: none;
  text-align: center;
  width: 100%;
  border-radius: 0;
}

.feature-card .et_pb_button:hover {
  background: var(--he-orange);
}


/* =========================================================
   7. Product Showcase
========================================================= */

.product-showcase {
  /* Hover PNGs: 1920px art with ~80px gutters — 80/1920 ≈ 4.167% inset on the image card */
  --showcase-photo-gap-px: 80;
  --showcase-photo-width-px: 1920;
  --showcase-photo-stack-px: 960;
  --showcase-image-gap: clamp(16px, 4.167%, 42px);
  width: 100%;
  background: var(--he-light);
  padding: 0 0 48px;
  overflow: hidden;
  min-height: 650px;
}

.product-showcase .product-tabs {
  display: grid !important;
  grid-template-columns: repeat(var(--henrich-showcase-tab-count, 4), 1fr) !important;
  background: var(--he-white) !important;
  padding: 12px 0 !important;
  width: 100%;
}

.product-showcase .product-tab {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: transparent !important;
  border: none !important;
  border-right: 2px solid var(--he-orange) !important;
  padding: 10px 0 !important;
  font-weight: 600 !important;
  font-size: 20px !important;
  color: var(--he-black) !important;
  cursor: pointer !important;
  text-align: center !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  text-decoration: none !important;
}

.product-showcase .product-tab:last-child {
  border-right: none !important;
}

.product-showcase .product-tab:hover,
.product-showcase .product-tab.active {
  color: var(--he-blue-dark) !important;
  text-decoration: none !important;
}

.product-showcase .product-panel {
  display: none;
  grid-template-columns: minmax(0, 1fr) 2px minmax(0, 1fr);
  gap: 32px;
  max-width: min(1320px, calc(100vw - 48px));
  margin: 28px auto 0;
  align-items: stretch;
  min-height: 520px;
  opacity: 0;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.6s ease;
}

.product-showcase .product-panel.active {
  display: grid;
  opacity: 1;
  visibility: visible;
  height: auto;
  overflow: visible;
  pointer-events: auto;
  transform: translateY(0);
  grid-auto-rows: 1fr;
}

.product-info-card {
  background: var(--he-white);
  padding: 34px 38px;
  box-shadow: 0 8px 22px rgba(0,0,0,0.12);
  border-radius: 12px;
  max-height: none;
  overflow-y: visible;
}

.product-info-card h2 {
  color: var(--he-black);
  font-size: 26px;
  line-height: 1.2;
  margin-bottom: 10px;
  border-bottom: 2px solid var(--he-orange);
  padding-bottom: 8px;
}

.product-info-card p {
  font-size: 18px;
  line-height: 1.45;
  margin-bottom: 20px;
}

.product-info-card h4 {
  color: var(--he-black);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.2;
  margin: 16px 0 2px;
}

.product-info-card ul {
  margin: 0 0 10px 18px;
  padding-left: 18px;
}

.product-info-card li {
  font-size: 18px;
  line-height: 1.3;
  margin-bottom: 2px;
}

.product-button {
  display: inline-block;
  margin-top: 18px;
  background: var(--he-black);
  color: var(--he-white) !important;
  padding: 10px 22px;
  font-weight: 700;
  text-decoration: none;
}

.product-button:hover {
  background: var(--he-orange);
}

.product-divider {
  background: var(--he-orange);
  width: 2px;
}

/* Home showcase only — generic .product-image-card rules live in Section 9 */
.product-showcase .product-image-card {
  background: var(--he-white);
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(0,0,0,0.12);
  box-sizing: border-box;
  padding: var(--showcase-image-gap);
  overflow: hidden;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  min-height: 100%;
  height: 100%;
}

.product-showcase .product-image-card img {
  display: block;
  width: 100%;
  max-width: none;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  margin: 0;
  object-fit: contain;
  object-position: center;
}

.product-showcase .product-image-stack {
  display: flex;
  flex-direction: column;
  gap: var(--showcase-image-gap);
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
}

.product-showcase .product-showcase-photo {
  width: 100%;
  aspect-ratio: var(--showcase-photo-width-px) / var(--showcase-photo-stack-px);
  background-image: var(--showcase-photo);
  background-size: 100% auto;
  background-repeat: no-repeat;
  flex: 0 0 auto;
}

.product-showcase .product-showcase-photo--top {
  background-position: top center;
}

.product-showcase .product-showcase-photo--bottom {
  background-position: bottom center;
}


/* =========================================================
   8. Product Sidebar (desktop ≥981px)
========================================================= */

@media only screen and (min-width: 981px) {

.product-sidebar {
  background: #00449e;
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
  overflow: hidden !important;
  position: sticky;
  top: 72px;
  flex: 0 0 280px !important;
  width: 280px !important;
  min-width: 280px !important;
  max-width: 280px !important;
  max-height: calc(100vh - 84px);
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
	
  --module-gutter: 0px;
  --vertical-gap: 0px;
}

.product-sidebar.et_pb_column {
  overflow: hidden !important;
  flex: 0 0 280px !important;
  width: 280px !important;
  min-width: 280px !important;
  max-width: 280px !important;
}

#main-content .et_pb_row:not(.et_pb_row_nested) > .product-sidebar.et_pb_column {
  flex: 0 0 280px !important;
  width: 280px !important;
  min-width: 280px !important;
  max-width: 280px !important;
}

.product-sidebar .et_pb_module {
  margin-bottom: 0 !important;
}

.product-sidebar [class*="product-sidebar-title"],
.product-sidebar .product-sidebar-title {
  flex: 0 0 auto;
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.1;
  padding: 12px 18px 8px !important;
  margin: 0 !important;
  background: transparent !important;
}

.product-sidebar [class*="product-sidebar-title"] .et_pb_text_inner,
.product-sidebar .product-sidebar-title .et_pb_text_inner {
  margin: 0 !important;
  padding: 0 !important;
}

.product-sidebar [class*="product-sidebar-title"] h1,
.product-sidebar [class*="product-sidebar-title"] h2,
.product-sidebar [class*="product-sidebar-title"] h3,
.product-sidebar [class*="product-sidebar-title"] h4,
.product-sidebar [class*="product-sidebar-title"] p,
.product-sidebar .product-sidebar-title h1,
.product-sidebar .product-sidebar-title h2,
.product-sidebar .product-sidebar-title h3,
.product-sidebar .product-sidebar-title h4,
.product-sidebar .product-sidebar-title p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.1 !important;
  color: #fff !important;
}

.product-sidebar .et_pb_menu {
  background: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 0 8px 8px;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  flex: 1 1 auto;
  min-height: 0;
  max-height: calc(100vh - 190px);
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 68, 158, 0.45) rgba(0, 0, 0, 0.08);
}

.product-sidebar .et_pb_menu .et_pb_menu_inner_container,
.product-sidebar .et_pb_menu .et_pb_menu__wrap {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.product-sidebar .et_pb_menu::-webkit-scrollbar {
  width: 6px;
}

.product-sidebar .et_pb_menu::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.06);
  border-radius: 20px;
}

.product-sidebar .et_pb_menu::-webkit-scrollbar-thumb {
  background: rgba(0, 68, 158, 0.45);
  border-radius: 20px;
}

.product-sidebar .et_pb_menu__wrap,
.product-sidebar .et_pb_menu__menu,
.product-sidebar .et-menu-nav,
.product-sidebar .et-menu {
  display: block !important;
  width: 100% !important;
}

.product-sidebar #menu-product-categories-side-menu,
.product-sidebar .et-menu {
  flex-direction: column !important;
  align-items: flex-start !important;
  margin: 0 !important;
  padding: 16px 14px 14px 18px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
}

.product-sidebar .et-menu > li {
  display: block !important;
  width: 100% !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
}

.product-sidebar .et-menu > li:last-child {
  margin-bottom: 0 !important;
}

.product-sidebar .et-menu > li > a {
  display: block !important;
  width: 100% !important;

  font-family: var(--font-primary) !important;
  font-weight: 600 !important;

  color: #111 !important;
  font-size: 16px;
  line-height: 1.35 !important;
  padding: 0 22px 10px 0 !important;
  border-bottom: 3px solid var(--he-orange);
}

.product-sidebar .et-menu > li.menu-item-has-children > a {
  position: relative !important;
}

.product-sidebar .et-menu > li.menu-item-has-children > a::after {
  position: absolute !important;
  right: 0 !important;
  top: 0.15em !important;
  margin-left: 0 !important;
  font-size: 12px !important;
  color: #00449e !important;
}

.product-sidebar .et-menu .sub-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  box-shadow: none !important;
  border-top: none !important;
  padding: 8px 0 0 0 !important;
  column-count: 1 !important;
  background: transparent !important;
}

.product-sidebar .sub-menu li {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 0 6px 0 !important;
}

.product-sidebar .sub-menu li:last-child {
  margin-bottom: 0 !important;
}

.product-sidebar .sub-menu li a {
  display: block !important;
  width: 100% !important;
  font-family: var(--font-primary) !important;
  font-weight: 500 !important;
  font-size: 14px;
  padding: 3px 0 !important;
  line-height: 1.55 !important;
  color: #444 !important;
}

.product-sidebar .et-menu a,
.product-sidebar a {
  color: #333333 !important;
  text-decoration: none !important;
  transition: color 0.2s ease, padding-left 0.2s ease;
}

.product-sidebar .et-menu a:hover,
.product-sidebar a:hover {
  color: var(--he-orange) !important;
  padding-left: 6px !important;
}

.product-sidebar .current-menu-item > a,
.product-sidebar .et-menu > li.current-menu-ancestor > a,
.product-sidebar .sub-menu .current-menu-item > a {
  color: var(--he-orange) !important;
  font-weight: 700 !important;
}

/* Synced category menu — unify Alibaba typography with original Divi side-nav */
.product-sidebar #menu-product-categories-side-menu > .menu-item > a {
  font-family: var(--font-primary) !important;
  font-weight: 600 !important;
}

.product-sidebar #menu-product-categories-side-menu .sub-menu a {
  font-family: var(--font-primary) !important;
  font-weight: 500 !important;
}

.product-sidebar #menu-product-categories-side-menu .current-menu-item > a,
.product-sidebar #menu-product-categories-side-menu > .menu-item.current-menu-ancestor > a,
.product-sidebar #menu-product-categories-side-menu .sub-menu .current-menu-item > a,
.product-sidebar #menu-product-categories-side-menu .henrich-filter-anchor-item > a {
  font-weight: 700 !important;
}

/* Mobile drawer chrome must not appear on desktop */
.product-sidebar .henrich-sidebar-drawer-close,
.product-sidebar .henrich-sidebar-submenu-toggle {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.product-sidebar .et_mobile_nav_menu,
.product-sidebar .mobile_nav,
.product-sidebar .mobile_menu_bar,
.product-sidebar .et_mobile_menu {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

} /* end desktop product sidebar */

/* =========================================================
   8b. Product Sidebar — Filters (category pages with specs)
========================================================= */

#henrich-product-filter.henrich-product-filter--empty,
#henrich-product-filter[hidden] {
  display: none !important;
}

.product-sidebar .sub-menu .henrich-sidebar-filter-item {
  display: block !important;
  width: 100% !important;
  margin: 2px 0 10px !important;
  padding: 0 !important;
  list-style: none !important;
}

.product-sidebar .sub-menu .henrich-sidebar-filter-item > a {
  display: none !important;
}

.product-sidebar #menu-product-categories-side-menu li.current-menu-item.henrich-filter-anchor-item > a,
.product-sidebar .et_pb_menu ul.sub-menu li.current-menu-item.henrich-filter-anchor-item > a,
.product-sidebar .sub-menu .henrich-filter-anchor-item > a,
.product-sidebar .sub-menu li.current-menu-item.henrich-filter-anchor-item > a {
  background: #00449e !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 6px 8px !important;
  margin: 0 0 2px !important;
  border-radius: 4px;
  line-height: 1.45 !important;
}

.product-sidebar #menu-product-categories-side-menu li.current-menu-item.henrich-filter-anchor-item > a:hover,
.product-sidebar .et_pb_menu ul.sub-menu li.current-menu-item.henrich-filter-anchor-item > a:hover,
.product-sidebar .sub-menu .henrich-filter-anchor-item > a:hover,
.product-sidebar .sub-menu li.current-menu-item.henrich-filter-anchor-item > a:hover,
.product-sidebar #menu-product-categories-side-menu li.current-menu-item.henrich-filter-anchor-item > a:focus,
.product-sidebar .et_pb_menu ul.sub-menu li.current-menu-item.henrich-filter-anchor-item > a:focus,
.product-sidebar .sub-menu .henrich-filter-anchor-item > a:focus,
.product-sidebar .sub-menu li.current-menu-item.henrich-filter-anchor-item > a:focus {
  color: #fff !important;
  background: #00449e !important;
  padding-left: 8px !important;
}

.henrich-product-filter {
  margin: 0;
  border: none;
  border-radius: 0;
  overflow: hidden;
  background: transparent;
}

.product-sidebar .sub-menu .henrich-product-filter {
  width: 100%;
}

.henrich-product-filter-loading {
  margin: 0;
  padding: 14px 16px;
  font-size: 13px;
  color: #666;
}

.henrich-product-filter-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: 0;
  margin: 0;
  padding: 10px 14px;
  background: #2f6eb5;
  color: #fff;
  font-family: var(--font-primary, "Alibaba PuHuiTi 2.0", sans-serif);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  text-align: left;
}

.henrich-product-filter-chevron {
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 7px solid #fff;
  transition: transform 0.2s ease;
}

.henrich-product-filter-panel:not(.is-open) .henrich-product-filter-chevron {
  transform: rotate(180deg);
}

.henrich-product-filter-panel-body {
  background: #eef4fb;
}

.henrich-product-filter-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  background: #dceaf8;
  border-bottom: 1px solid #c5daf0;
  font-size: 12px;
  line-height: 1.3;
}

.henrich-product-filter-toolbar-btn {
  border: 0;
  background: transparent;
  padding: 0;
  color: #00449e;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
}

.henrich-product-filter-toolbar-btn:hover {
  color: var(--he-orange);
}

.henrich-product-filter-toolbar-sep {
  color: #7a98b8;
}

.henrich-product-filter-groups {
  padding: 10px 12px 12px;
}

.henrich-product-filter-group + .henrich-product-filter-group {
  margin-top: 8px;
}

.henrich-product-filter-group-head {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 4px 0;
  color: #00449e;
  font-family: var(--font-primary, "Alibaba PuHuiTi 2.0", sans-serif);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  cursor: pointer;
  text-align: left;
}

.henrich-product-filter-toggle-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border: 1px solid #2f6eb5;
  background: #fff;
  color: #2f6eb5;
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;
}

.henrich-product-filter-group-body {
  padding: 6px 0 4px 24px;
}

.henrich-product-filter-group:not(.is-open) .henrich-product-filter-group-body {
  display: none;
}

.henrich-product-filter-option {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 8px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.5;
  color: #333;
}

.henrich-product-filter-option:last-child {
  margin-bottom: 0;
}

.henrich-product-filter-option input {
  margin-top: 4px;
  flex-shrink: 0;
}

.product-sidebar .et_pb_code:has(#henrich-product-filter.henrich-product-filter--empty),
.product-sidebar .et_pb_code:has(#henrich-product-filter[hidden]) {
  display: none !important;
}

/* Eva #17 — filters nest under the active category in the side nav (Predision layout) */
.product-sidebar .sub-menu .henrich-sidebar-filter-item .henrich-product-filter-panel {
  border-radius: 0 0 8px 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.product-sidebar .sub-menu li.current-menu-item.henrich-filter-anchor-item + .henrich-sidebar-filter-item {
  margin-top: 0 !important;
}

.product-sidebar .sub-menu li.henrich-filter-anchor-item > a,
.product-sidebar .sub-menu li.current-menu-item.henrich-filter-anchor-item > a {
  background: #00449e !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 6px 8px !important;
  margin: 0 0 2px !important;
  border-radius: 4px;
  line-height: 1.45 !important;
}

.product-sidebar .sub-menu li.henrich-filter-anchor-item > a:hover,
.product-sidebar .sub-menu li.current-menu-item.henrich-filter-anchor-item > a:hover,
.product-sidebar .sub-menu li.henrich-filter-anchor-item > a:focus,
.product-sidebar .sub-menu li.current-menu-item.henrich-filter-anchor-item > a:focus {
  color: #fff !important;
  background: #00449e !important;
  padding-left: 8px !important;
}

/* =========================================================
      Product Page Slider Display
========================================================= */

.products-mvp-slider {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 auto 34px;
  overflow: visible;
}

body.page-id-76 #products-mvp-slider,
body.page-id-76 .products-mvp-slider {
  padding-left: 24px;
  padding-right: 24px;
}

.products-mvp-slider-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #fff;
}

.products-mvp-window {
  width: 100%;
  overflow: hidden;
}

.products-mvp-track {
  display: flex;
  gap: 18px;
  transition: transform 0.4s ease;
  will-change: transform;
}

.products-mvp-slide {
  flex: 0 0 calc(25% - 14px);
  display: block;
  text-decoration: none;
}

.products-mvp-slide img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.products-mvp-slide-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.products-mvp-slide-tagline {
  margin: 0 0 14px;
  font-size: 17px;
  line-height: 1.35;
  font-style: italic;
  font-weight: 500;
  color: #7a2048;
}

.products-mvp-slide-image {
  width: 100%;
  max-width: 420px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.products-mvp-slide-image img {
  max-height: 280px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

.products-mvp-slide-title {
  display: none !important;
}

body.page-id-76 .products-mvp-slide-image {
  margin-bottom: 0;
}

.products-mvp-slide-price {
  margin: 0;
  font-size: 28px;
  line-height: 1.1;
  font-weight: 800;
  color: #00458f;
}

.products-mvp-dots {
  display: none;
}

.products-mvp-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 38px;
  height: 58px;
  border: none;
  background: #fff;
  color: #00458f;
  font-size: 38px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0,0,0,0.18);
}

.products-mvp-prev {
  left: 0;
}

.products-mvp-next {
  right: 0;
}

@media (max-width: 1199px) {
  .products-mvp-slide {
    flex-basis: calc(33.333% - 12px);
  }
}

@media (max-width: 979px) {
  .products-mvp-slide {
    flex-basis: calc(50% - 10px);
  }
}

@media (max-width: 599px) {
  .products-mvp-slide {
    flex-basis: 100%;
  }
}

/* =========================================================
      Main Product Page Product Categories LIST
========================================================= */

.home-product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  padding: 18px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.home-product-card {
  text-align: center;
  text-decoration: none;
  color: #000;
  background: #fff;
  border-radius: 10px;
  padding: 16px;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.home-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

/* /products/ category rows — no per-card hover shadow inside the white grid card */
body.page-id-76 .mvp-products-slider .home-product-card:hover {
  transform: none;
  box-shadow: none;
}

.home-product-card:hover .home-product-title {
  color: #f47c20;
}

.home-product-img-wrap {
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home-product-img-wrap img {
  max-width: 100%;
  max-height: 140px;
  object-fit: contain;
}

.home-product-title {
  font-weight: 600;
  font-size: 15px;
  line-height: 1.3;
  margin-top: 10px;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* /products/ — category showcase blocks must not cause horizontal page scroll */
body.page-id-76 #page-container,
body.page-id-76 #et-main-area,
body.page-id-76 #main-content {
  overflow-x: clip;
  max-width: 100%;
}

body.page-id-76 .mvp-products-slider,
body.page-id-76 .mvp-products-slider .et_pb_row,
body.page-id-76 .mvp-products-slider .et_pb_row_nested,
body.page-id-76 .mvp-products-slider .et_pb_column,
body.page-id-76 .mvp-products-slider .et_pb_code,
body.page-id-76 .mvp-products-slider .et_pb_code_inner,
body.page-id-76 .home-category-products,
body.page-id-76 .home-product-grid,
body.page-id-76 .home-product-card {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

body.page-id-76 #main-content .et_pb_row:not(.et_pb_row_nested) > .mvp-products-slider {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

/* Inset content so card corners + side shadows are not clipped by overflow-x: clip on page wrappers */
body.page-id-76 .mvp-products-slider.et_pb_column,
body.page-id-76 .et_pb_column.mvp-products-slider {
  padding-left: 24px !important;
  padding-right: 24px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.page-id-76 .mvp-products-slider .et_pb_row_nested {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Strip duplicate shadows from Divi wrappers — one shadow lives on .home-category-products only */
body.page-id-76 .mvp-products-slider .et_pb_row,
body.page-id-76 .mvp-products-slider .et_pb_row_nested,
body.page-id-76 .mvp-products-slider .et_pb_column,
body.page-id-76 .mvp-products-slider .et_pb_code,
body.page-id-76 .mvp-products-slider .et_pb_code_inner,
body.page-id-76 .mvp-products-slider .et_pb_row:has(.home-category-products),
body.page-id-76 .mvp-products-slider .et_pb_row:has(.home-category-products) .et_pb_column {
  box-shadow: none !important;
  filter: none !important;
  overflow: visible !important;
}

body.page-id-76 .mvp-products-slider .home-category-products {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  margin: 8px 0 20px 0 !important;
  padding: 14px 12px !important;
  background: #fff;
  border-radius: 12px;
  /* Full-perimeter shadow with spread — room from column padding prevents side clipping */
  box-shadow: 0 0 24px 4px rgba(0, 0, 0, 0.19);
  overflow: visible;
}

body.page-id-76 .mvp-products-slider .home-category-products .home-product-grid,
body.page-id-76 .mvp-products-slider .home-product-card {
  box-shadow: none !important;
}

/* Wide desktop only — up to 4 products across */
@media (min-width: 1500px) {
  body.page-id-76 .mvp-products-slider .home-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1281px) and (max-width: 1499px) {
  body.page-id-76 .mvp-products-slider .home-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1101px) and (max-width: 1280px) {
  body.page-id-76 .mvp-products-slider .home-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 14px;
  }
}

/* Shrink browser / tablet / mobile — stack products vertically in the white card */
@media (min-width: 768px) and (max-width: 1100px) {
  body.page-id-76 .mvp-products-slider .home-product-grid,
  .home-product-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-id-76 .mvp-products-slider .home-product-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Title row + View More — wrap instead of clipping off-screen */
  body.page-id-76 .mvp-products-slider .et_pb_row_nested:has(.products-category-title),
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
  }

  body.page-id-76 .mvp-products-slider .et_pb_row_nested:has(.products-category-title) > .et_pb_column,
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) > .et_pb_column {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.page-id-76 .mvp-products-slider .et_pb_row_nested:has(.products-category-title) > .et_pb_column:last-child,
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) > .et_pb_column:last-child {
    flex: 0 0 auto !important;
    text-align: right !important;
  }
}

@media (max-width: 680px) {
  /* Legacy Divi rows only — API sections keep title + View More on one line */
  body.page-id-76 .mvp-products-slider .et_pb_row_nested:has(.products-category-title):not(.henrich-products-category-head-row),
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  body.page-id-76 .mvp-products-slider .et_pb_row_nested:has(.products-category-title):not(.henrich-products-category-head-row) > .et_pb_column,
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) > .et_pb_column {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  body.page-id-76 .mvp-products-slider .et_pb_row_nested:has(.products-category-title):not(.henrich-products-category-head-row) > .et_pb_column:last-child,
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) > .et_pb_column:last-child {
    text-align: left !important;
  }
}

/* Products page — API-driven category showcase sections */
body.page-id-76 .henrich-products-category-sections {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 0;
}

body.page-id-76 #products-mvp-slider:not(:empty) {
  min-height: 0;
}

/* Hide legacy hardcoded MVP / category blocks once API mounts are live */
body.page-id-76.henrich-products-mvp-slider-live
  .mvp-products-slider
  > .et_pb_module:not(:has(#products-mvp-slider)):not(:has(#henrich-products-category-sections)) {
  display: none !important;
}

body.page-id-76.henrich-products-categories-live
  .mvp-products-slider
  .et_pb_row:has(.home-category-products):not(:has(.henrich-products-category-section)),
body.page-id-76.henrich-products-categories-live
  .mvp-products-slider
  .et_pb_row_nested:has(.home-category-products):not(:has(.henrich-products-category-section)) {
  display: none !important;
}

body.page-id-76 .henrich-products-category-section + .henrich-products-category-section {
  margin-top: 28px;
}

body.page-id-76 .henrich-products-category-loading,
body.page-id-76 .henrich-products-category-empty,
body.page-id-76 .henrich-products-category-error {
  margin: 12px 0 20px;
  font-size: 15px;
  color: #555;
}

body.page-id-76 .mvp-products-slider .henrich-products-category-section .et_pb_row_nested:has(.products-category-title),
body.page-id-76 .mvp-products-slider .henrich-products-category-section .henrich-products-category-head-row {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  justify-content: stretch !important;
  column-gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.page-id-76 .henrich-products-category-section .henrich-products-category-more,
body.page-id-76 .henrich-products-category-section a.et_pb_button.henrich-products-category-more {
  display: inline-block !important;
  background-color: var(--he-blue-dark) !important;
  color: var(--he-white) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 14px 28px !important;
  border-radius: 3px !important;
  border: none !important;
  text-align: center !important;
  text-decoration: none !important;
  line-height: 1.2em !important;
  min-width: 160px !important;
  box-shadow: none !important;
}

body.page-id-76 .henrich-products-category-section .henrich-products-category-more:hover,
body.page-id-76 .henrich-products-category-section a.et_pb_button.henrich-products-category-more:hover {
  background-color: var(--he-orange) !important;
  color: var(--he-white) !important;
}

/* =========================================================
      Product Category Display
========================================================= */

.henrich-category-header {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 18px;
  align-items: stretch;
  margin-top: 0;
  margin-bottom: 16px;
}

.henrich-category-image {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 3px 14px rgba(0,0,0,0.14);

  display: flex;
  align-items: center;
  justify-content: center;

  aspect-ratio: 1 / 1;
  width: 240px;
  max-width: 100%;
  align-self: start;
  flex-shrink: 0;

  padding: 0; /* removes white border/padding */
}

.henrich-category-image img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* fills the square */
  display: block;
}

.henrich-category-copy {
  background: #fff;
  padding: 22px 28px;
  border-radius: 10px;
  box-shadow: 0 3px 14px rgba(0,0,0,0.12);
}

.henrich-category-copy h1 {
  margin: 0 0 12px;
  font-size: 34px;
  line-height: 1.1;
}

.henrich-category-copy p {
  margin: 0;
  line-height: 1.55;
}

.henrich-category-grid {
  width: 100%;
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 18px 20px;
  background: #fff;
  padding: 24px 28px;
  border-radius: 10px;
  box-shadow: 0 3px 14px rgba(0,0,0,0.12);
  margin-bottom: 16px;
}

.henrich-category-card {
  text-align: center;
  font-weight: 600;
  text-decoration: none;
  color: #000;
  transition: all 0.25s ease;
}

.henrich-category-card:hover {
  color: #f47c20;
  transform: translateY(-2px);
}

.henrich-category-card div {
  color: inherit;
}

.henrich-category-card img {
  height: 90px;
  width: 100%;
  object-fit: contain;
  margin-bottom: 10px;
}

@media (max-width: 980px) {
  .henrich-category-image {
    width: min(100%, 280px);
    aspect-ratio: 1 / 1;
    height: auto;
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .henrich-category-header {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 16px;
  }

  .henrich-category-image {
    width: calc(100% - 16px);
    max-width: calc(100% - 16px);
    aspect-ratio: 1 / 1;
    height: auto;
    margin: 0 8px;
    border-radius: 10px;
    overflow: hidden;
  }

  .henrich-category-copy {
    padding: 14px 12px;
  }

  .henrich-category-copy h1 {
    font-size: 24px;
  }

  .henrich-category-copy p {
    font-size: 18px;
    line-height: 1.55;
  }

  .henrich-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 8px;
    padding: 16px 10px;
  }
}

.henrich-product-list {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.henrich-product-row {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 28px;
  align-items: center;
  background: #fff;
  padding: 24px 32px;
  border-radius: 10px;
  box-shadow: 0 3px 14px rgba(0,0,0,0.12);
}

.henrich-product-part {
  text-align: center;
  font-weight: 600;
}

.henrich-product-part-image {
  width: 130px;
  height: 130px;
  aspect-ratio: 1 / 1;
  margin: 0 auto 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.henrich-product-part-image-link {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: inherit;
}

.henrich-product-part-image-link img {
  transition: opacity 0.2s ease;
}

.henrich-product-part-image-link:hover img {
  opacity: 0.85;
}

.henrich-product-part img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  margin-bottom: 0;
}

.henrich-product-features h3 {
  margin: 0 0 10px;
  font-size: 20px;
}

.henrich-product-features p {
  margin: 0 0 12px;
  line-height: 1.5;
}

.henrich-product-link {
  color: #004c97;
  font-weight: 600;
}

.henrich-header-cart-badge {
  position: absolute;
  top: -6px;
  right: -8px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #f47c20;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  pointer-events: none;
  z-index: 2;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.henrich-product-availability {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  text-align: right;
}

.henrich-product-availability.in-stock {
  color: #208c3a;
}

.henrich-product-availability.backordered {
  color: #cc5500;
}

.henrich-product-backorder-date {
  margin-top: 4px;
  font-size: 12px;
  font-weight: 600;
  color: #555;
}

.henrich-product-stock {
  font-size: 14px;
  line-height: 1.35;
  text-align: right;
  color: #333;
}

.henrich-product-stock--zero {
  color: #c62828;
  font-weight: 600;
}

.henrich-list-cart-feedback {
  display: block;
  width: 100%;
  max-width: 190px;
  padding: 10px 18px;
  border-radius: 999px;
  background: #2aad4a;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  opacity: 0;
  transform: translateY(6px);
  max-height: 0;
  overflow: hidden;
  margin-top: 0;
  pointer-events: none;
  transition: opacity 0.35s ease, transform 0.35s ease, max-height 0.35s ease,
    margin 0.35s ease;
}

.henrich-list-cart-feedback.is-visible {
  opacity: 1;
  transform: translateY(0);
  max-height: 48px;
  margin-top: 10px;
}

.henrich-list-cart-feedback.is-fading {
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.9s ease, transform 0.9s ease;
}

@media (max-width: 767px) {
  .henrich-product-row {
    grid-template-columns: 1fr;
    text-align: center;
  }
}

/* ========================================================================
      Individual Product Page Display / Product Details Page Tempalte
=========================================================================== */

.henrich-product-layout {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

.henrich-product-gallery {
  width: 32%;
}

.henrich-product-info {
  width: 48%;
}

.henrich-product-sidebar {
  width: 25%;
}

.product-image-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 3px 14px rgba(0,0,0,0.12);
  padding: 24px;
  text-align: center;
}

.product-image-card img {
  width: 100%;
  max-width: 420px;
  height: auto;
  object-fit: contain;
}

/* Home hover cards — win over generic .product-image-card (category/detail pages) */
.product-showcase .product-info-card {
  border-radius: 12px;
}

.product-showcase .product-image-card {
  padding: var(--showcase-image-gap) !important;
  text-align: center !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  height: 100% !important;
}

.product-showcase .product-image-card img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center !important;
}

.product-summary-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 3px 14px rgba(0,0,0,0.12);
  padding: 28px 34px;
}

.product-summary-inner h1 {
  font-family: var(--font-primary) !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  letter-spacing: -1px !important;
  margin: 0 0 26px !important;
  color: #111 !important;
}

.product-meta p {
  font-family: var(--font-primary) !important;
  margin: 0 0 12px !important;
  font-size: 18px !important;
  /* Was .65 — glyphs taller than the line box made the "Manufacturer Part
     Number:" label overlap the part number when it wrapped on smaller
     screens. 1em + 5px = exactly 5px of space between stacked lines. */
  line-height: calc(1em + 5px) !important;
  font-weight: 400 !important;
  color: #222 !important;
}

.product-meta strong {
  font-family: var(--font-primary) !important;
  font-weight: 600 !important;
  color: #111 !important;
}

.product-feature-list {
  margin: 28px 0 0 !important;
  padding-left: 24px !important;
}

.product-feature-list li {
  font-family: var(--font-primary) !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: #222 !important;
  margin-bottom: 16px !important;
}

.product-feature-list li::marker {
  color: var(--he-orange, #ff7306) !important;
}

.product-buy-box {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 3px 14px rgba(0,0,0,0.12);
  padding: 24px;
}

.product-availability {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 12px;
}

.product-availability.in-stock {
  color: #208c3a;
}

.product-availability.backordered {
  color: #cc5500;
}

.product-backorder-date,
.product-model-backorder-date {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  color: #555;
}

.product-model-stock.in-stock {
  color: #208c3a;
  font-weight: 700;
}

.product-model-stock.backordered {
  color: #cc5500;
  font-weight: 700;
}

.product-price {
  font-size: 32px;
  font-weight: 800;
  color: #111;
  margin-bottom: 12px;
}

.henrich-price-pair,
.product-price-pair {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
}

.product-price-sale,
.henrich-price-sale,
.henrich-price-regular {
  display: inline;
  font-size: 32px;
  font-weight: 800;
  color: #111;
  line-height: 1.1;
}

.product-price-msrp,
.henrich-price-msrp {
  display: inline;
  margin-top: 0;
  font-size: 16px;
  font-weight: 600;
  color: #888;
  text-decoration: line-through;
  line-height: 1.1;
}

.henrich-product-price .henrich-price-pair {
  justify-content: flex-end;
  width: 100%;
}

.henrich-product-price .henrich-price-sale,
.henrich-product-price .henrich-price-regular {
  font-size: 28px;
  font-weight: 800;
  color: #111;
}

.henrich-product-price .henrich-price-msrp {
  font-size: 15px;
  font-weight: 600;
  color: #888;
}

.product-price .product-price-sale {
  font-size: 32px;
}

.product-price .product-price-msrp {
  font-size: 16px;
}

.product-stock {
  font-size: 14px;
  margin-bottom: 18px;
}

.product-quantity-label {
  display: block;
  font-weight: 700;
  margin-bottom: 8px;
}

.product-quantity-input {
  width: 100%;
  max-width: 120px;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
}

@media (max-width: 980px) {
  .product-summary-inner h1 {
    font-size: 26px;
  }

  .product-price {
    font-size: 26px;
  }
}

.product-section-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 3px 14px rgba(0,0,0,0.12);
  padding: 28px 34px;
  margin-bottom: 28px;
}

.product-section-card h2 {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 18px;
  color: #111;
}

.product-description-content {
  font-size: 18px;
  line-height: 1.65;
  color: #222;
}

.product-description-content p {
  margin: 0 0 14px;
}

.product-section-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 3px 14px rgba(0,0,0,0.12);
  padding: 28px 34px;
  margin-bottom: 28px;
}

.product-section-card h2 {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 18px;
  color: #111;
}

.product-overview-content {
  font-size: 15px;
  line-height: 1.65;
  color: #222;
}

.product-overview-content p {
  margin: 0 0 14px;
}

.product-section-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 3px 14px rgba(0,0,0,0.12);
  padding: 28px 34px;
  margin-bottom: 28px;
}

.product-section-card h2 {
  font-size: 26px;
  line-height: 1.2;
  margin: 0 0 18px;
  color: #111;
}

.product-specifications-content {
  font-size: 15px;
  line-height: 1.6;
  color: #222;
}

.product-spec-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.product-spec-table tr {
  border-bottom: 1px solid #e5e5e5;
}

.product-spec-table th {
  width: 35%;
  text-align: left;
  padding: 12px 14px;
  font-weight: 700;
  background: #f7f7f7;
  color: #111;
  vertical-align: top;
}

.product-spec-table td {
  padding: 12px 14px;
  color: #222;
  vertical-align: top;
}

@media (max-width: 767px) {
  .product-spec-table,
  .product-spec-table tbody,
  .product-spec-table tr,
  .product-spec-table th,
  .product-spec-table td {
    display: block;
    width: 100%;
  }

  .product-spec-table th {
    border-bottom: none;
  }

  .product-spec-table td {
    padding-top: 6px;
  }
}

.product-models-content {
  font-size: 15px;
  line-height: 1.6;
  color: #222;
}

.product-models-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.product-models-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.product-models-table thead {
  background: #f7f7f7;
}

.product-models-table th,
.product-models-table td {
  padding: 14px 16px;
  border-bottom: 1px solid #e5e5e5;
  text-align: left;
  vertical-align: top;
}

.product-models-table th {
  font-weight: 700;
  color: #111;
}

.product-models-table td a {
  color: #000;
  font-weight: 700;
  text-decoration: none;
}

.product-models-table td a:hover {
  color: #f47c20;
}

@media (max-width: 767px) {
  .product-models-table,
  .product-models-table thead,
  .product-models-table tbody,
  .product-models-table tr,
  .product-models-table th,
  .product-models-table td {
    display: block;
    width: 100%;
  }

  .product-models-table thead {
    display: none;
  }

  .product-models-table tr {
    border-bottom: 1px solid #ddd;
    padding: 12px 0;
  }

  .product-models-table td {
    border-bottom: none;
    padding: 8px 0;
  }
}

.related-products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 22px;
}

.related-product-card {
  display: block;
  background: #fff;
  border-radius: 10px;
  border: 1px solid #e5e5e5;
  padding: 18px;
  text-decoration: none;
  color: #000;
  transition: transform 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
}

.related-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
  color: #f47c20;
}

.related-product-image {
  width: 100%;
  height: 145px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.related-product-image img {
  max-width: 100%;
  max-height: 145px;
  object-fit: contain;
}

.related-product-info h3 {
  font-size: 16px;
  line-height: 1.35;
  margin: 0 0 8px;
  color: inherit;
}

.related-product-model {
  font-size: 13px;
  color: #555;
  margin: 0 0 8px;
}

.related-product-price {
  font-size: 15px;
  font-weight: 700;
  color: #111;
  margin: 0;
}

@media (max-width: 767px) {
  .related-products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .related-product-card {
    padding: 14px;
  }

  .related-product-image {
    height: 115px;
  }

  .related-product-image img {
    max-height: 115px;
  }

  .related-product-info h3 {
    font-size: 14px;
  }
}

.product-downloads-list {
  display: grid;
  gap: 12px;
}

.product-download-link {
  display: block;
  padding: 14px 16px;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  text-decoration: none;
  color: #000;
  background: #fff;
  transition: all 0.25s ease;
}

.product-download-link:hover {
  border-color: #f47c20;
  color: #f47c20;
  box-shadow: 0 3px 12px rgba(0,0,0,0.1);
}

.product-download-link span {
  display: block;
  font-weight: 700;
}

.product-download-link small {
  display: block;
  margin-top: 4px;
  color: #666;
  font-size: 12px;
}

/* Widen and center the product summary area */
.product-summary-card {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.product-summary-inner {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Give the product image/content columns better balance */
.product-gallery-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Downloads row under product features */
.product-card-downloads {
  margin-top: 34px;
  display: grid;
  gap: 10px;
}

.product-card-download-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  font-size: 18px;
  font-weight: 600;
  color: #111;
  text-decoration: none;
}

.product-card-download-link::before {
  content: "⬇";
  width: 28px;
  height: 28px;
  border-radius: 4px;
  background: var(--he-orange);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

.product-card-download-link:hover {
  color: var(--he-orange);
}

/* =========================================================
   9. Video Modules
========================================================= */

.henrich-video-grid .et_pb_video,
.henrich-video-grid .et_pb_video_box {
  margin-bottom: 0 !important;
}

.henrich-video-grid .et_pb_module {
  margin-bottom: 0 !important;
}

.henrich-video-grid iframe,
.henrich-video-grid .et_pb_video iframe {
  display: block;
}

/* White content box under videos */
.henrich-box {
  background: #ffffff;
  padding: 1.5em;
  min-height: 180px;

  display: flex;
  flex-direction: column;
  justify-content: flex-start;

  margin-top: 0 !important;
}

/* Remove default bottom spacing inside box */
.henrich-box .et_pb_module:last-child {
  margin-bottom: 0 !important;
}

/* =========================================================
   Video Grid - Remove Gap Between Video and White Box
========================================================= */

.henrich-video-grid .et_pb_column {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

.henrich-video-grid .et_pb_module,
.henrich-video-grid .et_pb_video,
.henrich-video-grid .et_pb_video_box,
.henrich-video-grid .henrich-box {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.henrich-video-grid .et_pb_video iframe {
  display: block !important;
}

.henrich-video-grid .henrich-box {
  background: #ffffff !important;
  padding: 1.5em !important;
  min-height: 180px !important;
}

/* API-driven home video cards */
.henrich-video-grid-live {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px;
  width: 100%;
}

.henrich-video-card-cover img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.henrich-video-card-subtitle,
.henrich-showcase-subtitle {
  font-size: 16px;
  color: #555;
  margin-bottom: 8px;
}

.henrich-showcase-video .et_pb_video_box,
.henrich-showcase-video iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
}

.henrich-video-card-button {
  margin-top: 12px;
}

.product-showcase.henrich-showcase-live .product-tabs {
  grid-template-columns: repeat(var(--henrich-showcase-tab-count, 4), 1fr) !important;
}

/* =========================================================
   10. Featured Slider
========================================================= */

.featured-slider {
  position: relative;
  display: flex;
  align-items: center;
}

.slider-track {
  display: flex;
  gap: 20px;
  overflow: hidden;
  width: 100%;
}

.slide {
  flex: 0 0 25%;
}

.slide img {
  width: 100%;
  height: auto;
  display: block;
}

.slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: var(--he-white);
  border: none;
  font-size: 30px;
  cursor: pointer;
  z-index: 10;
  padding: 5px 10px;
}

.slider-btn.prev {
  left: -10px;
}

.slider-btn.next {
  right: -10px;
}

.slider-btn:hover {
  color: var(--he-orange);
}


/* =========================================================
   11. Footer
========================================================= */

.site-footer-custom {
  background: var(--he-blue-dark) !important;
  background-image: none !important;
  color: var(--he-white);
}

.site-footer-custom .et_pb_row,
.site-footer-custom .et_pb_column,
.site-footer-custom .et_pb_module,
.site-footer-custom .et_pb_text,
.site-footer-custom .et_pb_blurb,
.site-footer-custom .et_pb_code,
.site-footer-custom .et_pb_menu,
.site-footer-custom .et_pb_menu_inner_container,
.site-footer-custom .et_pb_menu__wrap,
.site-footer-custom .et_pb_button_module_wrapper,
.site-footer-custom .et_pb_newsletter,
.site-footer-custom .et_pb_newsletter_form,
.site-footer-custom .et_pb_newsletter_fields,
.footer-bottom-bar,
.footer-bottom-menu {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.site-footer-custom h3,
.site-footer-custom h4 {
  color: var(--he-white) !important;
  font-size: 20px !important;
  font-weight: 800;
  border-bottom: 1px solid rgba(255,255,255,0.45);
  padding-bottom: 8px !important;
  margin-bottom: 16px !important;
}

/* Column heading modules — one underline on inner text, not module + text.
   Live Theme Builder IDs (Jul 2026): 1,3,6,7,12,14,16.
   Do NOT include 9/10/11 (hours) or 13 (career body). */
.et_pb_section_0_tb_footer .footer-column > .et_pb_text:first-child,
.et_pb_section_0_tb_footer .et_pb_text_1_tb_footer,
.et_pb_section_0_tb_footer .et_pb_text_3_tb_footer,
.et_pb_section_0_tb_footer .et_pb_text_6_tb_footer,
.et_pb_section_0_tb_footer .et_pb_text_7_tb_footer,
.et_pb_section_0_tb_footer .et_pb_text_12_tb_footer,
.et_pb_section_0_tb_footer .et_pb_text_14_tb_footer,
.et_pb_section_0_tb_footer .et_pb_text_16_tb_footer,
footer.et-l--footer .et_pb_text_1_tb_footer,
footer.et-l--footer .et_pb_text_3_tb_footer,
footer.et-l--footer .et_pb_text_6_tb_footer,
footer.et-l--footer .et_pb_text_7_tb_footer,
footer.et-l--footer .et_pb_text_12_tb_footer,
footer.et-l--footer .et_pb_text_14_tb_footer,
footer.et-l--footer .et_pb_text_16_tb_footer {
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  width: fit-content !important;
  max-width: 100% !important;
}

.et_pb_section_0_tb_footer .footer-column > .et_pb_text:first-child .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_text_1_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_text_3_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_text_6_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_text_7_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_text_12_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_text_14_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_text_16_tb_footer .et_pb_text_inner {
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

.et_pb_section_0_tb_footer .footer-column > .et_pb_text:first-child .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_text_1_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_text_3_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_text_6_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_text_7_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_text_12_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_text_14_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_text_16_tb_footer .et_pb_text_inner > p {
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.45) !important;
  padding-bottom: 8px !important;
  margin: 0 0 16px !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

/* Contact Us hours + Career / Help body — match Company Information & Information & News
   body link typography (Alibaba 18px / 400). Divi module Design often forces Archivo. */
.et_pb_section_0_tb_footer .et_pb_text_8_tb_footer,
.et_pb_section_0_tb_footer .et_pb_text_9_tb_footer,
.et_pb_section_0_tb_footer .et_pb_text_10_tb_footer,
.et_pb_section_0_tb_footer .et_pb_text_11_tb_footer,
.et_pb_section_0_tb_footer .et_pb_text_13_tb_footer,
.et_pb_section_0_tb_footer .et_pb_text_17_tb_footer,
footer.et-l--footer .et_pb_text_8_tb_footer,
footer.et-l--footer .et_pb_text_9_tb_footer,
footer.et-l--footer .et_pb_text_10_tb_footer,
footer.et-l--footer .et_pb_text_11_tb_footer,
footer.et-l--footer .et_pb_text_13_tb_footer,
footer.et-l--footer .et_pb_text_17_tb_footer {
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--font-primary) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

.et_pb_section_0_tb_footer .et_pb_text_8_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_text_9_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_text_10_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_text_11_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_text_13_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_text_17_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_text_8_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_text_9_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_text_10_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_text_11_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_text_13_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_text_17_tb_footer .et_pb_text_inner > p,
footer.et-l--footer .et_pb_text_8_tb_footer .et_pb_text_inner,
footer.et-l--footer .et_pb_text_9_tb_footer .et_pb_text_inner,
footer.et-l--footer .et_pb_text_10_tb_footer .et_pb_text_inner,
footer.et-l--footer .et_pb_text_11_tb_footer .et_pb_text_inner,
footer.et-l--footer .et_pb_text_13_tb_footer .et_pb_text_inner,
footer.et-l--footer .et_pb_text_17_tb_footer .et_pb_text_inner,
footer.et-l--footer .et_pb_text_8_tb_footer .et_pb_text_inner > p,
footer.et-l--footer .et_pb_text_9_tb_footer .et_pb_text_inner > p,
footer.et-l--footer .et_pb_text_10_tb_footer .et_pb_text_inner > p,
footer.et-l--footer .et_pb_text_11_tb_footer .et_pb_text_inner > p,
footer.et-l--footer .et_pb_text_13_tb_footer .et_pb_text_inner > p,
footer.et-l--footer .et_pb_text_17_tb_footer .et_pb_text_inner > p {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  font-family: var(--font-primary) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  color: var(--he-white) !important;
}

.et_pb_section_0_tb_footer .et_pb_text_8_tb_footer .et_pb_text_inner > p u,
.et_pb_section_0_tb_footer .et_pb_text_9_tb_footer .et_pb_text_inner > p u,
.et_pb_section_0_tb_footer .et_pb_text_10_tb_footer .et_pb_text_inner > p u,
.et_pb_section_0_tb_footer .et_pb_text_11_tb_footer .et_pb_text_inner > p u,
.et_pb_section_0_tb_footer .et_pb_text_13_tb_footer .et_pb_text_inner > p u,
.et_pb_section_0_tb_footer .et_pb_text_17_tb_footer .et_pb_text_inner > p u,
.et_pb_section_0_tb_footer .et_pb_text_8_tb_footer .et_pb_text_inner > p strong,
.et_pb_section_0_tb_footer .et_pb_text_9_tb_footer .et_pb_text_inner > p strong,
.et_pb_section_0_tb_footer .et_pb_text_10_tb_footer .et_pb_text_inner > p strong,
.et_pb_section_0_tb_footer .et_pb_text_11_tb_footer .et_pb_text_inner > p strong,
.et_pb_section_0_tb_footer .et_pb_text_13_tb_footer .et_pb_text_inner > p strong,
.et_pb_section_0_tb_footer .et_pb_text_17_tb_footer .et_pb_text_inner > p strong {
  font-family: var(--font-primary) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  border: none !important;
}

/* Contact Us body lines are 4 separate modules — collapse column flex gap so
   stack spacing matches Career Opportunities paragraph line rhythm. */
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer {
  gap: 0 !important;
  row-gap: 0 !important;
}

.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer > .et_pb_text_7_tb_footer {
  margin-bottom: 16px !important;
}

.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer > .et_pb_text_8_tb_footer,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer > .et_pb_text_9_tb_footer,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer > .et_pb_text_10_tb_footer,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer > .et_pb_text_11_tb_footer,
footer.et-l--footer .et_pb_column_5_tb_footer > .et_pb_text_8_tb_footer,
footer.et-l--footer .et_pb_column_5_tb_footer > .et_pb_text_9_tb_footer,
footer.et-l--footer .et_pb_column_5_tb_footer > .et_pb_text_10_tb_footer,
footer.et-l--footer .et_pb_column_5_tb_footer > .et_pb_text_11_tb_footer {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer > .et_pb_text_8_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer > .et_pb_text_9_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer > .et_pb_text_10_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer > .et_pb_text_11_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer > .et_pb_text_8_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer > .et_pb_text_9_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer > .et_pb_text_10_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer > .et_pb_text_11_tb_footer .et_pb_text_inner > p,
footer.et-l--footer .et_pb_column_5_tb_footer > .et_pb_text_8_tb_footer .et_pb_text_inner > p,
footer.et-l--footer .et_pb_column_5_tb_footer > .et_pb_text_9_tb_footer .et_pb_text_inner > p,
footer.et-l--footer .et_pb_column_5_tb_footer > .et_pb_text_10_tb_footer .et_pb_text_inner > p,
footer.et-l--footer .et_pb_column_5_tb_footer > .et_pb_text_11_tb_footer .et_pb_text_inner > p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}

/* Space before Contact Us button only (keep button clear of hours stack) */
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer > .et_pb_text_11_tb_footer {
  margin-bottom: 16px !important;
}

.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer > .et_pb_button_module_wrapper {
  margin-top: 0 !important;
}

.et_pb_section_0_tb_footer .et_pb_text_13_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_text_17_tb_footer .et_pb_text_inner > p {
  margin-bottom: 12px !important;
}

.site-footer-custom a,
.site-footer-custom p,
.site-footer-custom li {
  color: var(--he-white);
}

.site-footer-custom a:hover {
  color: var(--he-orange);
}

.site-footer-custom .et_pb_menu li,
.site-footer-custom .et_pb_menu li a {
  background: transparent !important;
  color: var(--he-white) !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  line-height: 1.5em !important;
}

.site-footer-custom .et_pb_menu .et-menu {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
}

.site-footer-custom input[type="email"],
.site-footer-custom .et_pb_newsletter_field input {
  background: transparent !important;
  color: var(--he-white) !important;
  border: 2px solid var(--he-white) !important;
  border-radius: 5px !important;
  padding: 14px 16px !important;
}

.site-footer-custom input[type="email"]::placeholder,
.site-footer-custom .et_pb_newsletter_field input::placeholder {
  color: var(--he-white) !important;
  opacity: 1 !important;
}

.site-footer-custom .et_pb_button:hover,
.site-footer-custom input[type="submit"]:hover,
.site-footer-custom button:hover,
.site-footer-custom .et_pb_newsletter_button:hover {
  background: var(--he-orange) !important;
  color: var(--he-white) !important;
  border-color: var(--he-orange) !important;
  transform: none !important;
}

.site-footer-custom .et_pb_button:before,
.site-footer-custom .et_pb_button:after,
.site-footer-custom .et_pb_newsletter_button:before,
.site-footer-custom .et_pb_newsletter_button:after {
  display: none !important;
}

.footer-bottom-bar {
  border-top: none !important;
  margin-top: 10px !important;
  padding-top: 0 !important;
  padding-bottom: 10px !important;
}

/* Policy menu centered between matching top/bottom lines */
.et_pb_section_0_tb_footer .footer-bottom-menu.et_pb_menu {
  border-top: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25) !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  margin-top: 0 !important;
  margin-bottom: 4px !important;
  width: 100% !important;
}

/* Trust-section headings — Shop With Confidence (left) + Accreditations (centered) */
.et_pb_section_0_tb_footer .et_pb_text_18_tb_footer,
.et_pb_section_0_tb_footer .et_pb_text_21_tb_footer {
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
  border-bottom: 1px solid #ffffff !important;
  padding-bottom: 0 !important;
  margin-bottom: 16px !important;
}

.et_pb_section_0_tb_footer .et_pb_text_21_tb_footer {
  margin-left: auto !important;
  margin-right: auto !important;
}

.et_pb_section_0_tb_footer .et_pb_text_18_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_text_18_tb_footer .et_pb_text_inner > p span,
.et_pb_section_0_tb_footer .et_pb_text_21_tb_footer .et_pb_text_inner > h2,
.et_pb_section_0_tb_footer .et_pb_text_21_tb_footer .et_pb_text_inner > p {
  display: block !important;
  width: auto !important;
  border-bottom: none !important;
  padding-bottom: 8px !important;
  margin: 0 !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: var(--he-white) !important;
}

/* Copyright — match policy menu text, no underline */
.et_pb_section_0_tb_footer .et_pb_text_22_tb_footer {
  border-bottom: none !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  width: 100% !important;
  text-align: center !important;
}

.et_pb_section_0_tb_footer .et_pb_text_22_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_text_22_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_text_22_tb_footer .et_pb_text_inner > p span {
  border-bottom: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 1.5em !important;
  color: var(--he-white) !important;
  opacity: 0.9 !important;
  text-align: center !important;
}

/* Accreditations heading → logo row */
.et_pb_section_0_tb_footer .et_pb_text_21_tb_footer {
  margin-bottom: 4px !important;
}

.et_pb_section_0_tb_footer .et_pb_row_4_tb_footer {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.et_pb_section_0_tb_footer .et_pb_row_5_tb_footer {
  padding-top: 4px !important;
  padding-bottom: 16px !important;
}

/* Shop With Confidence — left-aligned block (desktop + mobile) */
.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer > .et_pb_column {
  align-items: flex-start !important;
  text-align: left !important;
}

.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_text,
.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_image {
  width: auto !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}

.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_text_18_tb_footer {
  display: block !important;
  width: fit-content !important;
  max-width: 520px !important;
}

.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_text_19_tb_footer,
.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_text_19_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .footer_clm2_text2_safe,
.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .footer_clm2_text2_clm2 {
  text-align: left !important;
  width: auto !important;
  max-width: 520px !important;
}

.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .footer_clm2_text2_safe h2.icon {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  border: none !important;
  color: var(--he-white) !important;
}

.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .footer_clm2_text2_safe h2.icon img {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  margin: 0 8px 0 0 !important;
  flex: 0 0 auto !important;
  object-fit: contain !important;
}

.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .footer_clm2_text2_clm2 {
  margin: 0 0 12px !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_image_2_tb_footer,
.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_image_2_tb_footer .et_pb_image_wrap {
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}

.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_image_2_tb_footer img {
  margin-left: 0 !important;
  margin-right: auto !important;
}

.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_text_20_tb_footer,
.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_text_20_tb_footer .et_pb_text_inner,
.et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_text_20_tb_footer .et_pb_text_inner > p {
  text-align: left !important;
  width: auto !important;
  max-width: 520px !important;
  margin-left: 0 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

/* Accreditations logo row — horizontal slider on mobile */
@media only screen and (min-width: 981px) {
  .henrich-accreditations-slider-wrap {
    display: contents !important;
  }

  .henrich-accreditations-slider-arrow {
    display: none !important;
  }
}

@media only screen and (max-width: 980px) {
  .henrich-accreditations-slider-wrap {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 34px !important;
    box-sizing: border-box !important;
    border-top: none !important;
    border-bottom: none !important;
  }

  .site-footer-custom .accreditations-row-slider-mobile,
  .et_pb_section_0_tb_footer .accreditations-row-slider-mobile {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 6px 0 10px !important;
    border-top: none !important;
    border-bottom: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    scrollbar-width: none !important;
  }

  .site-footer-custom .accreditations-row-slider-mobile::-webkit-scrollbar,
  .et_pb_section_0_tb_footer .accreditations-row-slider-mobile::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  .site-footer-custom .accreditations-row-slider-mobile > .et_pb_column,
  .et_pb_section_0_tb_footer .accreditations-row-slider-mobile > .et_pb_column {
    flex: 0 0 46% !important;
    width: 46% !important;
    max-width: 46% !important;
    min-width: 46% !important;
    margin: 0 !important;
    padding: 0 !important;
    scroll-snap-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .site-footer-custom .accreditations-row-slider-mobile .et_pb_image,
  .et_pb_section_0_tb_footer .accreditations-row-slider-mobile .et_pb_image {
    width: 100% !important;
    max-width: 168px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .site-footer-custom .accreditations-row-slider-mobile .et_pb_image_wrap,
  .et_pb_section_0_tb_footer .accreditations-row-slider-mobile .et_pb_image_wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 168px !important;
    min-width: 132px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: 0 auto !important;
    padding: 8px 14px !important;
    background: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
    line-height: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
  }

  .site-footer-custom .accreditations-row-slider-mobile .et_pb_image img,
  .et_pb_section_0_tb_footer .accreditations-row-slider-mobile .et_pb_image img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 38px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  .et_pb_section_0_tb_footer .et_pb_row_5_tb_footer.accreditations-row-slider-mobile,
  .et_pb_section_0_tb_footer .accreditations-row-slider-mobile {
    padding-top: 2px !important;
    padding-bottom: 10px !important;
  }

  .henrich-accreditations-slider-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 5 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.45) !important;
    border-radius: 4px !important;
    background: rgba(0, 45, 98, 0.65) !important;
    color: #ffffff !important;
    font-size: 24px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: none !important;
  }

  .henrich-accreditations-slider-arrow:hover,
  .henrich-accreditations-slider-arrow:focus-visible {
    color: var(--he-orange) !important;
    border-color: var(--he-orange) !important;
    outline: none !important;
  }

  .henrich-accreditations-slider-prev {
    left: 0 !important;
  }

  .henrich-accreditations-slider-next {
    right: 0 !important;
  }

  /* Mobile — Shop With Confidence fills column width */
  .et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_text,
  .et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_image {
    width: 100% !important;
    max-width: 100% !important;
  }

  .et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_text_18_tb_footer,
  .et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_text_19_tb_footer,
  .et_pb_section_0_tb_footer .et_pb_row_3_tb_footer .et_pb_text_20_tb_footer {
    max-width: 100% !important;
  }
}

/* Policy menu → copyright */
.et_pb_section_0_tb_footer .footer-bottom-bar .et_pb_column {
  gap: 8px !important;
  row-gap: 8px !important;
}

.et_pb_section_0_tb_footer .footer-bottom-menu.et_pb_menu {
  margin-bottom: 0 !important;
}

.site-footer-custom .footer-bottom-menu.et_pb_menu,
.site-footer-custom .footer-bottom-menu .et_pb_menu_inner_container,
.site-footer-custom .footer-bottom-menu .et_pb_menu__wrap,
.site-footer-custom .footer-bottom-menu .et-menu-nav,
.site-footer-custom .footer-bottom-menu .et-menu {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: transparent !important;
}

.site-footer-custom .footer-bottom-menu .et-menu {
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 18px !important;
}

.site-footer-custom .footer-bottom-menu .et-menu > li {
  display: inline-flex !important;
  margin: 0 !important;
}

.footer-bottom-menu .et-menu li a,
.footer-bottom-bar .et-menu a {
  font-size: 13px !important;
  color: var(--he-white) !important;
  opacity: 0.9;
}

/* Policy menu — never collapse to Divi hamburger (Terms, Privacy, etc.) */
.site-footer-custom .footer-bottom-menu .et_mobile_nav_menu,
.site-footer-custom .footer-bottom-menu .mobile_nav,
.site-footer-custom .footer-bottom-menu .mobile_menu_bar,
.site-footer-custom .footer-bottom-menu .et_mobile_menu {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-footer-custom .footer-bottom-menu .et_pb_menu__menu,
.site-footer-custom .footer-bottom-menu .et-menu-nav,
.site-footer-custom .footer-bottom-menu .et-menu {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  float: none !important;
  height: auto !important;
  max-height: none !important;
}

@media only screen and (max-width: 980px) {
  .site-footer-custom .footer-bottom-menu .et-menu,
  .et_pb_section_0_tb_footer .footer-bottom-menu .et-menu {
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }

  .site-footer-custom .footer-bottom-menu .et-menu > li,
  .et_pb_section_0_tb_footer .footer-bottom-menu .et-menu > li {
    display: inline-flex !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-footer-custom .footer-bottom-menu .et-menu > li > a,
  .et_pb_section_0_tb_footer .footer-bottom-menu .et-menu > li > a,
  .footer-bottom-menu .et-menu li a {
    display: inline-block !important;
    white-space: normal !important;
    text-align: center !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
  }

  .et_pb_section_0_tb_footer .footer-bottom-menu.et_pb_menu {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Prevent footer newsletter module from being hidden on frontend */
.site-footer-custom .et_pb_newsletter,
.site-footer-custom .et_pb_newsletter:empty,
.site-footer-custom .et_pb_newsletter_form,
.site-footer-custom .et_pb_newsletter_fields,
.site-footer-custom .et_pb_newsletter_field {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}

/* Footer Email Optin Field - catch Divi's text-based email input */
.site-footer-custom .et_pb_newsletter_field input,
.site-footer-custom .et_pb_newsletter_form input.input,
.site-footer-custom input#et_pb_signup_email {
  display: block !important;
  width: 100% !important;
  max-width: 320px !important;
  min-height: 48px !important;
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  border-radius: 5px !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-shadow: none !important;
}

.site-footer-custom .et_pb_newsletter_button {
  min-width: 140px !important;
  white-space: nowrap !important;
}

/* =========================
   Footer Layout Stability
========================= */

.site-footer-custom .footer-column {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 16px !important;
}

/* Contact Us column only — must beat .footer-column gap:16px (same file, later + higher specificity).
   Hours are separate modules (text_8–11); gap was the spacing that never collapsed. */
.site-footer-custom.et_pb_column_5_tb_footer.footer-column,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer.footer-column,
footer.et-l--footer .et_pb_column_5_tb_footer.footer-column,
#main-footer .et_pb_column_5_tb_footer.footer-column {
  gap: 0 !important;
  row-gap: 0 !important;
  column-gap: 0 !important;
}

.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_7_tb_footer,
footer.et-l--footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_7_tb_footer {
  margin-bottom: 16px !important;
}

.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_8_tb_footer,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_9_tb_footer,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_10_tb_footer,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_11_tb_footer,
footer.et-l--footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_8_tb_footer,
footer.et-l--footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_9_tb_footer,
footer.et-l--footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_10_tb_footer,
footer.et-l--footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_11_tb_footer {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Strip heading leftovers on hours lines; keep Career-like 1.5 line box only */
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_8_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_9_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_10_tb_footer .et_pb_text_inner > p,
.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_11_tb_footer .et_pb_text_inner > p,
footer.et-l--footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_8_tb_footer .et_pb_text_inner > p,
footer.et-l--footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_9_tb_footer .et_pb_text_inner > p,
footer.et-l--footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_10_tb_footer .et_pb_text_inner > p,
footer.et-l--footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_11_tb_footer .et_pb_text_inner > p {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-bottom: none !important;
  width: 100% !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  font-size: 18px !important;
}

.et_pb_section_0_tb_footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_11_tb_footer,
footer.et-l--footer .et_pb_column_5_tb_footer.footer-column > .et_pb_text_11_tb_footer {
  margin-bottom: 16px !important;
}

.site-footer-custom .footer-column > .et_pb_module,
.site-footer-custom .footer-column > .et_pb_row {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.site-footer-custom .footer-column h3,
.site-footer-custom .footer-column h4 {
  width: 100% !important;
  margin-bottom: 0 !important;
}

.site-footer-custom .footer-column p {
  margin-bottom: 0 !important;
}

/* =========================
   Footer Social Icons
========================= */

/* Nested social icon row */
.site-footer-custom .footer-social-icons.et_pb_row {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-footer-custom .footer-social-icons .et_pb_column {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-footer-custom .footer-social-icon {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.site-footer-custom .footer-social-icon .et-pb-icon {
  font-size: 24px !important;
  line-height: 1 !important;
  transition: color 0.2s ease !important;
}

.site-footer-custom .footer-social-icon:hover .et-pb-icon {
  color: var(--he-orange) !important;
}

/* =========================
   Footer Row Spacing Cleanup
========================= */

.site-footer-custom.footer-main-row,
.site-footer-custom.footer-secondary-row {
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: auto !important;
}

/* Remove Divi default row spacing */
.site-footer-custom.et_pb_row {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Tighten spacing between footer rows */
.footer-secondary-row {
  margin-top: 0 !important;
}

/* Remove hidden flex spacing */
.footer-main-row.et_pb_row,
.footer-secondary-row.et_pb_row {
  align-items: flex-start !important;
}

/* Remove extra spacing from modules */
.footer-main-row .et_pb_module,
.footer-secondary-row .et_pb_module {
  margin-bottom: 0 !important;
}

/* =========================
   Footer Section Spacing
========================= */

.et_pb_section_0_tb_footer.et_pb_section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Control spacing between footer rows directly */
.et_pb_section_0_tb_footer .footer-main-row {
  margin-bottom: 4px !important;
}

.et_pb_section_0_tb_footer .footer-secondary-row {
  margin-top: 0 !important;
}

/* Remove Divi default row padding inside footer */
.et_pb_section_0_tb_footer .et_pb_row {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.footer-main-row.et_pb_row {
  margin-bottom: 0 !important;
}

/* Footer newsletter field visibility */
.site-footer-custom .et_pb_newsletter_form,
.site-footer-custom .et_pb_newsletter_fields {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.site-footer-custom .et_pb_newsletter_field,
.site-footer-custom .et_pb_newsletter_field p {
  display: block !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
}

.site-footer-custom .et_pb_newsletter_field input,
.site-footer-custom input[type="email"] {
  display: block !important;
  width: 100% !important;
  max-width: 320px !important;
  height: auto !important;
  min-height: 48px !important;

  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  border-radius: 5px !important;

  padding: 12px 16px !important;
  font-size: 16px !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-shadow: none !important;
}

.site-footer-custom .et_pb_newsletter_field input::placeholder {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Injected footer newsletter (Divi opt-in shell is empty on frontend) */
.site-footer-custom .henrich-footer-newsletter-ready {
  width: 100% !important;
  min-height: 48px !important;
}

.site-footer-custom .henrich-footer-newsletter-form form,
.site-footer-custom .henrich-footer-newsletter-form-inner {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 !important;
}

.site-footer-custom .henrich-footer-newsletter-form .et_pb_newsletter_fields {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 !important;
  min-width: 0 !important;
}

.site-footer-custom .henrich-footer-newsletter-form .et_pb_newsletter_button_wrap {
  display: block !important;
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.site-footer-custom .et_pb_newsletter_button,
.site-footer-custom button.et_pb_newsletter_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 12px 20px !important;
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  border-radius: 5px !important;
  cursor: pointer !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

.site-footer-custom .henrich-footer-newsletter-form input.is-error {
  border-color: #ff8a65 !important;
}

.site-footer-custom .henrich-footer-newsletter-success,
.site-footer-custom .henrich-footer-newsletter-error {
  margin: 8px 0 0 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.site-footer-custom .henrich-footer-newsletter-success {
  color: #ffffff !important;
}

.site-footer-custom .henrich-footer-newsletter-error {
  color: #ffccbc !important;
}

/* =========================================================
   12. Single Product Template Layout
========================================================= */

.et_pb_row.single-product-layout {
  --single-product-buy-width: 392px;
  --single-product-layout-gap: 24px;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--single-product-buy-width) !important;
  gap: var(--single-product-layout-gap) !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 1400px !important;
}

.et_pb_row.single-product-layout .et_pb_column {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  min-width: 0 !important;
}

.single-product-content-col {
  grid-column: 1 !important;
  min-width: 0 !important;
}

.single-product-buy-col {
  grid-column: 2 !important;
  width: var(--single-product-buy-width) !important;
  min-width: var(--single-product-buy-width) !important;
  max-width: var(--single-product-buy-width) !important;
  align-self: start !important;
}

/* =========================================================
   Single Product Template Refinement
========================================================= */

.et_pb_row.single-product-layout {
  align-items: start !important;
}

/* Make image + summary cards lay flat inside the main product area */
.single-product-layout .product-image-card,
.single-product-layout .product-summary-card {
  box-shadow: none !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.single-product-layout .single-product-summary-module,
.single-product-layout .single-product-summary-module .et_pb_code_inner,
.single-product-layout #product-summary {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Prevent the image card from stretching taller than its content */
.single-product-layout .product-image-card {
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
}

/* Keep the product image from creating excess vertical space */
.single-product-layout .product-image-card img {
  height: auto !important;
  max-height: 320px !important;
  object-fit: contain !important;
}

/* Keep both top-level cards visually balanced */
.single-product-layout .product-summary-card {
  align-self: start !important;
}

/* Hero summary — Alibaba PuHuiTi 2.0 (title, MPN, feature bullets, intro) */
.single-product-layout #product-summary .product-summary-inner h1,
.single-product-layout .single-product-summary-module .product-summary-inner h1,
body:has(#product-buy-box) #product-summary .product-summary-inner h1,
body.page-id-176 #product-summary .product-summary-inner h1 {
  font-family: var(--font-primary) !important;
}

.single-product-layout #product-summary .product-meta,
.single-product-layout #product-summary .product-meta p,
.single-product-layout #product-summary .product-meta strong,
body:has(#product-buy-box) #product-summary .product-meta,
body:has(#product-buy-box) #product-summary .product-meta p,
body:has(#product-buy-box) #product-summary .product-meta strong,
body.page-id-176 #product-summary .product-meta,
body.page-id-176 #product-summary .product-meta p,
body.page-id-176 #product-summary .product-meta strong {
  font-family: var(--font-primary) !important;
}

.single-product-layout #product-summary .product-feature-list li,
.single-product-layout #product-summary .product-intro-block,
.single-product-layout #product-summary .product-intro-content,
.single-product-layout #product-summary .product-intro-table td,
body:has(#product-buy-box) #product-summary .product-feature-list li,
body:has(#product-buy-box) #product-summary .product-intro-content,
body.page-id-176 #product-summary .product-feature-list li,
body.page-id-176 #product-summary .product-intro-content {
  font-family: var(--font-primary) !important;
}

/* =========================================================
   Single Product Detail Sections - Mockup Style
========================================================= */

/* Overall spacing between sections */
.single-product-layout .product-section-card {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 28px !important;
}

/* Section headings — bold per Jul 17 QA (text paired with orange boxes) */
.single-product-layout .product-section-card h2 {
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 0 10px !important;
  color: #111 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Orange icon before headings */
.single-product-layout .product-section-card h2::before {
  content: "▦";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 16px;
  background: var(--he-orange);
  color: #fff;
  font-size: 11px;
  line-height: 1;
  border-radius: 3px;
}

/* Shared orange bordered content boxes */
.single-product-layout .product-description-content,
.single-product-layout .product-overview-content,
.single-product-layout .product-specifications-content {
  border: 2px solid var(--he-orange) !important;
  border-radius: 5px !important;
  background: #fff !important;
  padding: 24px 28px 14px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: #111 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Models table — spec-style blue connector lines */
.single-product-layout .product-models-section .product-models-table {
  width: 100% !important;
  table-layout: fixed !important;
}

.single-product-layout .product-models-section .product-models-table-wrap {
  border: 2px solid var(--he-orange) !important;
  border-radius: 5px !important;
  background: #fff !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 8px 0 !important;
}

.single-product-layout .product-models-section .product-models-table {
  margin: 0 !important;
}

.single-product-layout .product-models-section .product-models-table td {
  padding: 10px 20px !important;
}

.single-product-layout .product-models-section .product-models-table td:first-child {
  --henrich-blue-pad-y: 10px;
  width: 34% !important;
  padding-left: 34px !important;
  font-weight: 600 !important;
  position: relative !important;
  border-top: 1px solid #e6e6e6 !important;
}

.single-product-layout .product-models-section .product-models-table td:nth-child(2) {
  border-top: 1px solid #e6e6e6 !important;
}

.single-product-layout .product-models-section .product-models-table tr:first-child td {
  border-top: none !important;
}

.single-product-layout .product-models-section .product-models-table td:first-child::before {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 1px !important;
  background: #2e63c6 !important;
}

.single-product-layout .product-models-section .product-models-table td:first-child::after {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  /* First-line optical center — not 50% of tall multi-line rows */
  top: calc(var(--henrich-blue-pad-y, 10px) + 0.5em - 0.5px) !important;
  transform: none !important;
  width: 14px !important;
  height: 1px !important;
  background: #2e63c6 !important;
}

.single-product-layout .product-models-section .product-models-table td:first-child a {
  color: #111;
  text-decoration: none;
  font-weight: 700;
}

.single-product-layout .product-models-section .product-models-table td:first-child a:hover {
  color: var(--he-orange, #ff7306);
}

.single-product-layout .product-models-content:empty {
  display: none !important;
}

/* Description paragraph spacing */
.single-product-layout .product-description-content p,
.single-product-layout .product-overview-content p {
  margin: 0 !important;
}

/* Specifications table: flatter, mockup-like */
.single-product-layout .product-spec-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: transparent !important;
}

.single-product-layout .product-spec-table tr {
  border-bottom: none !important;
}

.single-product-layout .product-spec-table th,
.single-product-layout .product-spec-table td {
  background: transparent !important;
  border: none !important;
  padding: 7px 14px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  vertical-align: top !important;
}

.single-product-layout .product-spec-table th {
  width: 42% !important;
  font-weight: 500 !important;
  color: #111 !important;
}

.single-product-layout .product-spec-table td {
  color: #111 !important;
}

/* Models section */
.single-product-layout .product-models-content {
  display: block !important;
}

.single-product-layout .product-models-content.product-models-list {
  border: 2px solid var(--he-orange) !important;
  border-radius: 5px !important;
  background: #fff !important;
  padding: 20px 28px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: #111 !important;
  box-sizing: border-box !important;
}

.single-product-layout .product-models-list .product-model-entry {
  margin-bottom: 18px;
}

.single-product-layout .product-models-list .product-model-entry:last-child {
  margin-bottom: 0;
}

.single-product-layout .product-models-list .product-model-part {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #111;
  margin: 0 0 6px;
  text-decoration: none;
  line-height: 1.35;
}

.single-product-layout .product-models-list .product-model-part:hover {
  color: var(--he-orange, #ff7306);
}

.single-product-layout .product-models-list .product-model-info {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  color: #333;
}

/* Tighten large empty spacing */
.single-product-layout .product-section-card:empty {
  display: none !important;
}

.single-product-layout .product-section-card,
.single-product-layout .product-section-card .et_pb_module,
.single-product-layout .product-section-card .et_pb_code_inner,
.single-product-layout .product-section-card > div {
  width: 100% !important;
  max-width: 100% !important;
}

/* =========================================================
   Single Product Top Tabs
========================================================= */

.single-product-tabs {
  display: flex;
  align-items: center;
  gap: 28px;
  background: transparent;
  border: none;
  border-radius: 0;
  overflow: visible;
  width: fit-content;
  max-width: 100%;
  margin-bottom: 18px;
}

/* Individual tab */
.single-product-tab {
  position: relative;
  appearance: none;
  border: none;
  padding: 14px 4px;
  font-size: 18px;
  font-weight: 600;
  color: #111;
  background: transparent;
  line-height: 1.2;
  cursor: pointer;
  white-space: nowrap;
}

/* Active orange underline */
.single-product-tab.active::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 0;
  height: 4px;
  background: var(--he-orange);
  border-radius: 2px;
}

/* Optional inactive styling */
.single-product-tab:not(.active) {
  color: #333;
  opacity: 0.85;
}

.single-product-tab:focus-visible {
  outline: 2px solid var(--he-orange, #ff7306);
  outline-offset: 2px;
}

/* Product summary intro (Bullet Point) — mockup blue branch list */
.product-intro-block {
  margin: 16px 0 18px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  word-wrap: break-word;
  word-break: break-word;
  white-space: normal;
  font-family: var(--font-primary) !important;
}

.product-summary-card {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

.product-summary-inner {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.product-summary-inner .product-intro-block {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.product-intro-content.product-intro-list-wrap,
.product-intro-content.product-intro-rich,
.product-intro-content.product-intro-table-wrap {
  --henrich-intro-blue: #4a7ebb;
  /* Optical center of the first text line (capitals), not half of
     line-height (that sits low in the line box) and not 50% of the
     full multi-line item height. */
  --henrich-intro-pad-y: 8px;
  --henrich-intro-line-height: 1.5;
  --henrich-blue-pad-y: var(--henrich-intro-pad-y);
  --henrich-intro-branch-top: calc(var(--henrich-intro-pad-y) + 0.5em - 0.5px);
  --henrich-intro-spine-left: 0;
  --henrich-intro-branch-width: 13px;
  --henrich-intro-text-indent: 28px;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow-wrap: anywhere !important;
  word-wrap: break-word !important;
  word-break: break-word !important;
  white-space: normal !important;
  font-family: var(--font-primary) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #1f1f1f !important;
}

.product-intro-list,
.product-intro-rich ul,
.product-intro-rich ol {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.product-intro-list::before,
.product-intro-rich ul::before,
.product-intro-rich ol::before {
  content: "" !important;
  position: absolute !important;
  left: var(--henrich-intro-spine-left) !important;
  top: var(--henrich-intro-branch-top) !important;
  bottom: var(--henrich-intro-branch-top) !important;
  width: 1px !important;
  background: var(--henrich-intro-blue) !important;
  pointer-events: none !important;
}

.product-intro-list li,
.product-intro-rich li {
  position: relative !important;
  margin: 0 !important;
  padding: var(--henrich-intro-pad-y, 8px) 0 var(--henrich-intro-pad-y, 8px)
    var(--henrich-intro-text-indent) !important;
  border: none !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow-wrap: anywhere !important;
  word-wrap: break-word !important;
  word-break: break-word !important;
  white-space: normal !important;
  font-family: var(--font-primary) !important;
  font-size: 14px !important;
  line-height: var(--henrich-intro-line-height, 1.5) !important;
  color: #1f1f1f !important;
  background: transparent !important;
}

.product-intro-list li::before,
.product-intro-rich li::before {
  display: none !important;
  content: none !important;
}

.product-intro-list li::after,
.product-intro-rich li::after {
  content: "" !important;
  position: absolute !important;
  left: var(--henrich-intro-spine-left) !important;
  top: var(--henrich-intro-branch-top) !important;
  width: var(--henrich-intro-branch-width) !important;
  height: 1px !important;
  background: var(--henrich-intro-blue) !important;
  pointer-events: none !important;
}

.product-intro-list li strong,
.product-intro-rich li strong {
  font-weight: 700 !important;
}

/* Legacy table markup — keep mockup look if cached HTML is still a table */
.single-product-layout #product-summary .product-intro-content.product-intro-table-wrap .product-intro-table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
  margin: 0 !important;
  position: relative !important;
}

.single-product-layout #product-summary .product-intro-table::before {
  content: "" !important;
  position: absolute !important;
  left: var(--henrich-intro-spine-left) !important;
  top: var(--henrich-intro-branch-top) !important;
  bottom: var(--henrich-intro-branch-top) !important;
  width: 1px !important;
  background: var(--henrich-intro-blue) !important;
  pointer-events: none !important;
}

.single-product-layout #product-summary .product-spec-table.product-intro-table th::before,
.single-product-layout #product-summary .product-spec-table.product-intro-table th::after,
.single-product-layout #product-summary .product-spec-table.product-intro-table td::before {
  display: none !important;
  content: none !important;
}

.single-product-layout #product-summary .product-spec-table.product-intro-table tr::after {
  display: none !important;
}

.single-product-layout #product-summary .product-spec-table.product-intro-table td,
.single-product-layout #product-summary .product-spec-table.product-intro-table th {
  border-top: none !important;
  border-bottom: none !important;
  padding: 8px 0 8px var(--henrich-intro-text-indent) !important;
  background: transparent !important;
  font-family: var(--font-primary) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #1f1f1f !important;
}

.single-product-layout #product-summary .product-spec-table.product-intro-table td::after {
  content: "" !important;
  position: absolute !important;
  left: var(--henrich-intro-spine-left) !important;
  top: var(--henrich-intro-branch-top) !important;
  width: var(--henrich-intro-branch-width) !important;
  height: 1px !important;
  background: var(--henrich-intro-blue) !important;
  pointer-events: none !important;
}

.single-product-layout #product-summary .product-intro-table td,
.single-product-layout #product-summary .product-intro-content,
body:has(#product-buy-box) #product-summary .product-intro-content,
body.page-id-176 #product-summary .product-intro-content {
  font-family: var(--font-primary) !important;
}

/* Features — orange square bullets */
.single-product-layout .product-feature-heading,
.product-summary-inner .product-feature-heading,
#product-summary .product-feature-heading {
  margin: 18px 0 8px !important;
  padding: 0 !important;
  font-family: var(--font-primary) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #111 !important;
}

.single-product-layout .product-feature-heading[hidden],
.product-summary-inner .product-feature-heading[hidden],
#product-summary .product-feature-heading[hidden] {
  display: none !important;
}

.single-product-layout .product-feature-list,
.product-summary-inner .product-feature-list,
#product-summary .product-feature-list {
  list-style: square !important;
  padding-left: 22px !important;
  margin: 0 !important;
  font-family: var(--font-primary) !important;
}

.single-product-layout .product-feature-list li,
.product-summary-inner .product-feature-list li,
#product-summary .product-feature-list li {
  font-family: var(--font-primary) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  /* Jul 18 QA — reverted the bold/heavy treatment; weight + color come from
     the base .product-feature-list li rule (400 / #222) as before. */
}

.single-product-layout .product-feature-list li::marker,
.product-summary-inner .product-feature-list li::marker {
  color: var(--he-orange, #ff7306) !important;
}

/* Hide downloads in summary — Resources tab only */
.product-summary-inner .product-downloads-inline,
.single-product-summary-module .product-downloads-inline {
  display: none !important;
}

/* Resources panel */
.product-resources-panel {
  width: 100%;
}

.product-resources-panel .product-downloads-inline {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
}

.product-resources-panel .product-downloads-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

@media (min-width: 768px) {
  .product-resources-panel .product-downloads-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Related products carousel */
.related-products-carousel {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.related-products-viewport {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

.related-products-carousel .related-products-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 26px !important;
  grid-template-columns: none !important;
  grid-auto-flow: unset !important;
  overflow: visible !important;
  transition: transform 0.35s ease;
  will-change: transform;
}

.related-products-carousel .related-product-card {
  flex: 0 0 calc((100% - 52px) / 3);
  min-width: calc((100% - 52px) / 3);
  display: flex !important;
}

@media (max-width: 980px) {
  .related-products-carousel .related-product-card {
    flex-basis: calc((100% - 26px) / 2);
    min-width: calc((100% - 26px) / 2);
  }
}

@media (max-width: 600px) {
  .related-products-carousel .related-product-card {
    flex-basis: 100%;
    min-width: 100%;
  }
}

.related-products-carousel .related-product-card:nth-child(n+4) {
  display: flex !important;
}

.related-carousel-prev,
.related-carousel-next {
  flex: 0 0 auto;
}

/* =========================================================
   Specifications Table - Industrial Style
========================================================= */

.product-spec-table {
  width: 100%;
  border-collapse: collapse;
}

/* Each row */
.product-spec-table tr {
  position: relative;
}

/* Left label column */
.product-spec-table th {
  --henrich-blue-pad-y: 14px;
  position: relative;
  width: 34%;
  padding: 14px 24px 14px 34px !important;
  font-weight: 500;
  color: #222;
  vertical-align: top;
}

/* Blue vertical connector */
.product-spec-table th::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #2e63c6;
  opacity: 0.9;
}

/* Blue horizontal dash */
.product-spec-table th::after {
  content: "";
  position: absolute;
  left: 10px;
  top: calc(var(--henrich-blue-pad-y, 14px) + 0.5em - 0.5px);
  transform: none;
  width: 14px;
  height: 1px;
  background: #2e63c6;
}

/* Right column */
.product-spec-table td {
  position: relative;
  padding: 14px 20px !important;
  vertical-align: top;
  color: #222;
}

/* Light gray connector line across row */
.product-spec-table td::before {
  content: "";
  position: absolute;
  left: -12px;
  right: 0;
  top: 0;
  height: 1px;
  background: #e5e5e5;
  opacity: 0.75;
}

/* Remove top line on first row */
.product-spec-table tr:first-child td::before {
  display: none;
}

/* Slight spacing between rows */
.product-spec-table tr:not(:last-child) td,
.product-spec-table tr:not(:last-child) th {
  padding-bottom: 18px !important;
}

.product-spec-category-row th,
.product-spec-category-row td {
  padding-top: 28px !important;
}

.product-spec-category-row th {
  font-weight: 700 !important;
  color: #111 !important;
  font-size: 17px !important;
}

.product-spec-category-row th::before,
.product-spec-category-row th::after,
.product-spec-category-row td::before {
  display: none !important;
}

/* =========================================================
   Single Product Specs - Blue Connector Lines
========================================================= */

.single-product-layout .product-spec-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
}

/* Spec rows */
.single-product-layout .product-spec-table tr {
  position: relative !important;
}

/* Left label column */
.single-product-layout .product-spec-table th {
  --henrich-blue-pad-y: 10px;
  position: relative !important;
  width: 38% !important;
  padding: 10px 24px 10px 34px !important;
  font-weight: 500 !important;
  color: #111 !important;
  background: transparent !important;
  border: none !important;
  vertical-align: top !important;
}

/* Blue vertical connector */
.single-product-layout .product-spec-table th::before {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 1px !important;
  background: #2e63c6 !important;
  display: block !important;
}

/* Blue horizontal dash */
.single-product-layout .product-spec-table th::after {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  /* First-line optical center — not 50% of tall value-driven rows */
  top: calc(var(--henrich-blue-pad-y, 10px) + 0.5em - 0.5px) !important;
  transform: none !important;
  width: 14px !important;
  height: 1px !important;
  background: #2e63c6 !important;
  display: block !important;
}

/* Value column */
.single-product-layout .product-spec-table td {
  position: relative !important;
  padding: 10px 20px !important;
  color: #111 !important;
  background: transparent !important;
  border: none !important;
  vertical-align: top !important;
}

/* Thin gray relationship line across the row */
.single-product-layout .product-spec-table td {
  border-top: 1px solid #e6e6e6 !important;
}

.single-product-layout .product-spec-table th {
  border-top: 1px solid #e6e6e6 !important;
}

/* Remove first row top line */
.single-product-layout .product-spec-table tr:first-child th,
.single-product-layout .product-spec-table tr:first-child td {
  border-top: none !important;
}

/* =========================================================
   Spec Rows
========================================================= */

.spec-row {
  display: grid;
  grid-template-columns: 38% 1fr;
  position: relative;
}

.spec-label {
  --henrich-blue-pad-y: 10px;
  position: relative;
  padding: 10px 24px 10px 34px;
  border-top: 1px solid #e6e6e6;
}

/* Blue vertical line */
.spec-label::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #2e63c6;
}

/* Blue connector dash */
.spec-label::after {
  content: "";
  position: absolute;
  left: 12px;
  top: calc(var(--henrich-blue-pad-y, 10px) + 0.5em - 0.5px);
  transform: none;
  width: 14px;
  height: 1px;
  background: #2e63c6;
}

.spec-value {
  padding: 10px 20px;
  border-top: 1px solid #e6e6e6;
}

/* Remove first row top border */
.spec-row:first-child .spec-label,
.spec-row:first-child .spec-value {
  border-top: none;
}

/* =========================================================
   API Specs Table - Industrial Connector Styling
   Top-level label column only — nested value tables stay plain
========================================================= */

.single-product-layout .product-specifications-content table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
}

.single-product-layout .product-specifications-content > table > tbody > tr,
.single-product-layout .product-specifications-content > table > thead > tr {
  position: relative !important;
}

.single-product-layout .product-specifications-content td {
  --henrich-blue-pad-y: 8px;
  position: relative !important;
  background: transparent !important;
  border: none !important;
  padding: 8px 20px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: #111 !important;
  vertical-align: top !important;
}

/* Top-level label column */
.single-product-layout .product-specifications-content > table > tbody > tr:not(:has(> td:nth-child(3):last-child)) > td:first-child:not(:only-child),
.single-product-layout .product-specifications-content > table > thead > tr:not(:has(> td:nth-child(3):last-child)) > td:first-child:not(:only-child),
.single-product-layout .product-specifications-content > table > thead > tr > th:first-child:not(:only-child) {
  width: 32% !important;
  padding-left: 34px !important;
  font-weight: 500 !important;
  color: #222 !important;
}

/* Value columns */
.single-product-layout .product-specifications-content td:nth-child(2) {
  word-break: break-word !important;
}

/* Reset all connector pseudo-elements inside specifications */
.single-product-layout .product-specifications-content td::before,
.single-product-layout .product-specifications-content td::after,
.single-product-layout .product-specifications-content th::before,
.single-product-layout .product-specifications-content th::after {
  display: none !important;
  content: none !important;
}

/* Blue vertical connector — true far-left label cells only */
.single-product-layout
  .product-specifications-content
  > table
  > tbody
  > tr:not(:has(> td:nth-child(3):last-child))
  > td:first-child:not(:only-child)::before,
.single-product-layout
  .product-specifications-content
  > table
  > thead
  > tr:not(:has(> td:nth-child(3):last-child))
  > td:first-child:not(:only-child)::before,
.single-product-layout
  .product-specifications-content
  > table
  > thead
  > tr
  > th:first-child:not(:only-child)::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 1px !important;
  background: #2e63c6 !important;
}

/* Blue horizontal dash — true far-left label cells only */
.single-product-layout
  .product-specifications-content
  > table
  > tbody
  > tr:not(:has(> td:nth-child(3):last-child))
  > td:first-child:not(:only-child)::after,
.single-product-layout
  .product-specifications-content
  > table
  > thead
  > tr:not(:has(> td:nth-child(3):last-child))
  > td:first-child:not(:only-child)::after,
.single-product-layout
  .product-specifications-content
  > table
  > thead
  > tr
  > th:first-child:not(:only-child)::after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  /* First-line optical center — not 50% of tall multi-line rows */
  top: calc(var(--henrich-blue-pad-y, 8px) + 0.5em - 0.5px) !important;
  transform: none !important;
  width: 14px !important;
  height: 1px !important;
  background: #2e63c6 !important;
}

/* Short gray row divider — top-level label/value rows only */
.single-product-layout
  .product-specifications-content
  > table
  > tbody
  > tr:not(:has(> td:only-child)):not(:has(> td:nth-child(3):last-child))::after,
.single-product-layout
  .product-specifications-content
  > table
  > thead
  > tr:not(:has(> td:only-child)):not(:has(> td:nth-child(3):last-child))::after {
  content: "" !important;
  position: absolute !important;
  left: 30px !important;
  right: 220px !important;
  top: 0 !important;
  height: 1px !important;
  background: #e8e8e8 !important;
  display: block !important;
  pointer-events: none !important;
}

.single-product-layout .product-specifications-content > table > tbody > tr:first-child::after,
.single-product-layout .product-specifications-content > table > thead > tr:first-child::after {
  display: none !important;
}

/* =========================================================
   Specs - Short Gray Row Lines Override
========================================================= */

/* Kill all full-width td border lines */
.single-product-layout .product-specifications-content table td,
.single-product-layout .product-specifications-content table td:first-child,
.single-product-layout .product-specifications-content table td:nth-child(2) {
  border-top: none !important;
}

/* =========================================================
   Product Detail — Overview stays in content column (not under buy box)
========================================================= */

@media (min-width: 981px) {
  body:has(#product-buy-box) .single-product-content-col .single-product-description-row,
  body.page-id-176 .single-product-content-col .single-product-description-row {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body:has(#product-buy-box) .single-product-description-row > .et_pb_column,
  body:has(#product-buy-box) .single-product-description-row .et_pb_code,
  body:has(#product-buy-box) .single-product-description-row .et_pb_code_inner,
  body.page-id-176 .single-product-description-row > .et_pb_column,
  body.page-id-176 .single-product-description-row .et_pb_code,
  body.page-id-176 .single-product-description-row .et_pb_code_inner,
  body:has(#product-buy-box) .single-product-description-row .product-section-card,
  body.page-id-176 .single-product-description-row .product-section-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body:has(#product-buy-box) .single-product-layout .product-overview-content,
  body.page-id-176 .single-product-layout .product-overview-content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Models row — match specifications section width */
  body:has(#product-buy-box) .single-product-content-col .single-product-models-row,
  body.page-id-176 .single-product-content-col .single-product-models-row {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body:has(#product-buy-box) .single-product-models-row > .et_pb_column,
  body:has(#product-buy-box) .single-product-models-row .et_pb_code,
  body:has(#product-buy-box) .single-product-models-row .et_pb_code_inner,
  body.page-id-176 .single-product-models-row > .et_pb_column,
  body.page-id-176 .single-product-models-row .et_pb_code,
  body.page-id-176 .single-product-models-row .et_pb_code_inner,
  body:has(#product-buy-box) .single-product-models-row .product-section-card,
  body.page-id-176 .single-product-models-row .product-section-card,
  body:has(#product-buy-box) #product-models,
  body.page-id-176 #product-models,
  body:has(#product-buy-box) .single-product-layout .product-models-section,
  body.page-id-176 .single-product-layout .product-models-section,
  body:has(#product-buy-box) .single-product-layout .product-models-section .product-models-table-wrap,
  body.page-id-176 .single-product-layout .product-models-section .product-models-table-wrap,
  body:has(#product-buy-box) .single-product-layout .product-models-section .product-models-table,
  body.page-id-176 .single-product-layout .product-models-section .product-models-table {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* =========================================================
   Product Detail Specs - Full Width + Content-Flex Columns
========================================================= */

.single-product-specs-row .et_pb_column,
.single-product-specs-row .et_pb_code,
.single-product-specs-row .et_pb_code_inner,
.single-product-layout .product-specs-card,
.single-product-layout .product-specifications-card {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
  box-sizing: border-box !important;
}

#product-models,
.single-product-layout .product-models-section {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.single-product-layout .product-specifications-content table,
.single-product-layout .product-spec-table {
  width: 100% !important;
  table-layout: fixed !important;
}

/* Equal column share (2–4 cols); override CMS inline width attributes */
.single-product-layout .product-specifications-content td,
.single-product-layout .product-specifications-content th,
.single-product-layout .product-spec-table th,
.single-product-layout .product-spec-table td {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  box-sizing: border-box !important;
}

/* Label column keeps connector styling only — no extra width squeeze */
.single-product-layout .product-specifications-content > table > tbody > tr:not(:has(> td:nth-child(3):last-child)) > td:first-child:not(:only-child),
.single-product-layout .product-specifications-content > table > thead > tr:not(:has(> td:nth-child(3):last-child)) > td:first-child:not(:only-child),
.single-product-layout .product-specifications-content > table > thead > tr > th:first-child:not(:only-child),
.single-product-layout .product-spec-table th {
  width: auto !important;
  font-weight: 500 !important;
}

.spec-row {
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}

/* Description / overview bullet lists */
.single-product-layout .product-description-content li,
.single-product-layout .product-overview-content li {
  line-height: 1.55 !important;
  margin-bottom: 0.35em !important;
}

/* =========================================================
   Single Product Image Gallery
========================================================= */

.single-product-layout .product-gallery-card {
  box-shadow: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 24px !important;
}

.product-gallery-main {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}

.product-gallery-main img {
  width: 100%;
  max-width: 360px;
  height: 340px;
  object-fit: contain;
  display: block;
}

.product-gallery-thumbs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  overflow-x: auto;
  padding: 8px 4px 2px;
}

.product-gallery-thumb {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  padding: 6px;
  border: 2px solid transparent;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-gallery-thumb img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.product-gallery-thumb.active,
.product-gallery-thumb:hover {
  border-color: var(--he-orange);
}

/* =========================================================
   13. Responsive Adjustments
========================================================= */

@media (max-width: 980px) {
  :root {
    --h1-size: 46px;
    --h2-size: 34px;
    --h3-size: 28px;
    --h4-size: 22px;
  }

  .home-section {
    padding: 42px 0;
  }

  .home-category-nav .et_pb_column {
    border-right: none !important;
    border-bottom: 1px solid var(--he-border);
    padding: 12px 0;
  }

  .home-orange-divider {
    border-left: none;
    border-top: 2px solid var(--he-orange);
    margin: 24px 0;
  }

  .home-solution-card {
    padding: 24px;
  }

  .why-henrich-section {
    --why-henrich-gap-x: 18px;
    --why-henrich-gap-y: 20px;
    --why-henrich-stack-gap: clamp(28px, 6vw, 40px);
    padding-bottom: var(--why-henrich-stack-gap) !important;
  }

  .why-henrich-section .et_pb_row.why-henrich-row {
    gap: var(--why-henrich-stack-gap) !important;
  }

  .why-henrich-row > .why-henrich-video-col,
  .why-henrich-row > .et_pb_column.why-henrich-video-col,
  .why-henrich-row > .why-henrich-cards-col,
  .why-henrich-row > .et_pb_column.why-henrich-cards-col:not(.why-henrich-video-col),
  .why-henrich-row > .et_pb_column:not(.why-henrich-video-col) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .why-henrich-video .et_pb_video_box {
    min-height: 200px;
    aspect-ratio: 16 / 9;
  }

  .product-showcase {
    min-height: auto;
  }

  .product-showcase .product-tabs {
    grid-template-columns: 1fr !important;
  }

  .product-showcase .product-tab {
    border-right: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.12) !important;
  }

  .product-showcase .product-panel.active {
    grid-template-columns: 1fr;
    grid-auto-rows: auto !important;
    align-items: start;
    gap: 16px;
    margin: 20px 16px 0;
    min-height: auto;
  }

  .product-info-card {
    max-height: none;
    overflow-y: visible;
  }

  .product-divider {
    height: 2px;
    width: 100%;
    margin: 0;
    align-self: stretch;
  }

  .product-showcase .product-image-card {
    height: auto !important;
    min-height: 0;
    align-self: start;
    justify-content: flex-start;
  }

  .product-showcase .product-image-card img {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    flex: 0 0 auto !important;
  }

  .slide {
    flex: 0 0 50%;
  }
}

@media (max-width: 767px) {
  :root {
    --h1-size: 45px;
    --h2-size: 32px;
    --h3-size: 26px;
    --h4-size: 20px;

    --body-large-size: 17px;
    --body-size: 16px;
    --body-small-size: 14px;
  }

  .slide {
    flex: 0 0 100%;
  }
}

@media (max-width: 768px) {
  .henrich-box {
    min-height: 180px;
  }
}

/* =========================================================
   GLOBAL MOBILE SAFETY FIXES
========================================================= */

@media only screen and (max-width: 767px) {

  /* Avoid overflow-x on both html + body — iOS Safari scroll snag / rubber-band */
  html {
    width: 100%;
    max-width: 100%;
  }

  body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    overscroll-behavior-x: none;
  }

  #page-container,
  #et-boc,
  #et-main-area {
    max-width: 100%;
    overflow-x: clip;
  }

  * {
    box-sizing: border-box;
  }

  img,
  video,
  iframe {
    max-width: 100%;
    height: auto;
  }

  #et-main-area .et_pb_row.et_flex_row:not(.et_pb_row_nested) {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  /* Product category template — no Theme Builder row gutter */
  body:has(#henrich-category-header) #et-main-area .et_pb_row.et_flex_row:not(.et_pb_row_nested),
  body:has(#henrich-category-grid) #et-main-area .et_pb_row.et_flex_row:not(.et_pb_row_nested),
  body:has(#product-list) #et-main-area .et_pb_row.et_flex_row:not(.et_pb_row_nested),
  body:has(.product-category-intro) #et-main-area .et_pb_row.et_flex_row:not(.et_pb_row_nested),
  body.henrich-has-product-sidebar #et-main-area .et_pb_row.et_flex_row:not(.et_pb_row_nested),
  body:has(#product-buy-box) #et-main-area .et_pb_row.et_flex_row:not(.et_pb_row_nested),
  body.page-id-176 #et-main-area .et_pb_row.et_flex_row:not(.et_pb_row_nested) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #et-main-area .et_pb_row.et_flex_row:not(.et_pb_row_nested) > .et_pb_column {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-right: 0 !important;
    min-width: 0 !important;
  }

  #main-content .et_pb_text,
  #main-content .et_pb_blurb,
  #main-content .et_pb_module {
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: normal !important;
  }

  #main-content table {
    display: block;
    width: 100%;
    overflow-x: auto;
  }

}

/* =========================================================
   GLOBAL SOLUTIONS PAGES MOBILE SAFETY FIXES
========================================================= */

/* Mobile Solutions Pages */
@media only screen and (max-width: 767px) {

  /* Header / Top Section */
  .solutions-headers-row {
    padding-top: 2em !important;
    padding-bottom: 2em !important;
    padding-left: 1.5em !important;
    padding-right: 1.5em !important;
  }

  .solutions-header h1 {
    font-size: 30px !important;
    line-height: 1.2em !important;
  }

  /* Section 2 */
  .solutions-section-2 {
    padding-left: 1.5em !important;
    padding-right: 1.5em !important;
  }

  /* Section 3 */
  .s3-double-sided-info-card {
    padding-left: 0em !important;
    padding-right: 0em !important;
  }

  .r3-dsic {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Section 4 */
  .solutions-section-4 {
    padding-left: 1.5em !important;
    padding-right: 1.5em !important;
  }
}

/* Small Phones */
@media only screen and (max-width: 480px) {

  .solutions-headers-row,
  .solutions-section-2,
  .solutions-section-4 {
    padding-left: 1em !important;
    padding-right: 1em !important;
  }

  .solutions-header h1 {
    font-size: 28px !important;
  }
}

/* =========================
   MOBILE STYLES
========================= */

@media only screen and (max-width: 767px) {

  .et_pb_row.solutions-headers-row {
    padding: 2em 1.5em !important;
  }

  .et_pb_section.solutions-section-2 {
    padding-left: 1.5em !important;
    padding-right: 1.5em !important;
  }

  .et_pb_section.s3-double-sided-info-card {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .et_pb_row.r3-dsic {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .et_pb_section.solutions-section-4 {
    padding-left: 1.5em !important;
    padding-right: 1.5em !important;
  }

  .solutions-header h1 {
    font-size: 30px !important;
    line-height: 1.2em !important;
  }

}

/* =========================================================
   Download Center page
========================================================= */

#henrich-download-center,
.henrich-download-center {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  color: #333333;
}

.henrich-download-center-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.4;
  color: #777777;
}

.henrich-download-center-breadcrumbs a {
  color: #777777;
  text-decoration: none;
}

.henrich-download-center-breadcrumbs a:hover {
  color: var(--he-orange);
}

.henrich-download-center-breadcrumb-sep {
  color: #999999;
}

.henrich-download-center-breadcrumb-current {
  color: #555555;
}

.henrich-download-center-title {
  margin: 0 0 18px;
  padding: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  color: #111111;
}

.henrich-download-center-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.henrich-download-center-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  border-spacing: 0;
  background: #ffffff;
}

.henrich-download-center-table thead th {
  padding: 10px 14px;
  background: var(--he-blue);
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
  border: none;
}

.henrich-download-center-table thead th.henrich-download-center-th-start {
  border-top-left-radius: 0;
}

.henrich-download-center-table thead th.henrich-download-center-th-end {
  width: 120px;
}

.henrich-download-center-table tbody td {
  padding: 12px 14px;
  border-bottom: 1px solid #eeeeee;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
  color: #333333;
  vertical-align: middle;
}

.henrich-download-center-table tbody tr:last-child td {
  border-bottom: none;
}

.henrich-download-center-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--he-blue);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.henrich-download-center-link:hover {
  color: var(--he-orange);
}

.henrich-download-center-icon {
  display: block;
  flex: 0 0 auto;
}

.henrich-download-center-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 14px;
}

.henrich-download-center-page-btn,
.henrich-download-center-page-current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  padding: 0 8px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background: #ffffff;
  color: #666666;
  font-size: 14px;
  line-height: 1;
}

.henrich-download-center-page-current {
  border-color: var(--he-blue);
  color: var(--he-blue);
  font-weight: 700;
}

.henrich-download-center-page-btn.is-disabled {
  opacity: 0.45;
  cursor: default;
  pointer-events: none;
}

.henrich-download-center-loading,
.henrich-download-center-empty,
.henrich-download-center-error {
  padding: 24px 14px !important;
  text-align: center;
  font-weight: 600;
  color: #666666;
}

.henrich-download-center-error {
  color: #c62828;
}

body:has(#henrich-download-center) #main-content .et_pb_section:has(#henrich-download-center),
body.page-id-1856 #main-content .et_pb_section {
  padding-top: 24px !important;
  padding-bottom: 40px !important;
}

body:has(#henrich-download-center) #main-content .et_pb_row:has(#henrich-download-center),
body.page-id-1856 #main-content .et_pb_row {
  width: 100% !important;
  max-width: 100% !important;
}

body:has(#henrich-download-center) #main-content .et_pb_code:has(#henrich-download-center),
body.page-id-1856 #main-content .et_pb_code {
  width: 100% !important;
  max-width: 100% !important;
}

@media only screen and (max-width: 980px) {
  body:has(#henrich-download-center) #page-container,
  body:has(#henrich-download-center) #et-main-area,
  body:has(#henrich-download-center) #main-content,
  body.page-id-1856 #page-container,
  body.page-id-1856 #et-main-area,
  body.page-id-1856 #main-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body:has(#henrich-download-center) #main-content .et_pb_section:has(#henrich-download-center),
  body.page-id-1856 #main-content .et_pb_section {
    padding-left: var(--mobile-page-x, 18px) !important;
    padding-right: var(--mobile-page-x, 18px) !important;
    padding-top: 18px !important;
    padding-bottom: 28px !important;
  }

  .henrich-download-center-title {
    font-size: 22px;
    margin-bottom: 14px;
  }

  .henrich-download-center-table {
    min-width: 520px;
  }

  .henrich-download-center-table thead th,
  .henrich-download-center-table tbody td {
    font-size: 13px;
    padding: 10px 12px;
  }
}

/* =========================================================
   ACCOUNT MENU — DIVI OVERFLOW FIX
========================================================= */

@media only screen and (min-width: 981px) {

  /* Menu module itself */
  .henrich-account-menu,
  .henrich-account-menu .et_pb_menu,
  .henrich-account-menu .et_pb_menu_inner_container,
  .henrich-account-menu .et_pb_menu__wrap,
  .henrich-account-menu .et-menu-nav,
  .henrich-account-menu .et-menu {
    overflow: visible !important;
  }

  /* Allow dropdown to stack properly */
  .henrich-account-menu {
    position: relative !important;
    z-index: 99999 !important;
  }

  /* Dropdown styling */
  .henrich-account-menu .sub-menu {
    z-index: 999999 !important;
    background: #fff !important;
    border-top: 3px solid var(--he-orange) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
  }

  /* Main link */
  .henrich-account-menu .et-menu > li > a {
    color: #111 !important;
  }

  /* Dropdown links */
  .henrich-account-menu .sub-menu li a {
    color: #111 !important;
    background: #fff !important;
  }

  .henrich-account-menu .sub-menu li a:hover {
    color: var(--he-orange) !important;
    background: #f7f7f7 !important;
  }

}

@media only screen and (min-width: 981px) {

  .henrich-account-menu,
  .henrich-account-menu-col,
  .henrich-account-menu-col .et_pb_module,
  .henrich-account-menu-col .et_pb_code_inner,
  .henrich-account-menu .et_pb_menu,
  .henrich-account-menu .et_pb_menu_inner_container,
  .henrich-account-menu .et_pb_menu__wrap,
  .henrich-account-menu .et-menu-nav,
  .henrich-account-menu .et-menu {
    overflow: visible !important;
  }

  .henrich-account-menu-col,
  .henrich-account-menu {
    position: relative !important;
    z-index: 999999 !important;
  }

  .henrich-account-menu .et-menu > li > ul.sub-menu {
    z-index: 9999999 !important;
    background: #fff !important;
    border-top: 3px solid var(--he-orange) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
  }
}

/* 3-thumbnail gallery slider */
.product-gallery-slider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 18px;
  width: 100%;
  max-width: 380px;
  margin-left: auto;
  margin-right: auto;
  overflow: visible;
}

.product-gallery-thumbs-window {
  flex: 0 0 auto;
  width: calc(84px * 3 + 18px * 2);
  max-width: calc(100% - 92px);
  overflow: hidden;
}

.product-gallery-thumbs-track {
  display: flex;
  gap: 18px;
  transition: transform 0.25s ease;
  will-change: transform;
}

.product-gallery-slider .product-gallery-thumb {
  flex: 0 0 84px;
  width: 84px;
  min-width: 84px;
  height: 84px;
  padding: 4px;
  box-sizing: border-box;
  border: 2px solid #d5d5d5;
  background: #fff;
  cursor: pointer;
  border-radius: 0;
}

.product-gallery-slider .product-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  pointer-events: none;
}

.product-gallery-slider .product-gallery-thumb.active,
.product-gallery-slider .product-gallery-thumb:hover {
  border-color: var(--he-orange, #f47c20) !important;
}

.gallery-arrow {
  flex: 0 0 34px;
  width: 34px;
  height: 54px;
  border: none;
  background: #f1f1f1;
  color: #555;
  font-size: 28px;
  line-height: 54px;
  text-align: center;
  cursor: pointer;
  position: relative;
  z-index: 2;
  padding: 0;
}

.gallery-arrow[hidden] {
  display: none;
}

.gallery-arrow:hover {
  color: var(--he-orange);
}

.gallery-arrow:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* =========================================================
   Inline Product Downloads
========================================================= */

.product-downloads-inline {
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid #e5e5e5;
}

.product-downloads-title {
  font-family: 'Alibaba PuHuiTi', sans-serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  margin: 0 0 18px !important;
  color: #111 !important;
}

.product-downloads-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

@media (min-width: 768px) {
  .product-downloads-grid:has(.product-download-button:nth-child(3)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Product detail breadcrumbs — match Predision trail, keep links clickable */
.single-product-breadcrumbs-col,
#product-breadcrumbs,
.single-product-breadcrumbs-col .henrich-breadcrumbs,
.single-product-breadcrumbs-col .breadcrumbs {
  position: relative;
  z-index: 12;
  pointer-events: auto !important;
}

.single-product-breadcrumbs-col .henrich-breadcrumbs a,
.single-product-breadcrumbs-col .breadcrumbs a,
#product-breadcrumbs .henrich-breadcrumbs a {
  pointer-events: auto !important;
  cursor: pointer;
  color: var(--he-orange, #f47c20) !important;
  text-decoration: none;
}

.single-product-breadcrumbs-col .henrich-breadcrumbs a:hover,
.single-product-breadcrumbs-col .breadcrumbs a:hover,
#product-breadcrumbs .henrich-breadcrumbs a:hover {
  text-decoration: underline;
}

.single-product-breadcrumbs-col .henrich-breadcrumb-current,
#product-breadcrumbs .henrich-breadcrumb-current {
  color: #333;
  font-weight: 600;
}

.product-gallery-slider,
.product-gallery-slider .gallery-arrow,
.product-gallery-slider .product-gallery-thumb {
  position: relative;
  z-index: 5;
  pointer-events: auto !important;
}

.product-download-button {
  display: block;
  padding: 14px 16px;
  background: #f5f5f5;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.product-download-button:hover {
  border-color: var(--he-orange);
  box-shadow: 0 4px 14px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}

.product-download-button span {
  display: block;
  font-family: 'Alibaba PuHuiTi', sans-serif !important;
  font-size: 16px;
  font-weight: 600;
  color: #111;
  margin-bottom: 4px;
}

.product-download-button small {
  display: block;
  font-size: 12px;
  line-height: 1.4;
  color: #666;
  word-break: break-word;
}

/* =========================================================
   Related Products - Horizontal Layout
========================================================= */

.related-products-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: 100% !important;
}

.related-product-card {
  width: 100% !important;
  min-height: 260px !important;
  padding: 22px 18px !important;
  border: 1px solid #dedede !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  text-align: center !important;
}

.related-product-image {
  height: 150px !important;
  margin-bottom: 18px !important;
}

.related-product-image img {
  max-height: 150px !important;
  object-fit: contain !important;
}

.related-product-info h3 {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  color: #111 !important;
}

.related-product-model {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #111 !important;
}

/* Tablet */
@media (max-width: 980px) {
  .related-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .related-products-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   Related Products Final Layout
========================================================= */

.related-products-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 26px !important;

  /* ONLY ONE ROW */
  grid-auto-flow: column !important;
  /* visible so hover border / lift is not clipped at the top */
  overflow: visible !important;
  padding-top: 6px !important;
  padding-bottom: 4px !important;

  align-items: stretch !important;
}

/* Related products carousel — show all cards; scroll via arrows */
.related-products-carousel .related-products-grid .related-product-card {
  display: flex !important;
}

/* Legacy grid cap removed — carousel handles paging */

/* Card styling */
.related-product-card {
  aspect-ratio: 1 / 1 !important;

  min-height: unset !important;
  height: auto !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;

  padding: 22px !important;

  border: 2px solid #dcdcdc !important;
  border-radius: 14px !important;

  background: #fff !important;
  box-shadow: none !important;

  transition: border-color 0.25s ease, transform 0.25s ease, color 0.25s ease !important;
}

.related-product-card:hover {
  border-color: var(--he-orange) !important;
  transform: translateY(-2px);
}

/* Image area */
.related-product-image {
  height: 150px !important;
  margin-bottom: 18px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.related-product-image img {
  max-height: 140px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* Product title */
.related-product-info h3 {
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
  text-align: center !important;

  margin-bottom: 8px !important;
}

/* Model number */
.related-product-model {
  font-size: 14px !important;
  font-weight: 600 !important;
  text-align: center !important;
}

/* =========================================================
   BUY BOX - FINAL CLEAN VERSION
========================================================= */

/* OUTER WRAPPER — invisible */
#product-buy-box,
.single-product-buy-col .et_pb_code,
.single-product-buy-col .et_pb_code_inner {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Buy column — alignment handled by alignBuyColWithHeroRow() on desktop */
.single-product-buy-col {
  padding-top: 0 !important;
}

.single-product-buy-col.henrich-buy-box-ready {
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
}

/* ONLY visible card */
#product-buy-box .product-buy-box-inner {
  background: #ffffff !important;

  border: 1px solid #e5e5e5 !important;
  border-radius: 18px !important;

  padding: 34px !important;

  box-shadow:
    0 10px 26px rgba(0,0,0,0.05) !important;
}

/* Availability */
.product-availability {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 18px !important;
}

.product-availability.backordered {
  color: #c95a00 !important;
}

.product-availability.in-stock {
  color: #1c8b3c !important;
}

/* Price */
.product-price {
  font-size: 64px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: #111 !important;

  margin-bottom: 20px !important;
}

/* Stock text */
.product-stock {
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: #444 !important;

  margin-bottom: 28px !important;
}

/* Quantity label */
.product-quantity-label {
  display: block !important;

  font-size: 18px !important;
  font-weight: 600 !important;

  margin-bottom: 12px !important;
}

/* Quantity input */
.product-quantity-input {
  width: 100% !important;
  height: 60px !important;

  border-radius: 12px !important;
  border: 1px solid #d9d9d9 !important;

  padding: 0 18px !important;

  font-size: 24px !important;
  font-weight: 500 !important;

  box-shadow: none !important;
}

/* =========================================================
   Buy Box Position + Size Override
========================================================= */

/* Keep price from getting too huge */
#product-buy-box .product-price {
  font-size: 25px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
}

/* Restore smaller stock text */
#product-buy-box .product-stock {
  font-size: 15px !important;
  line-height: 1.45 !important;
}

/* Buy box content order: status → stock note → price → quantity/actions */
#product-buy-box .product-buy-box-inner {
  display: flex !important;
  flex-direction: column !important;
}

#product-buy-box .product-availability {
  order: 1 !important;
}

#product-buy-box .product-stock {
  order: 2 !important;
}

#product-buy-box .product-price {
  order: 3 !important;
  margin-top: 4px !important;
}

#product-buy-box .product-quantity-label {
  order: 4 !important;
}

#product-buy-box .product-quantity-input {
  order: 5 !important;
}

#product-buy-box .henrich-product-actions,
#product-buy-box .product-buy-actions {
  order: 6 !important;
}

/* Backordered: UTC date + stock message in red */
#product-buy-box:has(.product-availability.backordered) .product-backorder-date,
#product-buy-box:has(.product-availability.backordered) .product-stock,
#product-buy-box .product-stock--backorder {
  color: #c62828 !important;
  font-weight: 600 !important;
}

/* Tighter gap between UTC line and stock message */
#product-buy-box:has(.product-availability.backordered) .product-availability {
  margin-bottom: 6px !important;
}

#product-buy-box:has(.product-availability.backordered) .product-backorder-date {
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}

#product-buy-box:has(.product-availability.backordered) .product-stock,
#product-buy-box .product-stock--backorder {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

/* =========================================================
   Buy Column Alignment Fix
========================================================= */

/* Desktop: JS sets --henrich-buy-col-offset so buy box top aligns with the
   product summary / details card top (not the hero-row wrapper). */
@media (min-width: 981px) {
  .et_pb_row.single-product-layout .single-product-buy-col {
    transform: none !important;
    padding-top: 0 !important;
  }

  .et_pb_row.single-product-layout .single-product-buy-col.henrich-buy-box-ready {
    transform: none !important;
    padding-top: 0 !important;
    margin-top: var(--henrich-buy-col-offset, 0px) !important;
  }
}

/* Keep wrapper invisible */
#product-buy-box {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Keep only the inner buy card visible */
#product-buy-box .product-buy-box-inner {
  background: #fff !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* =========================================================
   Refined Download CTA
========================================================= */

.product-download-button small {
  display: none !important;
}

.product-download-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 58px !important;
  padding: 0 26px !important;

  background: #f5f5f5 !important;

  border: 1px solid #dfdfdf !important;
  border-radius: 10px !important;

  text-align: center !important;

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease !important;
}

/* Hover */
.product-download-button:hover {
  background: #fff !important;

  border-color: #d4d4d4 !important;

  box-shadow:
    0 8px 18px rgba(0,0,0,0.07) !important;

  transform: translateY(-1px);
}

/* Text */
.product-download-button span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  font-size: 17px !important;
  font-weight: 600 !important;

  color: #111 !important;

  text-align: center !important;
}

/* =========================================================
   Henrich desktop header — layout + font fix (v3.7)
   Paste at the END of child theme style.css
   (after header-desktop-refinement.css if present)

   Desktop only — 981px+
========================================================= */

@media only screen and (min-width: 981px) {

  /* -------------------------------------------------------
     1. Navy bar + sticky header shell
        Use explicit hex + module ID — empty --he-blue-dark
        invalidates var()-only borders in older pasted rules.
  ------------------------------------------------------- */
  .henrich-header.et_pb_section,
  .et_pb_section_0_tb_header.henrich-header.et_pb_section {
    position: sticky !important;
    top: 0 !important;
    padding: 14px 0 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
    background: #fff !important;
    overflow: visible !important;
    box-shadow: none !important;
  }

  /* Full-bleed navy bar — section has no side padding so this spans viewport */
  .henrich-header.et_pb_section::after,
  .et_pb_section_0_tb_header.henrich-header.et_pb_section::after {
    content: "" !important;
    display: block !important;
    width: 100% !important;
    height: 10px !important;
    margin-top: 0 !important;
    background: #003d88 !important;
  }

  .henrich-header .et_pb_row {
    max-width: 1680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
  }

  /* -------------------------------------------------------
     Section 5 conflict overrides (Header - Fresh Build)
     Those rules sit earlier in style.css and fight this block.
  ------------------------------------------------------- */
  .henrich-logo-col {
    width: auto !important;
    max-width: 220px !important;
  }

  .henrich-logo-col img {
    max-width: 200px !important;
    height: auto !important;
  }

  .henrich-search-col {
    width: 400px !important;
    max-width: 400px !important;
    min-width: 0 !important;
  }

  .henrich-main-menu .et-menu > li,
  .henrich-main-menu .et-menu > li > a {
    line-height: 1.15 !important;
    padding-right: 0 !important;
  }

  .henrich-main-menu .et-menu > li {
    flex: 0 0 auto !important;
  }

  /* -------------------------------------------------------
     2. Top row — logo left, utilities + search cluster right
  ------------------------------------------------------- */
  .henrich-header-top {
    position: relative !important;
    z-index: 1003 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    margin: 0 auto 8px !important;
  }

  .henrich-header-top.et_flex_row > .et_pb_column,
  .henrich-header-nav.et_flex_row > .et_pb_column {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    min-width: 0 !important;
  }

  .henrich-header-top > .henrich-logo-col,
  .henrich-header-top > .et_pb_column.henrich-logo-col {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 220px !important;
    margin: 0 !important;
  }

  .henrich-header-top > .henrich-search-col,
  .henrich-header-top > .et_pb_column.henrich-search-col {
    flex: 0 0 400px !important;
    width: 400px !important;
    max-width: 400px !important;
    margin: 0 0 0 auto !important;
  }

  .henrich-header-top > .henrich-utility-col:nth-child(3),
  .henrich-header-top > .et_pb_column.henrich-utility-col:nth-child(3) {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 0 0 36px !important;
  }

  .henrich-header-top > .henrich-utility-col:nth-child(4),
  .henrich-header-top > .et_pb_column.henrich-utility-col:nth-child(4) {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 0 0 14px !important;
  }

  .henrich-header-top > .henrich-utility-col:nth-child(5),
  .henrich-header-top > .et_pb_column.henrich-utility-col:nth-child(5) {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 0 0 14px !important;
  }

  .henrich-header-top > .henrich-utility-col:nth-child(5)::after {
    content: none !important;
  }

  .henrich-header-top > .henrich-account-menu-col,
  .henrich-header-top > .et_pb_column.henrich-account-menu-col {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: max-content !important;
    margin: 0 0 0 14px !important;
    padding: 0 !important;
    transform: none !important;
  }

  .henrich-account-menu,
  .henrich-account-menu .et_pb_menu,
  .henrich-account-menu .et_pb_menu_inner_container,
  .henrich-account-menu .et_pb_menu__wrap,
  .henrich-account-menu .et-menu-nav {
    width: auto !important;
    max-width: none !important;
    min-width: max-content !important;
  }

  .henrich-account-menu .et-menu > li > a {
    white-space: nowrap !important;
    line-height: 1.2 !important;
    padding-right: 18px !important;
  }

  /* -------------------------------------------------------
     3. Search bar — orange circle + magnifying glass icon
  ------------------------------------------------------- */
  .henrich-search-col .henrich-product-search,
  .henrich-search-col .et_pb_search,
  .henrich-search-col .et_pb_search_0_tb_header,
  .henrich-search-col .et_pb_search_1_tb_header {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: visible !important;
    border: none !important;
    border-width: 0 !important;
    border-color: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
  }

  .henrich-search-col .et_pb_search::before,
  .henrich-search-col .et_pb_search::after {
    display: none !important;
    content: none !important;
  }

  .henrich-search-col .et_pb_search,
  .henrich-search-col .et_pb_searchform,
  .henrich-search-col .et_pb_searchform > div {
    position: relative !important;
    width: 100% !important;
    overflow: visible !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .henrich-search-col .screen-reader-text {
    display: none !important;
  }

  .henrich-search-col input.et_pb_s,
  .henrich-search-col .et_pb_search_0_tb_header input.et_pb_s,
  .henrich-search-col .et_pb_search_1_tb_header input.et_pb_s {
    width: 100% !important;
    height: 44px !important;
    margin: 0 !important;
    border: 1px solid #d4d4d4 !important;
    border-color: #d4d4d4 !important;
    border-radius: 999px !important;
    background: #fff !important;
    padding: 0 18px 0 50px !important;
    font-family: var(--font-primary, "Alibaba PuHuiTi 2.0", sans-serif) !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
    text-transform: none !important;
    color: #333 !important;
    box-shadow: none !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    box-sizing: border-box !important;
  }

  .henrich-search-col .et_pb_searchform,
  .henrich-search-col .et_pb_searchform > div {
    margin: 0 !important;
    padding: 0 !important;
  }

  .henrich-search-col.et_pb_column,
  .henrich-search-col .et_pb_module {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
  }

  .henrich-search-col input.et_pb_s:focus {
    border: 1px solid #d4d4d4 !important;
    outline: none !important;
    box-shadow: none !important;
  }

  .henrich-search-col input.et_pb_searchsubmit {
    position: absolute !important;
    left: 5px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #ff642a !important;
    color: transparent !important;
    font-family: inherit !important;
    font-size: 0 !important;
    line-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    text-indent: -9999px !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    z-index: 2 !important;
  }

  .henrich-search-col .et_pb_searchform > div::before {
    content: "\55" !important;
    display: block !important;
    font-family: ETmodules !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    color: #fff !important;
    position: absolute !important;
    left: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 3 !important;
    pointer-events: none !important;
    width: 14px !important;
    height: 14px !important;
    line-height: 1 !important;
  }

  /* -------------------------------------------------------
     4. Blurb icons + spacing
  ------------------------------------------------------- */
  .henrich-utility-col .et_pb_blurb_content,
  .henrich-nav-notifications .et_pb_blurb_content {
    gap: 4px !important;
  }

  .henrich-nav-phone .et_pb_blurb_content {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
  }

  .henrich-utility-col .et_pb_main_blurb_image,
  .henrich-nav-notifications .et_pb_main_blurb_image {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 0 !important;
    min-width: 20px !important;
    overflow: visible !important;
  }

  .henrich-nav-phone .et_pb_main_blurb_image {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-right: 0 !important;
    min-width: 20px !important;
    overflow: visible !important;
  }

  .henrich-utility-col .et_pb_blurb,
  .henrich-nav-phone .et_pb_blurb,
  .henrich-nav-notifications .et_pb_blurb,
  .henrich-utility-col .et_pb_blurb_content,
  .henrich-nav-phone .et_pb_blurb_content,
  .henrich-nav-notifications .et_pb_blurb_content {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  /* Divi icons: Email + Cart */
  .henrich-header .et_pb_blurb_0_tb_header .et-pb-icon,
  .henrich-header .et_pb_blurb_2_tb_header .et-pb-icon {
    font-family: ETmodules !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 18px !important;
    color: #cb6430 !important;
    line-height: 1 !important;
  }

  /* WhatsApp — outline style to match Email + Cart */
  .henrich-header .et_pb_blurb_1_tb_header .et-pb-icon,
  .henrich-header-top > .henrich-utility-col:nth-child(4) .et-pb-icon {
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", FontAwesome !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 18px !important;
    color: #cb6430 !important;
    line-height: 1 !important;
  }

  /* Login + Notifications */
  .henrich-header .henrich-nav-phone .et-pb-icon,
  .henrich-header .henrich-nav-notifications .et-pb-icon {
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", FontAwesome !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 18px !important;
    color: #cb6430 !important;
    line-height: 1 !important;
  }

  /* -------------------------------------------------------
     5. Bottom nav row — logo slot left, nav cluster right
        (aligns with search/utilities band above)
  ------------------------------------------------------- */
  .henrich-header-top.et_flex_row,
  .henrich-header-nav.et_flex_row {
    gap: 0 !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
    --row-gutter-vertical: 0px !important;
    --vertical-gap: 0px !important;
  }

  .henrich-header-nav {
    position: relative !important;
    z-index: 1002 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 auto 0 !important;
    padding-bottom: 0 !important;
  }

  /* Override Section 5 bottom padding that scrunches nav above blue bar */
  .henrich-header.et_pb_section .henrich-header-nav.et_pb_row {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Empty logo placeholder column on nav row — collapse it */
  .henrich-header-nav > .et_pb_column:first-child:not(:has(.henrich-main-menu)):not(:has(.henrich-nav-phone)):not(:has(.henrich-nav-notifications)),
  .henrich-header-nav > .henrich-logo-col:empty,
  .henrich-header-nav > .et_pb_column.henrich-logo-col:not(:has(.henrich-main-menu)):not(:has(.henrich-nav-phone)):not(:has(.henrich-nav-notifications)) {
    flex: 0 0 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  /* Main menu — right cluster starts here (same edge as search above) */
  .henrich-header-nav > .et_pb_column:has(.henrich-main-menu),
  .henrich-header-nav > .henrich-main-menu-col {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .henrich-main-menu,
  .henrich-main-menu .et_pb_menu,
  .henrich-main-menu .et_pb_menu_inner_container,
  .henrich-main-menu .et_pb_menu__wrap,
  .henrich-main-menu .et-menu-nav {
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
  }

  .henrich-main-menu .et_pb_menu__wrap,
  .henrich-main-menu .et_pb_menu_inner_container,
  .henrich-main-menu .et-menu-nav {
    justify-content: flex-start !important;
    width: auto !important;
  }

  /* Nav links — compact row inside the right cluster */
  .henrich-main-menu .et-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: clamp(12px, 1.4vw, 24px) !important;
    width: auto !important;
    max-width: none !important;
  }

  .henrich-main-menu .et-menu > li:not(.products-mega-menu),
  .henrich-main-menu .et-menu > li:not(.products-mega-menu) > a {
    white-space: nowrap !important;
  }

  .henrich-main-menu .products-mega-menu,
  .henrich-main-menu .products-mega-menu * {
    white-space: normal !important;
  }

  /* Column titles: one line, centered in gray box with even L/R padding */
  .henrich-main-menu .products-mega-menu > .sub-menu > li > a {
    white-space: nowrap !important;
    text-align: center !important;
    padding: 12px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  /* MVP column title — keep blue/white after desktop title tweaks */
  .henrich-main-menu .products-mega-menu > .sub-menu > li:first-child > a {
    background: var(--he-blue-dark, #003d88) !important;
    color: var(--he-white, #ffffff) !important;
  }

  /* Login — continues the right cluster after main menu links */
  .henrich-header-nav > .et_pb_column:has(.henrich-nav-phone),
  .henrich-header-nav > .henrich-nav-phone {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 0 0 clamp(12px, 1.5vw, 24px) !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important;
  }

  /* Notifications — right edge aligns with Account & Orders above */
  .henrich-header-nav > .et_pb_column:has(.henrich-nav-notifications),
  .henrich-header-nav > .henrich-nav-notifications {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 0 0 14px !important;
    padding: 0 !important;
    white-space: nowrap !important;
  }

  .henrich-header-nav > .et_pb_column:has(.henrich-nav-phone)::after {
    content: none !important;
  }

  /* Dynamic login blurb — Login | User ID (Predision-style) */
  .henrich-nav-phone .et_pb_blurb_content {
    gap: 10px !important;
  }

  .henrich-nav-phone .et_pb_blurb_container {
    display: none !important;
  }

  .henrich-header-login-ui {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    white-space: nowrap !important;
  }

  .henrich-header-login-link {
    color: #111 !important;
    text-decoration: none !important;
    font-family: var(--font-primary, "Alibaba PuHuiTi 2.0", sans-serif) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
  }

  .henrich-header-login-link:hover {
    color: var(--he-orange) !important;
  }

  .henrich-header-login-sep {
    color: #bdbdbd !important;
    font-size: 15px !important;
    line-height: 1 !important;
  }

  .henrich-header-user-id {
    color: #111 !important;
    font-family: var(--font-primary, "Alibaba PuHuiTi 2.0", sans-serif) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
  }

  .henrich-header-login-ui.is-logged-in .henrich-header-login-link,
  .henrich-header-login-ui.is-logged-in .henrich-header-login-sep {
    display: none !important;
  }

  .henrich-main-menu .et-menu > li > a,
  .henrich-utility-col .et_pb_module_header,
  .henrich-nav-phone .et_pb_module_header,
  .henrich-nav-notifications .et_pb_module_header,
  .henrich-account-menu .et-menu > li > a {
    font-family: var(--font-primary, "Alibaba PuHuiTi 2.0", sans-serif) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
  }

  .henrich-account-menu,
  .henrich-account-menu .et_pb_menu,
  .henrich-account-menu .et_pb_menu__wrap,
  .henrich-account-menu .et-menu-nav,
  .henrich-account-menu .et-menu {
    justify-content: flex-end !important;
    text-align: right !important;
  }

  .henrich-header-nav > .et_pb_column:has(.henrich-nav-notifications) .et_pb_blurb,
  .henrich-header-nav > .et_pb_column:has(.henrich-nav-notifications) .et_pb_blurb_content,
  .henrich-header-nav > .henrich-nav-notifications .et_pb_blurb,
  .henrich-header-nav > .henrich-nav-notifications .et_pb_blurb_content {
    justify-content: flex-end !important;
  }

  /* Prevent Divi/header shells from clipping dropdown panels */
  #main-header,
  #main-header .container,
  #et-boc .et-l--header,
  .henrich-header.et_pb_section,
  .henrich-header .et_pb_row,
  .henrich-header-top,
  .henrich-header-nav,
  .henrich-header-nav .et_pb_column,
  .henrich-main-menu,
  .henrich-main-menu .et_pb_menu,
  .henrich-main-menu .et_pb_menu_inner_container,
  .henrich-main-menu .et_pb_menu__wrap,
  .henrich-main-menu .et-menu-nav,
  .henrich-main-menu .et-menu,
  .henrich-main-menu .et-menu > li {
    overflow: visible !important;
  }

  .henrich-main-menu ul.sub-menu {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Divi .et-menu li { display:inline-block } — stack dropdown links vertically */
  .henrich-main-menu .sub-menu li,
  .henrich-main-menu .sub-menu .sub-menu li {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Standard dropdowns — keep parent positioned, panel full width */
  .henrich-main-menu .et-menu > li:not(.products-mega-menu) {
    position: relative !important;
  }

  .henrich-main-menu .et-menu > li:not(.products-mega-menu) > ul.sub-menu {
    position: fixed !important;
    top: var(--henrich-blue-bar-top, 152px) !important;
    left: var(--henrich-dropdown-left, auto) !important;
    right: auto !important;
    margin-top: 0 !important;
    min-width: 280px !important;
    width: max-content !important;
    max-width: 360px !important;
    height: auto !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    white-space: normal !important;
    box-sizing: border-box !important;
    z-index: 999999 !important;
    padding: 10px 0 !important;
    padding-top: 0 !important;
    background: #fff !important;
    border-top: 3px solid var(--he-orange) !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18) !important;
    transform: none !important;
    transition: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .henrich-main-menu .et-menu > li:not(.products-mega-menu) > ul.sub-menu::before {
    content: "" !important;
    position: absolute !important;
    top: -24px !important;
    left: 0 !important;
    width: 100% !important;
    height: 24px !important;
    background: transparent !important;
  }

  .henrich-main-menu .et-menu > li:not(.products-mega-menu):hover > ul.sub-menu,
  .henrich-main-menu .et-menu > li:not(.products-mega-menu):focus-within > ul.sub-menu,
  .henrich-main-menu .et-menu > li:not(.products-mega-menu).henrich-dropdown-open > ul.sub-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  /* Mega menu — fixed panel escapes sticky header clipping */
  .henrich-header-nav .et_pb_column,
  .henrich-main-menu.et_pb_menu,
  .henrich-main-menu .et_pb_menu_inner_container,
  .henrich-main-menu .et_pb_menu__wrap,
  .henrich-main-menu .et-menu-nav,
  .henrich-main-menu .et-menu > li.products-mega-menu {
    position: static !important;
  }

  .henrich-main-menu .products-mega-menu > .sub-menu,
  .henrich-main-menu .et-menu > li.products-mega-menu.menu-item-has-children > ul.sub-menu {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 20px !important;
    position: fixed !important;
    top: var(--henrich-blue-bar-top, 152px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    height: auto !important;
    max-height: calc(100vh - 170px) !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    box-sizing: border-box !important;
    padding: 24px !important;
    margin-top: 0 !important;
    background: #fff !important;
    border-top: 3px solid var(--he-orange) !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 999999 !important;
  }

  .henrich-main-menu .products-mega-menu > .sub-menu > li {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .henrich-main-menu .products-mega-menu > .sub-menu > li > .sub-menu {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
  }

  .henrich-main-menu .products-mega-menu > .sub-menu > li > .sub-menu,
  .henrich-main-menu .products-mega-menu .sub-menu .sub-menu {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .henrich-main-menu .products-mega-menu .sub-menu .sub-menu li,
  .henrich-main-menu .products-mega-menu .sub-menu .sub-menu li a {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .henrich-main-menu .products-mega-menu .sub-menu .sub-menu li {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .henrich-main-menu .products-mega-menu .sub-menu .sub-menu li a {
    display: block !important;
    padding: 8px 8px !important;
    text-align: left !important;
  }

  .henrich-main-menu .products-mega-menu .sub-menu .sub-menu li a:hover,
  .henrich-main-menu .products-mega-menu .sub-menu .sub-menu li a:focus {
    background: var(--he-orange, #ff642a) !important;
    color: var(--he-white, #ffffff) !important;
  }

  .henrich-main-menu .products-mega-menu:hover > .sub-menu,
  .henrich-main-menu .et-menu > li.products-mega-menu.menu-item-has-children:hover > ul.sub-menu,
  .henrich-main-menu .products-mega-menu.henrich-mega-open > .sub-menu,
  .henrich-main-menu .et-menu > li.products-mega-menu.henrich-mega-open > ul.sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(-50%) !important;
  }

  /* Mega menu: equal columns so title boxes align (MVP + 4 API roots). */
  @media only screen and (min-width: 981px) and (max-width: 1400px) {
    .henrich-main-menu .products-mega-menu > .sub-menu {
      grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
      gap: 16px !important;
      width: calc(100vw - 40px) !important;
      max-width: calc(100vw - 40px) !important;
    }
  }

  @media only screen and (min-width: 981px) and (max-width: 1200px) {
    .henrich-main-menu .products-mega-menu > .sub-menu {
      grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
      width: calc(100vw - 32px) !important;
      max-width: calc(100vw - 32px) !important;
    }
  }

  /* Solutions / Support / About Us — shared content-width panel, even side padding,
     flush-left links (not centered). Overrides Divi width:200px / float. */
  .henrich-main-menu .et-menu > li.henrich-nav-dropdown-wide > ul.sub-menu {
    min-width: 280px !important;
    width: max-content !important;
    max-width: min(420px, calc(100vw - 48px)) !important;
    text-align: left !important;
  }

  .henrich-main-menu .et-menu > li.henrich-nav-dropdown-wide > ul.sub-menu > li,
  .henrich-main-menu .et-menu > li.henrich-nav-dropdown-wide > ul.sub-menu li {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .henrich-main-menu .et-menu > li.henrich-nav-dropdown-wide > ul.sub-menu > li > a,
  .henrich-main-menu .et-menu > li.henrich-nav-dropdown-wide > ul.sub-menu li a {
    display: block !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 8px 20px !important;
    box-sizing: border-box !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  .henrich-main-menu .et-menu > li.henrich-nav-dropdown-wide > ul.sub-menu .sub-menu {
    display: none !important;
  }
}

@media only screen and (min-width: 981px) and (max-width: 1280px) {
  .henrich-search-col,
  .henrich-header-top > .henrich-search-col,
  .henrich-header-top > .et_pb_column.henrich-search-col {
    flex-basis: 340px !important;
    width: 340px !important;
    max-width: 340px !important;
  }

  .henrich-header-top > .henrich-utility-col:nth-child(3),
  .henrich-header-top > .et_pb_column.henrich-utility-col:nth-child(3) {
    margin-left: 22px !important;
  }

  .henrich-main-menu .et-menu {
    gap: clamp(10px, 1.2vw, 18px) !important;
  }
}

/* =========================================================
   13b. Cart page — intro to item list spacing (all viewports)
   Desktop: grid layout so cart items sit under intro, not below Add Items panel height.
========================================================= */

body.page-id-450 #main-content .et_pb_row_0.et_flex_row,
body:has(#henrich-cart-items) #main-content .et_pb_row_0.et_flex_row {
  gap: 8px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.page-id-450 #main-content .et_pb_row_1.et_flex_row,
body:has(#henrich-cart-items) #main-content .et_pb_row_1.et_flex_row {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page-id-450 #main-content .et_pb_row_0 .et_pb_module,
body.page-id-450 #main-content .et_pb_row_1 .et_pb_code:has(#henrich-cart-items),
body:has(#henrich-cart-items) #main-content .et_pb_row_0 .et_pb_module,
body:has(#henrich-cart-items) #main-content .et_pb_row_1 .et_pb_code:has(#henrich-cart-items) {
  margin-bottom: 0 !important;
}

body.page-id-450 #main-content .et_pb_row_0 .et_pb_text,
body:has(#henrich-cart-items) #main-content .et_pb_row_0 .et_pb_text {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.page-id-450 #main-content .et_pb_row_0 .et_pb_divider,
body:has(#henrich-cart-items) #main-content .et_pb_row_0 .et_pb_divider {
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-450 #main-content .et_pb_row_1 .et_pb_code,
body:has(#henrich-cart-items) #main-content .et_pb_row_1 .et_pb_code {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page-id-450 #henrich-cart-items,
body:has(#henrich-cart-items) #henrich-cart-items {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page-id-450 .henrich-cart-table-wrap,
body:has(#henrich-cart-items) .henrich-cart-table-wrap {
  margin-top: 0 !important;
}

body.page-id-450 #main-content .et_pb_text_inner h4,
body:has(#henrich-cart-items) #main-content .et_pb_text_inner h4 {
  margin-bottom: 4px !important;
  padding-bottom: 0 !important;
}

body.page-id-450 .henrich-cart-include-checkbox,
body:has(#henrich-cart-items) .henrich-cart-include-checkbox {
  pointer-events: auto !important;
  cursor: pointer !important;
  accent-color: #003d88 !important;
  width: 18px !important;
  height: 18px !important;
}

body.page-id-450 .henrich-cart-table tr.henrich-cart-row--excluded,
body:has(#henrich-cart-items) .henrich-cart-table tr.henrich-cart-row--excluded {
  opacity: 0.55;
}

body.page-id-450 .henrich-cart-table tr.henrich-cart-row--excluded .henrich-cart-line-total,
body:has(#henrich-cart-items) .henrich-cart-table tr.henrich-cart-row--excluded .henrich-cart-line-total {
  text-decoration: line-through;
  color: #888;
}

body.page-id-450 #henrich-cart-actions .henrich-cart-panel,
body:has(#henrich-cart-items) #henrich-cart-actions .henrich-cart-panel {
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}

/* Desktop — Add Items left column; intro + cart stacked right; footer flush right */
@media (min-width: 981px) {
  body.page-id-450 #main-content .et_pb_section:has(#henrich-cart-items),
  body:has(#henrich-cart-items) #main-content .et_pb_section:has(#henrich-cart-items) {
    display: grid !important;
    grid-template-columns: minmax(300px, 380px) minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 28px !important;
    row-gap: 0 !important;
    align-items: start !important;
  }

  body.page-id-450 #main-content .et_pb_section:has(#henrich-cart-items) > .et_pb_row_0,
  body.page-id-450 #main-content .et_pb_section:has(#henrich-cart-items) > .et_pb_row_1,
  body:has(#henrich-cart-items) #main-content .et_pb_section:has(#henrich-cart-items) > .et_pb_row_0,
  body:has(#henrich-cart-items) #main-content .et_pb_section:has(#henrich-cart-items) > .et_pb_row_1 {
    display: contents !important;
  }

  /* Add Items — left column, spans full height beside cart */
  body.page-id-450 #main-content .et_pb_row_0 > .et_pb_column:first-child,
  body:has(#henrich-cart-items) #main-content .et_pb_row_0 > .et_pb_column:first-child {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    align-self: start !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Intro — top of right column */
  body.page-id-450 #main-content .et_pb_row_0 > .et_pb_column:last-child,
  body:has(#henrich-cart-items) #main-content .et_pb_row_0 > .et_pb_column:last-child {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
  }

  body.page-id-450 #main-content .et_pb_row_1 > .et_pb_column:first-child,
  body:has(#henrich-cart-items) #main-content .et_pb_row_1 > .et_pb_column:first-child {
    display: none !important;
  }

  /* Cart table + summary — below intro, same right column */
  body.page-id-450 #main-content .et_pb_row_1 > .et_pb_column:last-child,
  body:has(#henrich-cart-items) #main-content .et_pb_row_1 > .et_pb_column:last-child {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.page-id-450 #henrich-cart-add-items,
  body:has(#henrich-cart-items) #henrich-cart-add-items,
  body.page-id-450 #henrich-cart-add-items .henrich-cart-panel,
  body:has(#henrich-cart-items) #henrich-cart-add-items .henrich-cart-panel {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.page-id-450 #henrich-cart-items,
  body:has(#henrich-cart-items) #henrich-cart-items,
  body.page-id-450 .henrich-cart-table-wrap,
  body:has(#henrich-cart-items) .henrich-cart-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-id-450 #main-content .et_pb_row_2,
  body:has(#henrich-cart-items) #main-content .et_pb_row_2 {
    justify-content: flex-end !important;
  }

  body.page-id-450 #main-content .et_pb_row_2 > .et_pb_column,
  body:has(#henrich-cart-items) #main-content .et_pb_row_2 > .et_pb_column {
    text-align: right !important;
  }

  body.page-id-450 #henrich-cart-actions,
  body:has(#henrich-cart-items) #henrich-cart-actions,
  body.page-id-450 #henrich-cart-actions .henrich-cart-panel,
  body:has(#henrich-cart-items) #henrich-cart-actions .henrich-cart-panel {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
  }

  body.page-id-450 #henrich-cart-actions .henrich-cart-actions-grid,
  body:has(#henrich-cart-items) #henrich-cart-actions .henrich-cart-actions-grid {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
    gap: 14px !important;
  }

  body.page-id-450 #henrich-cart-actions .henrich-cart-actions-left,
  body.page-id-450 #henrich-cart-actions .henrich-cart-actions-right,
  body:has(#henrich-cart-items) #henrich-cart-actions .henrich-cart-actions-left,
  body:has(#henrich-cart-items) #henrich-cart-actions .henrich-cart-actions-right {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
    text-align: right !important;
    width: auto !important;
    gap: 12px !important;
  }

  body.page-id-450 #henrich-cart-actions .henrich-cart-actions-left,
  body:has(#henrich-cart-items) #henrich-cart-actions .henrich-cart-actions-left {
    flex-direction: row !important;
    flex-wrap: wrap !important;
  }

  body.page-id-450 #henrich-cart-actions .henrich-cart-summary-row.total,
  body:has(#henrich-cart-items) #henrich-cart-actions .henrich-cart-summary-row.total {
    justify-content: flex-end !important;
    text-align: right !important;
    min-width: 220px !important;
  }

  body.page-id-450 #henrich-cart-actions .henrich-cart-btn,
  body:has(#henrich-cart-items) #henrich-cart-actions .henrich-cart-btn,
  body.page-id-450 #henrich-cart-actions .henrich-cart-btn-primary,
  body:has(#henrich-cart-items) #henrich-cart-actions .henrich-cart-btn-primary {
    width: auto !important;
    min-width: 220px !important;
    display: inline-block !important;
  }

  body.page-id-450 #main-content .et_pb_row_2 .et_pb_text,
  body:has(#henrich-cart-items) #main-content .et_pb_row_2 .et_pb_text,
  body.page-id-450 #main-content .et_pb_row_2 .et_pb_text_inner,
  body:has(#henrich-cart-items) #main-content .et_pb_row_2 .et_pb_text_inner,
  body.page-id-450 #main-content .et_pb_row_2 h5,
  body:has(#henrich-cart-items) #main-content .et_pb_row_2 h5 {
    text-align: right !important;
  }
}

/* =========================================================
   13c. Checkout page — desktop layout (page-id-456)
   Main flow left; order summary sticky right sidebar.
========================================================= */

body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column:first-child .et_pb_module,
body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column:first-child .et_pb_module {
  margin-bottom: 16px !important;
}

body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column:first-child .et_pb_module:last-child,
body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column:first-child .et_pb_module:last-child {
  margin-bottom: 0 !important;
}

body.page-id-456 #main-content .et_pb_text_inner h4,
body:has(#henrich-checkout-summary) #main-content .et_pb_text_inner h4 {
  font-size: 22px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  margin: 0 0 12px !important;
  padding-bottom: 0 !important;
}

body.page-id-456 #main-content .et_pb_row_0 .et_pb_image img,
body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 .et_pb_image img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

body.page-id-456 #main-content .et_pb_row_0 .et_pb_image,
body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 .et_pb_image {
  margin-top: 4px !important;
  margin-bottom: 8px !important;
}

body.page-id-456 #henrich-checkout-summary,
body:has(#henrich-checkout-summary) #henrich-checkout-summary {
  width: 100% !important;
  max-width: 100% !important;
}

body.page-id-456 #henrich-checkout-summary .henrich-checkout-panel,
body:has(#henrich-checkout-summary) #henrich-checkout-summary .henrich-checkout-panel {
  margin-bottom: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column:last-child,
body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column:last-child {
  min-width: 0 !important;
}

body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column:last-child > .et_pb_code,
body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column:last-child > .et_pb_code {
  width: 100% !important;
  max-width: 100% !important;
}

body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column:last-child > .et_pb_code:has(#henrich-checkout-summary),
body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column:last-child > .et_pb_code:has(#henrich-checkout-summary) {
  margin-bottom: 0 !important;
}

/* Assistance contact block — align with summary panel inner edges (24px inset) */
body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column:last-child > .et_pb_code:has(#henrich-checkout-summary) + .et_pb_text,
body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column:last-child > .et_pb_code:has(#henrich-checkout-summary) + .et_pb_text {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 16px !important;
  margin-bottom: 0 !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  word-break: break-word !important;
}

body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column:last-child > .et_pb_code:has(#henrich-checkout-summary) + .et_pb_text .et_pb_text_inner,
body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column:last-child > .et_pb_code:has(#henrich-checkout-summary) + .et_pb_text .et_pb_text_inner {
  text-align: left !important;
}

body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column:last-child > .et_pb_code:has(#henrich-checkout-summary) + .et_pb_text p,
body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column:last-child > .et_pb_code:has(#henrich-checkout-summary) + .et_pb_text p {
  margin: 0 0 8px !important;
}

body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column:last-child > .et_pb_code:has(#henrich-checkout-summary) + .et_pb_text p:last-child,
body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column:last-child > .et_pb_code:has(#henrich-checkout-summary) + .et_pb_text p:last-child {
  margin-bottom: 0 !important;
}

/* Tablet + small laptop — side-by-side, sidebar scales down */
@media (min-width: 768px) and (max-width: 980px) {
  body.page-id-456 #main-content .et_pb_row_0.et_flex_row,
  body:has(#henrich-checkout-summary) #main-content .et_pb_row_0.et_flex_row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) clamp(260px, 34vw, 340px) !important;
    column-gap: 24px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column,
  body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    min-width: 0 !important;
  }

  body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column:first-child,
  body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column:first-child {
    grid-column: 1 !important;
  }

  body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column:last-child,
  body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column:last-child {
    grid-column: 2 !important;
    position: static !important;
  }
}

/* Phone — stack summary below main flow */
@media (max-width: 767px) {
  body.page-id-456 #main-content .et_pb_row_0.et_flex_row,
  body:has(#henrich-checkout-summary) #main-content .et_pb_row_0.et_flex_row {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }

  body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column,
  body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column:last-child,
  body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column:last-child {
    position: static !important;
  }

  body.page-id-456 #henrich-checkout-summary .henrich-checkout-panel,
  body:has(#henrich-checkout-summary) #henrich-checkout-summary .henrich-checkout-panel {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (min-width: 981px) {
  body.page-id-456 #main-content .et_pb_section:has(#henrich-checkout-summary),
  body:has(#henrich-checkout-summary) #main-content .et_pb_section:has(#henrich-checkout-summary) {
    max-width: 100% !important;
  }

  body.page-id-456 #main-content .et_pb_row_0.et_flex_row,
  body:has(#henrich-checkout-summary) #main-content .et_pb_row_0.et_flex_row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) clamp(340px, 32vw, 460px) !important;
    column-gap: 32px !important;
    row-gap: 0 !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column,
  body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column:first-child,
  body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column:first-child {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.page-id-456 #main-content .et_pb_row_0 > .et_pb_column:last-child,
  body:has(#henrich-checkout-summary) #main-content .et_pb_row_0 > .et_pb_column:last-child {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
    position: sticky !important;
    top: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-id-456 .henrich-checkout-panel,
  body:has(#henrich-checkout-summary) .henrich-checkout-panel {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.page-id-456 #henrich-checkout-summary .henrich-checkout-panel,
  body:has(#henrich-checkout-summary) #henrich-checkout-summary .henrich-checkout-panel {
    padding: 22px 24px !important;
  }

  body.page-id-456 #henrich-checkout-summary .henrich-checkout-summary-row,
  body:has(#henrich-checkout-summary) #henrich-checkout-summary .henrich-checkout-summary-row {
    font-size: 16px !important;
    gap: 20px !important;
  }

  body.page-id-456 #henrich-checkout-summary .henrich-checkout-summary-row.total,
  body:has(#henrich-checkout-summary) #henrich-checkout-summary .henrich-checkout-summary-row.total {
    font-size: 22px !important;
  }
}

/* Large screens — give summary a bit more room */
@media (min-width: 1280px) {
  body.page-id-456 #main-content .et_pb_row_0.et_flex_row,
  body:has(#henrich-checkout-summary) #main-content .et_pb_row_0.et_flex_row {
    grid-template-columns: minmax(0, 1fr) clamp(380px, 28vw, 500px) !important;
    column-gap: 40px !important;
  }
}

/* =========================================================
   Contact page (page-id-83) — desktop layout + form
   Matches serial2all.online/contact structure
========================================================= */

@media only screen and (min-width: 981px) {
  body.page-id-83 #main-content .et_pb_section {
    padding-top: 32px !important;
    padding-bottom: 48px !important;
  }

  /* Intro row — single full-width column; honor Divi center alignment */
  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):not(:has(> .et_pb_column:nth-child(2))) {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 32px !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):not(:has(> .et_pb_column:nth-child(2))) > .et_pb_column {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):not(:has(> .et_pb_column:nth-child(2))) .et_pb_text_inner,
  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):not(:has(> .et_pb_column:nth-child(2))) .et_pb_text_inner h2,
  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):not(:has(> .et_pb_column:nth-child(2))) .et_pb_text_inner p,
  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):not(:has(> .et_pb_column:nth-child(2))) .et_pb_text_inner h6 {
    text-align: center !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):not(:has(> .et_pb_column:nth-child(2))) .et_pb_text_inner h2 {
    font-size: 28px !important;
    line-height: 1.25 !important;
    margin: 0 0 12px !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):not(:has(> .et_pb_column:nth-child(2))) .et_pb_text_inner p {
    font-size: 20px !important;
    line-height: 1.55 !important;
    margin: 0 0 8px !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):not(:has(> .et_pb_column:nth-child(2))) .et_pb_text_inner h6 {
    font-size: 14px !important;
    font-weight: 600 !important;
    margin: 0 0 8px !important;
  }

  /* Two-column row — contact info (sidebar) + centered form area */
  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):has(> .et_pb_column:nth-child(2)) {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 40px !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):has(> .et_pb_column:nth-child(2)) > .et_pb_column:first-child {
    flex: 0 0 340px !important;
    width: 340px !important;
    max-width: 340px !important;
    align-self: flex-start !important;
    height: auto !important;
    min-height: 0 !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):has(> .et_pb_column:nth-child(2)) > .et_pb_column:last-child {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: 640px !important;
    min-width: 0 !important;
    height: auto !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):has(> .et_pb_column:nth-child(2)) > .et_pb_column:first-child .et_pb_text_inner,
  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):has(> .et_pb_column:nth-child(2)) > .et_pb_column:first-child .et_pb_text_inner p {
    text-align: left !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):has(> .et_pb_column:nth-child(2)) > .et_pb_column:first-child .et_pb_text_inner p {
    font-size: 16px !important;
    line-height: 1.55 !important;
    margin-bottom: 12px !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):has(> .et_pb_column:nth-child(2)) > .et_pb_column:last-child .et_pb_text {
    margin-bottom: 16px !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):has(> .et_pb_column:nth-child(2)) > .et_pb_column:last-child .et_pb_text_inner h6 {
    font-size: 14px !important;
    font-weight: 600 !important;
    text-align: left !important;
    margin: 0 0 20px !important;
  }

  body.page-id-83 #main-content .et_pb_code .et_pb_code_inner > div[style*="padding-bottom"] {
    width: 100% !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  body.page-id-83 .wpforms-container,
  body.page-id-83 .wpforms-container-full,
  body.page-id-83 .wpforms-form,
  body.page-id-83 .henrich-contact-form,
  body.page-id-83 .henrich-contact-form-inner {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }

  body.page-id-83 .henrich-contact-field {
    display: block !important;
    width: 100% !important;
    margin-bottom: 14px !important;
  }

  body.page-id-83 .henrich-contact-label {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    margin: 0 0 6px !important;
    color: #111 !important;
  }

  body.page-id-83 .henrich-contact-required {
    color: #c0392b !important;
    font-weight: 700 !important;
  }

  body.page-id-83 .henrich-contact-input,
  body.page-id-83 .henrich-contact-textarea,
  body.page-id-83 .wpforms-form input[type="text"],
  body.page-id-83 .wpforms-form input[type="email"],
  body.page-id-83 .wpforms-form input[type="tel"],
  body.page-id-83 .wpforms-form input[type="url"],
  body.page-id-83 .wpforms-form input[type="number"],
  body.page-id-83 .wpforms-form select,
  body.page-id-83 .wpforms-form textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 40px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    padding: 8px 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 3px !important;
    box-sizing: border-box !important;
    background: #eee !important;
    color: #111 !important;
  }

  body.page-id-83 .henrich-contact-textarea,
  body.page-id-83 .wpforms-form textarea {
    min-height: 120px !important;
    resize: vertical !important;
  }

  body.page-id-83 .henrich-contact-input.is-error,
  body.page-id-83 .henrich-contact-textarea.is-error {
    border-color: #c0392b !important;
  }

  body.page-id-83 .henrich-contact-error {
    min-height: 18px !important;
    margin-top: 6px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    color: #c0392b !important;
  }

  body.page-id-83 .henrich-contact-code-row {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body.page-id-83 .henrich-contact-code-input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
  }

  body.page-id-83 .henrich-contact-send-code {
    flex: 0 0 auto !important;
    min-width: 80px !important;
    min-height: 40px !important;
    padding: 0 16px !important;
    border: 1px solid #ccc !important;
    border-radius: 3px !important;
    background: #f5f5f5 !important;
    color: #111 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
  }

  body.page-id-83 .henrich-contact-send-code:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
  }

  body.page-id-83 .henrich-contact-actions {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 16px !important;
  }

  body.page-id-83 .henrich-contact-reset,
  body.page-id-83 .henrich-contact-submit,
  body.page-id-83 .wpforms-form button[type="submit"],
  body.page-id-83 .wpforms-form .wpforms-submit-container .wpforms-submit {
    display: inline-block !important;
    min-height: 40px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    padding: 10px 24px !important;
    border-radius: 3px !important;
    cursor: pointer !important;
  }

  body.page-id-83 .henrich-contact-reset {
    border: 1px solid #ccc !important;
    background: #fff !important;
    color: #111 !important;
  }

  body.page-id-83 .henrich-contact-submit {
    border: none !important;
    background: #0a71b3 !important;
    color: #fff !important;
    font-weight: 600 !important;
  }

  body.page-id-83 .henrich-contact-success[hidden],
  body.page-id-83 .henrich-contact-form-inner[hidden] {
    display: none !important;
  }

  body.page-id-83 .henrich-contact-success {
    text-align: center !important;
    padding: 24px 12px !important;
  }

  body.page-id-83 .henrich-contact-success-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    margin: 0 0 8px !important;
  }

  body.page-id-83 .henrich-contact-success-subtitle {
    font-size: 16px !important;
    margin: 0 0 20px !important;
  }

  body.page-id-83 .henrich-contact-success-ok {
    min-height: 40px !important;
    padding: 10px 28px !important;
    border: none !important;
    border-radius: 3px !important;
    background: #0a71b3 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
  }

  body.page-id-83 .wpforms-field-label,
  body.page-id-83 .wpforms-field-description {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  body.page-id-83 .wpforms-form .wpforms-field {
    margin-bottom: 14px !important;
    padding: 0 !important;
  }
}

/* =========================================================
   14. Mobile Layout System (May 2026)
   Consistent typography + page-specific mobile polish
========================================================= */

@media (max-width: 980px) {
  :root {
    --mobile-page-x: 18px;
    --mobile-section-y: 36px;
    --mobile-h1: 30px;
    --mobile-h2: 26px;
    --mobile-h3: 22px;
    --mobile-h4: 19px;
    --mobile-body: 16px;
    --mobile-body-lg: 17px;
    --mobile-lead: 18px;
    --mobile-line: 1.55;
  }

  /* Product category — off-canvas sidebar must not reserve row width */
  body:has(#henrich-category-header) #et-main-area .et_pb_row.et_flex_row:not(.et_pb_row_nested),
  body:has(#product-list) #et-main-area .et_pb_row.et_flex_row:not(.et_pb_row_nested),
  body.henrich-has-product-sidebar #et-main-area .et_pb_row.et_flex_row:not(.et_pb_row_nested) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:has(#henrich-category-header) #main-content .et_pb_row:not(.et_pb_row_nested) > .product-sidebar,
  body:has(#product-list) #main-content .et_pb_row:not(.et_pb_row_nested) > .product-sidebar,
  body.henrich-has-product-sidebar #main-content .et_pb_row:not(.et_pb_row_nested) > .product-sidebar {
    flex: 0 0 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  body:has(#henrich-category-header) #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column:empty,
  body:has(#product-list) #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column:empty,
  body.henrich-has-product-sidebar #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column:empty,
  body:has(#henrich-category-header) #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column.et_pb_column_empty,
  body:has(#product-list) #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column.et_pb_column_empty,
  body.henrich-has-product-sidebar #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column.et_pb_column_empty {
    display: none !important;
    flex: 0 0 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body:has(#henrich-category-header) #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column:not(.product-sidebar),
  body:has(#product-list) #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column:not(.product-sidebar),
  body.henrich-has-product-sidebar #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column:not(.product-sidebar) {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Product detail — full-width columns on tablet */
  body:has(#product-buy-box) #et-main-area .et_pb_section,
  body.page-id-176 #et-main-area .et_pb_section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:has(#product-buy-box) .single-product-content-col,
  body:has(#product-buy-box) .single-product-buy-col,
  body.page-id-176 .single-product-content-col,
  body.page-id-176 .single-product-buy-col {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
  }
}

@media (max-width: 767px) {
  :root {
    --mobile-page-x: 16px;
    --mobile-section-y: 28px;
    --mobile-h1: 28px;
    --mobile-h2: 24px;
    --mobile-h3: 20px;
    --mobile-h4: 18px;
    --mobile-h5: 14px;
    --mobile-body: 16px;
    --mobile-body-lg: 17px;
    --mobile-lead: 17px;
  }

  /* --- Shared page typography --- */
  #main-content .et_pb_text_inner h1,
  #main-content h1 {
    font-size: var(--mobile-h1) !important;
    line-height: 1.15 !important;
  }

  #main-content .et_pb_text_inner h2,
  #main-content h2 {
    font-size: var(--mobile-h2) !important;
    line-height: 1.2 !important;
  }

  #main-content .et_pb_text_inner h3,
  #main-content h3 {
    font-size: var(--mobile-h3) !important;
    line-height: 1.25 !important;
  }

  #main-content .et_pb_text_inner h4,
  #main-content h4 {
    font-size: var(--mobile-h4) !important;
    line-height: 1.3 !important;
  }

  #main-content .et_pb_text_inner p,
  #main-content .et_pb_text_inner li,
  #main-content .et_pb_blurb_description,
  #main-content .et_pb_blurb_description p {
    font-size: var(--mobile-body) !important;
    line-height: var(--mobile-line) !important;
  }

  #main-content .et_pb_button,
  #main-content .he-button-blue,
  #main-content .he-button-orange,
  #main-content .home-button,
  #main-content .footer-button {
    font-size: 15px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    padding: 12px 18px !important;
    min-height: 44px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* --- Home page --- */
  .home-section {
    padding: var(--mobile-section-y) 0 !important;
  }

  .home-hero.et_pb_section {
    background-position: center !important;
  }

  .home-hero h1 {
    font-size: 32px !important;
    line-height: 1.1 !important;
    max-width: none !important;
  }

  .home-hero p,
  .home-hero h4 {
    font-size: var(--mobile-lead) !important;
    line-height: var(--mobile-line) !important;
    max-width: none !important;
  }

  .home-solution-card {
    padding: 22px 18px !important;
  }

  .home-solution-card h2,
  .home-solution-card h3 {
    font-size: var(--mobile-h3) !important;
  }

  .why-henrich-title {
    font-size: var(--mobile-h2) !important;
  }

  .why-henrich-section {
    --why-henrich-gap-x: 10px;
    --why-henrich-gap-y: 14px;
    --why-henrich-bar-width: 3px;
    --why-henrich-stack-gap: clamp(28px, 7vw, 40px);
    padding-top: var(--mobile-section-y) !important;
    padding-bottom: var(--why-henrich-stack-gap) !important;
  }

  .why-henrich-section .et_pb_row.why-henrich-row {
    padding-left: var(--mobile-page-x) !important;
    padding-right: var(--mobile-page-x) !important;
    gap: var(--why-henrich-stack-gap) !important;
  }

  .why-henrich-video .et_pb_video_box {
    min-height: 180px;
    aspect-ratio: 16 / 9;
  }

  .why-henrich-row > .why-henrich-cards-col,
  .why-henrich-row > .et_pb_column.why-henrich-cards-col:not(.why-henrich-video-col),
  .why-henrich-row > .et_pb_column:not(.why-henrich-video-col) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: var(--why-henrich-gap-x);
    row-gap: var(--why-henrich-gap-y);
  }

  .why-henrich-card.et_pb_text,
  .why-henrich-card {
    padding: 0 0 0 8px !important;
  }

  .why-henrich-card h3,
  .why-henrich-card h4,
  .why-henrich-card p {
    font-size: clamp(13px, 3.6vw, 16px) !important;
    line-height: 1.15 !important;
    min-width: 0;
  }

  .why-henrich-intro-section .why-henrich-title,
  .why-henrich-intro-section .why-henrich-title h3 {
    font-size: var(--mobile-h3) !important;
  }

  .why-henrich-intro-section .why-henrich-lead p {
    font-size: var(--mobile-body) !important;
    line-height: var(--mobile-line) !important;
  }

  .why-card {
    padding: 18px 14px !important;
  }

  .why-card h3 {
    font-size: 17px !important;
    line-height: 1.3 !important;
  }

  .why-card p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  .feature-card h3 {
    font-size: var(--mobile-h4) !important;
  }

  .feature-card p {
    font-size: var(--mobile-body) !important;
    line-height: var(--mobile-line) !important;
    padding: 0 14px 14px !important;
  }

  .product-showcase {
    --showcase-image-gap: clamp(10px, 3vw, 18px);
    padding-bottom: 32px;
  }

  .product-showcase .product-panel.active {
    margin: 16px var(--mobile-page-x) 0;
    gap: 14px;
  }

  .product-showcase .product-info-card {
    padding: 22px 18px;
  }

  .product-showcase .product-info-card h2 {
    font-size: var(--mobile-h3) !important;
  }

  .product-showcase .product-info-card p,
  .product-showcase .product-info-card li {
    font-size: var(--mobile-body) !important;
  }

  /* --- Products page: see Section 15 (mobile revisions mockup) --- */

  /* Home hover cards (.product-showcase): keep archive layout — see @media (max-width: 980px) home block */

  /* --- Solutions pages --- */
  .solutions-headers-row,
  .et_pb_row.solutions-headers-row {
    padding: 28px var(--mobile-page-x) !important;
  }

  .solutions-header h1,
  .solutions-headers-row h1 {
    font-size: var(--mobile-h1) !important;
    line-height: 1.15 !important;
  }

  .solutions-section-2,
  .solutions-section-4,
  .et_pb_section.solutions-section-2,
  .et_pb_section.solutions-section-4 {
    padding-left: var(--mobile-page-x) !important;
    padding-right: var(--mobile-page-x) !important;
  }

  .s3-double-sided-info-card,
  .et_pb_section.s3-double-sided-info-card {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .r3-dsic,
  .et_pb_row.r3-dsic {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 0 !important;
  }

  .r3-dsic > .et_pb_column,
  .s3-double-sided-info-card .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    min-width: 0 !important;
    padding: 24px var(--mobile-page-x) !important;
  }

  /* Solutions pages — paragraph body copy */
  #main-content .solutions-section-2 .et_pb_text_inner p,
  #main-content .solutions-section-2 .et_pb_text_inner li,
  #main-content .solutions-section-4 .et_pb_text_inner p,
  #main-content .solutions-section-4 .et_pb_text_inner li,
  #main-content .conclusionary-section .et_pb_text_inner p,
  #main-content .conclusionary-section .et_pb_text_inner li,
  #main-content .s3-double-sided-info-card .et_pb_text_inner p,
  #main-content .s3-double-sided-info-card .et_pb_text_inner li,
  #main-content .solutions-section-row-1 .et_pb_text_inner p,
  #main-content .solutions-section-row-1 .et_pb_text_inner li,
  #main-content .solutions-contact-row .et_pb_text_inner p,
  #main-content .solutions-contact-row .et_pb_text_inner li {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  /* Section 4 — conclusion + contact + nav cards */
  .solutions-section-4,
  .et_pb_section.solutions-section-4,
  .conclusionary-section,
  .et_pb_section.conclusionary-section {
    padding-left: var(--mobile-page-x) !important;
    padding-right: var(--mobile-page-x) !important;
    padding-bottom: 2.5em !important;
  }

  .solutions-section-row-1,
  .et_pb_row.solutions-section-row-1 {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .solutions-section-row-1 > .et_pb_column,
  .et_pb_row.solutions-section-row-1 > .et_pb_column {
    flex: 0 0 100% !important;
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .solutions-section-row-1 > .et_pb_column[class*="et_flex_column"],
  .et_pb_row.solutions-section-row-1 > .et_pb_column[class*="et_flex_column"] {
    flex-basis: 100% !important;
  }

  .solutions-contact-row,
  .et_pb_row.solutions-contact-row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 20px 16px !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.12) !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  /* Jul 17 QA: flex-basis 100% made each stacked column as tall as the row,
     so the two columns overflowed the card and Divi centered them half
     outside it (image floated above the card top). Size columns to their
     content instead. */
  .solutions-contact-row > .et_pb_column,
  .et_pb_row.solutions-contact-row > .et_pb_column {
    flex: 0 0 auto !important;
    flex-basis: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .solutions-contact-row > .et_pb_column[class*="et_flex_column"],
  .et_pb_row.solutions-contact-row > .et_pb_column[class*="et_flex_column"] {
    flex-basis: auto !important;
  }

  .solutions-contact-row .et_pb_image,
  .solutions-contact-row .et_pb_image_wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  .solutions-contact-row .et_pb_image img {
    width: min(100%, 280px) !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
  }

  .solutions-contact-row .et_pb_button_module_wrapper,
  .et_pb_row.solutions-contact-row .et_pb_button_module_wrapper {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    margin: 0 !important;
  }

  .solutions-contact-bttn,
  .et_pb_button.solutions-contact-bttn {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    position: relative !important;
    padding: 12px 52px 12px 20px !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  .solutions-contact-bttn::after,
  .et_pb_button.solutions-contact-bttn::after {
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  .solutions-cards,
  .et_pb_row.solutions-cards {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px 0 0 0 !important;
    padding: 0 !important;
  }

  .solutions-cards > .et_pb_column,
  .et_pb_row.solutions-cards > .et_pb_column {
    flex: 0 0 100% !important;
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .solutions-cards > .et_pb_column[class*="et_flex_column"],
  .et_pb_row.solutions-cards > .et_pb_column[class*="et_flex_column"] {
    flex-basis: 100% !important;
  }

  .solutions-cards > .et_pb_column:empty,
  .solutions-cards > .et_pb_column.et_pb_column_empty,
  .et_pb_row.solutions-cards > .et_pb_column:empty,
  .et_pb_row.solutions-cards > .et_pb_column.et_pb_column_empty {
    display: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .solutions-cards .et_pb_image,
  .solutions-cards .et_pb_image_wrap,
  .solutions-cards .et_pb_image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  /* --- Product category template --- */
  body:has(#henrich-category-header) #page-container,
  body:has(#henrich-category-grid) #page-container,
  body:has(#product-list) #page-container,
  body:has(.product-category-intro) #page-container,
  body.henrich-has-product-sidebar #page-container,
  body:has(#henrich-category-header) #et-main-area,
  body:has(#henrich-category-grid) #et-main-area,
  body:has(#product-list) #et-main-area,
  body:has(.product-category-intro) #et-main-area,
  body.henrich-has-product-sidebar #et-main-area,
  body:has(#henrich-category-header) #main-content,
  body:has(#henrich-category-grid) #main-content,
  body:has(#product-list) #main-content,
  body:has(.product-category-intro) #main-content,
  body.henrich-has-product-sidebar #main-content,
  body:has(#product-list) .et-l--body,
  body:has(#product-list) .et_builder_inner_content,
  body.page-id-76 #page-container,
  body.page-id-76 #et-main-area,
  body.page-id-76 #main-content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: clip;
  }

  body.page-id-76 .mvp-products-slider,
  body.page-id-76 .mvp-products-slider .et_pb_code,
  body.page-id-76 .mvp-products-slider .et_pb_code_inner,
  body.page-id-76 .home-category-products,
  body.page-id-76 .home-product-grid,
  body.page-id-76 .home-product-card {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body:has(#henrich-category-header) #et-main-area .et_pb_section,
  body:has(#henrich-category-grid) #et-main-area .et_pb_section,
  body:has(#product-list) #et-main-area .et_pb_section,
  body:has(.product-category-intro) #et-main-area .et_pb_section,
  body.henrich-has-product-sidebar #et-main-area .et_pb_section,
  body:has(#henrich-category-header) #main-content .et_pb_section,
  body:has(#henrich-category-grid) #main-content .et_pb_section,
  body:has(#product-list) #main-content .et_pb_section,
  body:has(.product-category-intro) #main-content .et_pb_section,
  body.henrich-has-product-sidebar #main-content .et_pb_section {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body:has(#henrich-category-header) #et-main-area .et_pb_row,
  body:has(#henrich-category-grid) #et-main-area .et_pb_row,
  body:has(#product-list) #et-main-area .et_pb_row,
  body:has(.product-category-intro) #et-main-area .et_pb_row,
  body.henrich-has-product-sidebar #et-main-area .et_pb_row,
  body:has(#henrich-category-header) #main-content .et_pb_row,
  body:has(#henrich-category-grid) #main-content .et_pb_row,
  body:has(#product-list) #main-content .et_pb_row,
  body:has(.product-category-intro) #main-content .et_pb_row,
  body.henrich-has-product-sidebar #main-content .et_pb_row {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Sidebar column still reserves flex width when fixed/off-canvas — collapse it */
  body:has(#henrich-category-header) #main-content .et_pb_row:not(.et_pb_row_nested) > .product-sidebar,
  body:has(#product-list) #main-content .et_pb_row:not(.et_pb_row_nested) > .product-sidebar,
  body.henrich-has-product-sidebar #main-content .et_pb_row:not(.et_pb_row_nested) > .product-sidebar {
    flex: 0 0 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  body:has(#henrich-category-header) #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column:empty,
  body:has(#henrich-category-header) #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column.et_pb_column_empty,
  body:has(#product-list) #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column:empty,
  body:has(#product-list) #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column.et_pb_column_empty,
  body.henrich-has-product-sidebar #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column:empty,
  body.henrich-has-product-sidebar #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column.et_pb_column_empty {
    display: none !important;
    flex: 0 0 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body:has(#henrich-category-header) #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column:not(.product-sidebar),
  body:has(#product-list) #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column:not(.product-sidebar),
  body.henrich-has-product-sidebar #main-content .et_pb_row:not(.et_pb_row_nested) > .et_pb_column:not(.product-sidebar) {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body:has(#henrich-category-header) #main-content .et_pb_column:not(.product-sidebar),
  body:has(#product-list) #main-content .et_pb_column:not(.product-sidebar),
  body.henrich-has-product-sidebar #main-content .et_pb_column:not(.product-sidebar),
  body:has(#henrich-category-header) .product-category-intro,
  body:has(#product-list) .product-category-intro,
  body:has(#henrich-category-header) .product-category-grid,
  body:has(#product-list) .product-category-grid,
  body:has(#henrich-category-header) .product-results-card,
  body:has(#product-list) .product-results-card,
  body:has(#henrich-category-header) .product-category-intro .et_pb_code,
  body:has(#product-list) .product-category-intro .et_pb_code,
  body:has(#henrich-category-header) .product-category-grid .et_pb_code,
  body:has(#product-list) .product-category-grid .et_pb_code,
  body:has(#henrich-category-header) .product-results-card .et_pb_code,
  body:has(#product-list) .product-results-card .et_pb_code,
  body:has(#henrich-category-header) .product-category-intro .et_pb_code_inner,
  body:has(#product-list) .product-category-intro .et_pb_code_inner,
  body:has(#henrich-category-header) .product-category-grid .et_pb_code_inner,
  body:has(#product-list) .product-category-grid .et_pb_code_inner,
  body:has(#henrich-category-header) .product-results-card .et_pb_code_inner,
  body:has(#product-list) .product-results-card .et_pb_code_inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body:has(#henrich-category-header) #henrich-category-header,
  body:has(#henrich-category-header) #henrich-category-grid,
  body:has(#product-list) #henrich-category-header,
  body:has(#product-list) #henrich-category-grid,
  body:has(#product-list) #product-list {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body:has(#henrich-category-header) .henrich-category-image,
  body:has(#product-list) .henrich-category-image,
  body:has(#henrich-category-header) .henrich-category-copy,
  body:has(#product-list) .henrich-category-copy,
  body:has(#henrich-category-header) .henrich-category-grid,
  body:has(#product-list) .henrich-category-grid,
  body:has(#product-list) .henrich-product-list-shell {
    margin-left: 8px !important;
    margin-right: 8px !important;
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    box-sizing: border-box !important;
  }

  .henrich-category-header {
    gap: 16px !important;
    margin-bottom: 16px !important;
    padding: 0 !important;
  }

  .henrich-category-image {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    border-radius: 10px !important;
    overflow: hidden !important;
  }

  .henrich-category-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .henrich-category-copy {
    padding: 14px 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }

  .henrich-category-copy h1 {
    font-size: var(--mobile-h2) !important;
    margin-bottom: 10px !important;
  }

  .henrich-category-copy p {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  .henrich-category-grid {
    padding: 16px 10px !important;
    gap: 12px 8px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }

  .henrich-category-card img {
    height: 72px !important;
  }

  .henrich-category-card-title,
  .henrich-category-card div {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  .henrich-product-list-shell,
  .henrich-product-list {
    border-left: 1px solid #e5e5e5 !important;
    border-right: 1px solid #e5e5e5 !important;
  }

  .henrich-product-list-shell {
    border-radius: 10px !important;
    overflow: hidden !important;
  }

  .henrich-product-list {
    border-radius: 0 0 10px 10px !important;
  }

  .henrich-product-list-head {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 12px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    border-radius: 10px 10px 0 0 !important;
  }

  .henrich-product-list-head span:nth-child(2) {
    display: none !important;
  }

  .henrich-product-row {
    display: grid !important;
    grid-template-columns: minmax(120px, 38%) 1fr !important;
    grid-template-areas:
      "part buy"
      "main main" !important;
    padding: 16px 12px !important;
    gap: 12px 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    align-items: start !important;
  }

  .henrich-product-part {
    grid-area: part !important;
    text-align: left !important;
  }

  .henrich-product-buy {
    grid-area: buy !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    text-align: right !important;
  }

  .henrich-product-main,
  .henrich-product-features {
    grid-area: main !important;
    min-width: 0 !important;
  }

  .henrich-product-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
  }

  .henrich-product-part-image,
  .henrich-product-image-fallback {
    width: 100% !important;
    max-width: 132px !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 0 8px !important;
  }

  .henrich-product-model {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  .henrich-product-head h3,
  .henrich-product-main h3,
  .henrich-product-features h3 {
    font-size: 18px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  .henrich-product-action-links {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    width: 100% !important;
  }

  .henrich-product-link {
    font-size: 13px !important;
    white-space: normal !important;
  }

  .henrich-product-price .henrich-price-sale,
  .henrich-product-price .henrich-price-regular {
    font-size: 24px !important;
    line-height: 1.1 !important;
  }

  .henrich-product-price .henrich-price-msrp {
    font-size: 13px !important;
  }

  .henrich-product-qty,
  .henrich-list-add-to-cart,
  .henrich-list-cart-feedback {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .henrich-product-feature-list {
    text-align: left !important;
    padding-left: 18px !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    min-height: 0 !important;
  }

  .henrich-product-main p,
  .henrich-product-features p {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  /* --- Product detail template --- */
  body:has(#product-buy-box),
  body.page-id-176 {
    --mobile-body: 18px;
    --mobile-body-lg: 18px;
  }

  body:has(#product-buy-box) #page-container,
  body.page-id-176 #page-container,
  body:has(#product-buy-box) #et-main-area,
  body.page-id-176 #et-main-area,
  body:has(#product-buy-box) #main-content,
  body.page-id-176 #main-content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:has(#product-buy-box) #et-main-area .et_pb_section,
  body.page-id-176 #et-main-area .et_pb_section,
  body:has(#product-buy-box) #main-content .et_pb_section,
  body.page-id-176 #main-content .et_pb_section {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body:has(#product-buy-box) #et-main-area .et_pb_row,
  body.page-id-176 #et-main-area .et_pb_row,
  body:has(#product-buy-box) #main-content .et_pb_row,
  body.page-id-176 #main-content .et_pb_row {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body:has(#product-buy-box) .et_pb_row.single-product-layout,
  body.page-id-176 .et_pb_row.single-product-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    grid-template-columns: none !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:has(#product-buy-box) .single-product-content-col,
  body:has(#product-buy-box) .single-product-buy-col,
  body:has(#product-buy-box) .single-product-breadcrumbs-col,
  body.page-id-176 .single-product-content-col,
  body.page-id-176 .single-product-buy-col,
  body.page-id-176 .single-product-breadcrumbs-col,
  body:has(#product-buy-box) .single-product-layout > .et_pb_column,
  body.page-id-176 .single-product-layout > .et_pb_column {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-column: auto !important;
    transform: none !important;
    padding-top: 0 !important;
  }

  body:has(#product-buy-box) .single-product-hero-row,
  body.page-id-176 .single-product-hero-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body:has(#product-buy-box) .single-product-hero-row > .et_pb_column,
  body.page-id-176 .single-product-hero-row > .et_pb_column {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:has(#product-buy-box) .single-product-hero-row .et_pb_code,
  body:has(#product-buy-box) .single-product-hero-row .et_pb_code_inner,
  body:has(#product-buy-box) .single-product-image-module,
  body:has(#product-buy-box) .single-product-summary-module,
  body.page-id-176 .single-product-hero-row .et_pb_code,
  body.page-id-176 .single-product-hero-row .et_pb_code_inner,
  body.page-id-176 .single-product-image-module,
  body.page-id-176 .single-product-summary-module {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:has(#product-buy-box) .single-product-content-col .et_pb_row,
  body.page-id-176 .single-product-content-col .et_pb_row {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Hero row — same 8px inset as specifications section */
  body:has(#product-buy-box) .single-product-content-col .single-product-hero-row,
  body.page-id-176 .single-product-content-col .single-product-hero-row {
    margin-left: 8px !important;
    margin-right: 8px !important;
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body:has(#product-buy-box) .single-product-content-col .single-product-tabs-row,
  body:has(#product-buy-box) .single-product-content-col .single-product-description-row,
  body:has(#product-buy-box) .single-product-content-col .single-product-specs-row,
  body:has(#product-buy-box) .single-product-content-col .single-product-models-row,
  body:has(#product-buy-box) .single-product-content-col .single-product-related-row,
  body.page-id-176 .single-product-content-col .single-product-tabs-row,
  body.page-id-176 .single-product-content-col .single-product-description-row,
  body.page-id-176 .single-product-content-col .single-product-specs-row,
  body.page-id-176 .single-product-content-col .single-product-models-row,
  body.page-id-176 .single-product-content-col .single-product-related-row {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body:has(#product-buy-box) .single-product-hero-row > .et_pb_column,
  body:has(#product-buy-box) .single-product-tabs-row > .et_pb_column,
  body:has(#product-buy-box) .single-product-description-row > .et_pb_column,
  body:has(#product-buy-box) .single-product-specs-row > .et_pb_column,
  body:has(#product-buy-box) .single-product-models-row > .et_pb_column,
  body:has(#product-buy-box) .single-product-related-row > .et_pb_column,
  body.page-id-176 .single-product-hero-row > .et_pb_column,
  body.page-id-176 .single-product-tabs-row > .et_pb_column,
  body.page-id-176 .single-product-description-row > .et_pb_column,
  body.page-id-176 .single-product-specs-row > .et_pb_column,
  body.page-id-176 .single-product-models-row > .et_pb_column,
  body.page-id-176 .single-product-related-row > .et_pb_column {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:has(#product-buy-box) .single-product-specs-row .et_pb_code,
  body:has(#product-buy-box) .single-product-specs-row .et_pb_code_inner,
  body:has(#product-buy-box) .single-product-description-row .et_pb_code,
  body:has(#product-buy-box) .single-product-description-row .et_pb_code_inner,
  body:has(#product-buy-box) .single-product-models-row .et_pb_code,
  body:has(#product-buy-box) .single-product-models-row .et_pb_code_inner,
  body:has(#product-buy-box) .single-product-related-row .et_pb_code,
  body:has(#product-buy-box) .single-product-related-row .et_pb_code_inner,
  body.page-id-176 .single-product-specs-row .et_pb_code,
  body.page-id-176 .single-product-specs-row .et_pb_code_inner,
  body.page-id-176 .single-product-description-row .et_pb_code,
  body.page-id-176 .single-product-description-row .et_pb_code_inner,
  body.page-id-176 .single-product-models-row .et_pb_code,
  body.page-id-176 .single-product-models-row .et_pb_code_inner,
  body.page-id-176 .single-product-related-row .et_pb_code,
  body.page-id-176 .single-product-related-row .et_pb_code_inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body:has(#product-buy-box) .single-product-breadcrumbs-col,
  body.page-id-176 .single-product-breadcrumbs-col {
    padding-left: 8px !important;
    padding-right: 8px !important;
    box-sizing: border-box !important;
  }

  body:has(#product-buy-box) .single-product-layout .product-image-card,
  body:has(#product-buy-box) .single-product-layout .product-summary-card,
  body.page-id-176 .single-product-layout .product-image-card,
  body.page-id-176 .single-product-layout .product-summary-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body:has(#product-buy-box) .single-product-buy-col,
  body.page-id-176 .single-product-buy-col {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body:has(#product-buy-box) .single-product-buy-col .et_pb_code,
  body:has(#product-buy-box) .single-product-buy-col .et_pb_code_inner,
  body.page-id-176 .single-product-buy-col .et_pb_code,
  body.page-id-176 .single-product-buy-col .et_pb_code_inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:has(#product-buy-box) #product-buy-box .product-buy-box-inner,
  body.page-id-176 #product-buy-box .product-buy-box-inner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  body:has(#product-buy-box) .single-product-layout .product-description-content,
  body:has(#product-buy-box) .single-product-layout .product-overview-content,
  body:has(#product-buy-box) .single-product-layout .product-specifications-content,
  body:has(#product-buy-box) .single-product-layout .product-models-content,
  body.page-id-176 .single-product-layout .product-description-content,
  body.page-id-176 .single-product-layout .product-overview-content,
  body.page-id-176 .single-product-layout .product-specifications-content,
  body.page-id-176 .single-product-layout .product-models-content {
    margin-left: 8px !important;
    margin-right: 8px !important;
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    box-sizing: border-box !important;
  }

  body:has(#product-buy-box) .single-product-layout .product-section-card,
  body.page-id-176 .single-product-layout .product-section-card {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .et_pb_row.single-product-layout {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 16px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .single-product-content-col,
  .single-product-buy-col {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    transform: none !important;
    padding-top: 0 !important;
  }

  .single-product-hero-row {
    flex-direction: column !important;
    gap: 16px !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .single-product-layout .product-image-card,
  .single-product-layout .product-summary-card,
  body:has(#product-buy-box) .product-image-card,
  body:has(#product-buy-box) .product-summary-card,
  body.page-id-176 .product-image-card,
  body.page-id-176 .product-summary-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 20px 16px !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }

  .single-product-layout .product-gallery-card,
  .product-gallery-main,
  .product-gallery-slider,
  .product-gallery-thumb,
  .gallery-arrow {
    box-shadow: none !important;
  }

  .single-product-layout .product-image-card img {
    max-height: none !important;
    width: 100% !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }

  .product-summary-inner h1 {
    font-size: var(--mobile-h2) !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    margin-bottom: 16px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  .product-meta p {
    font-size: var(--mobile-body) !important;
    line-height: 1.45 !important;
  }

  .product-feature-list li {
    font-size: var(--mobile-body) !important;
    line-height: 1.5 !important;
  }

  #product-buy-box {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
    transform: none !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  .single-product-buy-col.henrich-buy-box-ready #product-buy-box {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  #product-buy-box .product-buy-box-inner,
  body:has(#product-buy-box) .product-buy-box,
  body.page-id-176 .product-buy-box {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  #product-buy-box .product-price {
    font-size: 32px !important;
    line-height: 1.1 !important;
  }

  #product-buy-box .product-stock,
  #product-buy-box .product-availability {
    font-size: var(--mobile-body) !important;
    line-height: 1.45 !important;
  }

  #product-buy-box .product-quantity-input {
    width: 100% !important;
    max-width: none !important;
    height: 48px !important;
    font-size: 18px !important;
  }

  #product-buy-box .henrich-product-actions,
  #product-buy-box .product-buy-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }

  #product-buy-box .henrich-product-actions .et_pb_button,
  #product-buy-box .product-buy-actions .et_pb_button,
  #product-buy-box button,
  #product-buy-box .henrich-product-btn {
    width: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    justify-content: center !important;
  }

  .single-product-tabs {
    min-width: 0 !important;
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
    flex-wrap: wrap !important;
  }

  .single-product-tab {
    flex: 1 1 auto !important;
    font-size: 18px !important;
    padding: 12px 14px !important;
    white-space: nowrap !important;
  }

  .single-product-layout .product-section-card h2 {
    font-size: var(--mobile-h3) !important;
  }

  .single-product-layout .product-description-content,
  .single-product-layout .product-overview-content,
  .single-product-layout .product-specifications-content,
  .single-product-layout .product-models-content,
  .single-product-layout .product-description-content p,
  .single-product-layout .product-overview-content p,
  .single-product-layout .product-specifications-content p,
  .single-product-layout .product-models-content p,
  .single-product-layout .product-description-content li,
  .single-product-layout .product-overview-content li,
  .single-product-layout .product-specifications-content li,
  .single-product-layout .product-models-content li,
  .product-downloads-title,
  .product-download-button,
  .product-download-button span,
  .product-download-button small,
  .product-card-download-link {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  .single-product-layout .product-description-content,
  .single-product-layout .product-overview-content,
  .single-product-layout .product-specifications-content,
  .single-product-layout .product-models-content {
    padding: 18px 16px !important;
  }

  .single-product-layout .product-specifications-content,
  .single-product-layout .product-models-content {
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .single-product-layout .product-specifications-content table,
  .single-product-layout .product-spec-table {
    display: table !important;
    width: max-content !important;
    min-width: 100% !important;
    table-layout: auto !important;
    border-collapse: collapse !important;
  }

  .single-product-layout .product-specifications-content thead,
  .single-product-layout .product-spec-table thead,
  .single-product-layout .product-specifications-content tbody,
  .single-product-layout .product-spec-table tbody {
    display: table-row-group !important;
  }

  .single-product-layout .product-specifications-content tr,
  .single-product-layout .product-spec-table tr {
    display: table-row !important;
  }

  .single-product-layout .product-specifications-content td,
  .single-product-layout .product-specifications-content th,
  .single-product-layout .product-spec-table th,
  .single-product-layout .product-spec-table td {
    display: table-cell !important;
    width: auto !important;
    min-width: 72px !important;
    max-width: none !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    padding: 6px 10px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    vertical-align: top !important;
  }

  .single-product-layout .product-specifications-content th,
  .single-product-layout .product-spec-table th,
  .single-product-layout .product-specifications-content > table > tbody > tr:not(:has(> td:nth-child(3):last-child)) > td:first-child:not(:only-child),
  .single-product-layout .product-specifications-content > table > thead > tr:not(:has(> td:nth-child(3):last-child)) > td:first-child:not(:only-child),
  .single-product-layout .product-specifications-content > table > thead > tr > th:first-child:not(:only-child) {
    font-weight: 600 !important;
  }

  .single-product-layout .product-specifications-content > table > tbody > tr:not(:has(> td:nth-child(3):last-child)) > td:first-child:not(:only-child),
  .single-product-layout .product-specifications-content > table > thead > tr:not(:has(> td:nth-child(3):last-child)) > td:first-child:not(:only-child),
  .single-product-layout .product-specifications-content > table > thead > tr > th:first-child:not(:only-child),
  .single-product-layout .product-spec-table th {
    padding-left: 28px !important;
    min-width: 88px !important;
  }

  .single-product-layout .product-specifications-content > table > tbody > tr:not(:has(> td:nth-child(3):last-child)) > td:first-child:not(:only-child)::before,
  .single-product-layout .product-specifications-content > table > thead > tr:not(:has(> td:nth-child(3):last-child)) > td:first-child:not(:only-child)::before,
  .single-product-layout .product-specifications-content > table > thead > tr > th:first-child:not(:only-child)::before,
  .single-product-layout .product-spec-table th::before {
    left: 8px !important;
  }

  .single-product-layout .product-specifications-content > table > tbody > tr:not(:has(> td:nth-child(3):last-child)) > td:first-child:not(:only-child)::after,
  .single-product-layout .product-specifications-content > table > thead > tr:not(:has(> td:nth-child(3):last-child)) > td:first-child:not(:only-child)::after,
  .single-product-layout .product-specifications-content > table > thead > tr > th:first-child:not(:only-child)::after,
  .single-product-layout .product-spec-table th::after {
    left: 8px !important;
  }

  body:has(#product-buy-box) .related-products-grid,
  body.page-id-176 .related-products-grid {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    grid-auto-flow: row !important;
    overflow: visible !important;
    gap: 16px !important;
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
  }

  body:has(#product-buy-box) .related-products-grid .related-product-card,
  body.page-id-176 .related-products-grid .related-product-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: auto !important;
    min-height: 0 !important;
  }

  body:has(#product-buy-box) .related-products-grid .related-product-card:nth-child(n+4),
  body.page-id-176 .related-products-grid .related-product-card:nth-child(n+4) {
    display: flex !important;
  }

  body:has(#product-buy-box) .related-product-info h3,
  body:has(#product-buy-box) .related-product-model,
  body.page-id-176 .related-product-info h3,
  body.page-id-176 .related-product-model {
    font-size: 18px !important;
    line-height: 1.4 !important;
  }

  body:has(#product-buy-box) .related-product-price,
  body.page-id-176 .related-product-price {
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  #product-buy-box .product-quantity-label {
    font-size: 18px !important;
  }

  /* Product detail — no box shadows on mobile */
  body:has(#product-buy-box) .single-product-layout .product-image-card,
  body:has(#product-buy-box) .single-product-layout .product-summary-card,
  body:has(#product-buy-box) .single-product-layout .product-gallery-card,
  body:has(#product-buy-box) .single-product-layout .product-section-card,
  body:has(#product-buy-box) .single-product-layout .product-description-content,
  body:has(#product-buy-box) .single-product-layout .product-overview-content,
  body:has(#product-buy-box) .single-product-layout .product-specifications-content,
  body:has(#product-buy-box) .single-product-layout .product-models-content,
  body:has(#product-buy-box) #product-buy-box,
  body:has(#product-buy-box) #product-buy-box .product-buy-box-inner,
  body:has(#product-buy-box) .product-buy-box,
  body:has(#product-buy-box) .related-product-card,
  body:has(#product-buy-box) .product-download-button,
  body.page-id-176 .single-product-layout .product-image-card,
  body.page-id-176 .single-product-layout .product-summary-card,
  body.page-id-176 .single-product-layout .product-gallery-card,
  body.page-id-176 .single-product-layout .product-section-card,
  body.page-id-176 .single-product-layout .product-description-content,
  body.page-id-176 .single-product-layout .product-overview-content,
  body.page-id-176 .single-product-layout .product-specifications-content,
  body.page-id-176 .single-product-layout .product-models-content,
  body.page-id-176 #product-buy-box,
  body.page-id-176 #product-buy-box .product-buy-box-inner,
  body.page-id-176 .product-buy-box,
  body.page-id-176 .related-product-card,
  body.page-id-176 .product-download-button {
    box-shadow: none !important;
  }

  body:has(#product-buy-box) .single-product-buy-col,
  body.page-id-176 .single-product-buy-col {
    padding-top: 0 !important;
  }

  /* --- Support / About / Contact — body content images only (not TB header/footer) --- */
  body.page-id-112 #main-content .et_pb_image,
  body.page-id-81 #main-content .et_pb_image,
  body.page-id-83 #main-content .et_pb_image {
    text-align: center !important;
  }

  body.page-id-112 #main-content .et_pb_image img,
  body.page-id-81 #main-content .et_pb_image img,
  body.page-id-83 #main-content .et_pb_image img {
    margin: 0 auto !important;
    display: block !important;
    max-width: min(100%, 320px) !important;
    width: auto !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 10px;
  }

  body.page-template-default:not(.page-id-76) #main-content .et_pb_section .et_pb_text h2,
  body.page-template-default:not(.page-id-76) #main-content .et_pb_section .et_pb_text h3 {
    text-align: center !important;
  }

  body.page-template-default #main-content .et_pb_section .et_pb_text p {
    line-height: 1.6 !important;
  }

  body.page-id-112 #main-content .et_pb_section,
  body.page-id-81 #main-content .et_pb_section,
  body.page-id-83 #main-content .et_pb_section {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  /* --- Contact page (page-id-83) --- */
  body.page-id-83 {
    --mobile-body: 18px;
  }

  body.page-id-83 #main-content .et_pb_section {
    padding-left: var(--mobile-page-x) !important;
    padding-right: var(--mobile-page-x) !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested) {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested) > .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Intro row — keep centered on mobile */
  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):not(:has(> .et_pb_column:nth-child(2))) .et_pb_text_inner,
  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):not(:has(> .et_pb_column:nth-child(2))) .et_pb_text_inner h2,
  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):not(:has(> .et_pb_column:nth-child(2))) .et_pb_text_inner p,
  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):not(:has(> .et_pb_column:nth-child(2))) .et_pb_text_inner h6 {
    text-align: center !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):not(:has(> .et_pb_column:nth-child(2))) .et_pb_text_inner p {
    font-size: 20px !important;
  }

  /* Form above address / hours / map on mobile (two-column row only) */
  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):has(> .et_pb_column:nth-child(2)) > .et_pb_column:first-child {
    order: 2 !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):has(> .et_pb_column:nth-child(2)) > .et_pb_column:last-child {
    order: 1 !important;
  }

  body.page-id-83 #main-content .et_pb_text {
    margin-bottom: 20px !important;
  }

  body.page-id-83 #main-content .et_pb_text:last-child {
    margin-bottom: 0 !important;
  }

  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):has(> .et_pb_column:nth-child(2)) > .et_pb_column:first-child .et_pb_text_inner,
  body.page-id-83 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested):has(> .et_pb_column:nth-child(2)) > .et_pb_column:first-child .et_pb_text_inner p {
    text-align: left !important;
  }

  body.page-id-83 #main-content .et_pb_text_inner p,
  body.page-id-83 #main-content .et_pb_text_inner li {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  body.page-id-83 #main-content .et_pb_text_inner h2 {
    font-size: var(--mobile-h2) !important;
    line-height: 1.2 !important;
    margin-bottom: 16px !important;
  }

  body.page-id-83 #main-content .et_pb_text_inner h6 {
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
    text-align: center !important;
    margin: 8px 0 0 !important;
  }

  body.page-id-83 #main-content .et_pb_code .et_pb_code_inner > div[style*="padding-bottom"] {
    width: 100% !important;
    border-radius: 10px !important;
    overflow: hidden !important;
  }

  body.page-id-83 .wpforms-container,
  body.page-id-83 .wpforms-container-full,
  body.page-id-83 .wpforms-form,
  body.page-id-83 .henrich-contact-form,
  body.page-id-83 .henrich-contact-form-inner {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-id-83 .henrich-contact-field {
    margin-bottom: 16px !important;
  }

  body.page-id-83 .henrich-contact-label {
    display: block !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
  }

  body.page-id-83 .henrich-contact-required {
    color: #c0392b !important;
  }

  body.page-id-83 .henrich-contact-input,
  body.page-id-83 .henrich-contact-textarea,
  body.page-id-83 .wpforms-form input[type="text"],
  body.page-id-83 .wpforms-form input[type="email"],
  body.page-id-83 .wpforms-form input[type="tel"],
  body.page-id-83 .wpforms-form input[type="url"],
  body.page-id-83 .wpforms-form input[type="number"],
  body.page-id-83 .wpforms-form select,
  body.page-id-83 .wpforms-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
    padding: 12px 14px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    background: #fff !important;
  }

  body.page-id-83 .henrich-contact-textarea,
  body.page-id-83 .wpforms-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 140px !important;
    resize: vertical !important;
  }

  body.page-id-83 .henrich-contact-input.is-error,
  body.page-id-83 .henrich-contact-textarea.is-error {
    border-color: #c0392b !important;
  }

  body.page-id-83 .henrich-contact-error {
    min-height: 18px !important;
    margin-top: 6px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    color: #c0392b !important;
  }

  body.page-id-83 .henrich-contact-code-row {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  body.page-id-83 .henrich-contact-code-input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  body.page-id-83 .henrich-contact-send-code {
    flex: 0 0 auto !important;
    min-width: 88px !important;
    min-height: 48px !important;
    padding: 0 16px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 8px !important;
    background: #f5f5f5 !important;
    color: #111 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
  }

  body.page-id-83 .henrich-contact-send-code:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
  }

  body.page-id-83 .henrich-contact-actions {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 8px !important;
  }

  body.page-id-83 .henrich-contact-reset,
  body.page-id-83 .henrich-contact-submit,
  body.page-id-83 .wpforms-form button[type="submit"],
  body.page-id-83 .wpforms-form .wpforms-submit-container .wpforms-submit {
    min-height: 48px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
  }

  body.page-id-83 .henrich-contact-reset {
    border: 1px solid #d9d9d9 !important;
    background: #fff !important;
    color: #111 !important;
  }

  body.page-id-83 .henrich-contact-submit {
    border: none !important;
    background: #00449e !important;
    color: #fff !important;
    font-weight: 600 !important;
  }

  body.page-id-83 .henrich-contact-success[hidden],
  body.page-id-83 .henrich-contact-form-inner[hidden] {
    display: none !important;
  }

  body.page-id-83 .henrich-contact-success {
    text-align: center !important;
    padding: 24px 12px !important;
  }

  body.page-id-83 .henrich-contact-success-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    margin: 0 0 8px !important;
  }

  body.page-id-83 .henrich-contact-success-subtitle {
    font-size: 18px !important;
    margin: 0 0 20px !important;
  }

  body.page-id-83 .henrich-contact-success-ok {
    min-height: 44px !important;
    padding: 10px 28px !important;
    border: none !important;
    border-radius: 8px !important;
    background: #00449e !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
  }

  body.page-id-83 .wpforms-field-label,
  body.page-id-83 .wpforms-field-description {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }

  body.page-id-83 .wpforms-form .wpforms-field {
    margin-bottom: 16px !important;
    padding: 0 !important;
  }

  /* --- Cart page (page-id-450) --- */
  body.page-id-450,
  body:has(#henrich-cart-items) {
    --mobile-body: 17px;
  }

  /* Tighter gap between orange intro copy and cart item list */
  body.page-id-450 #main-content .et_pb_row_0.et_flex_row,
  body:has(#henrich-cart-items) #main-content .et_pb_row_0.et_flex_row {
    gap: 8px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body.page-id-450 #main-content .et_pb_row_1.et_flex_row,
  body:has(#henrich-cart-items) #main-content .et_pb_row_1.et_flex_row {
    margin-top: 0 !important;
    padding-top: 0 !important;
    gap: 12px !important;
  }

  body.page-id-450 #main-content .et_pb_row_0 .et_pb_module,
  body.page-id-450 #main-content .et_pb_row_1 .et_pb_code:has(#henrich-cart-items),
  body:has(#henrich-cart-items) #main-content .et_pb_row_0 .et_pb_module,
  body:has(#henrich-cart-items) #main-content .et_pb_row_1 .et_pb_code:has(#henrich-cart-items) {
    margin-bottom: 0 !important;
  }

  body.page-id-450 #main-content .et_pb_row_0 .et_pb_divider,
  body:has(#henrich-cart-items) #main-content .et_pb_row_0 .et_pb_divider {
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    line-height: 0 !important;
  }

  body.page-id-450 #henrich-cart-items,
  body:has(#henrich-cart-items) #henrich-cart-items {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.page-id-450 #main-content .et_pb_text_inner h4,
  body:has(#henrich-cart-items) #main-content .et_pb_text_inner h4 {
    margin-bottom: 4px !important;
    padding-bottom: 0 !important;
  }

  body.page-id-450 #page-container,
  body.page-id-450 #et-main-area,
  body.page-id-450 #main-content,
  body:has(#henrich-cart-items) #page-container,
  body:has(#henrich-cart-items) #et-main-area,
  body:has(#henrich-cart-items) #main-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body.page-id-450 #main-content .et_pb_section,
  body:has(#henrich-cart-items) #main-content .et_pb_section {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body.page-id-450 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested),
  body:has(#henrich-cart-items) #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested) {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    padding-left: var(--mobile-page-x) !important;
    padding-right: var(--mobile-page-x) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body.page-id-450 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested) > .et_pb_column,
  body:has(#henrich-cart-items) #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested) > .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-id-450 #main-content .et_pb_column_empty,
  body:has(#henrich-cart-items) #main-content .et_pb_column_empty {
    display: none !important;
  }

  /* Intro text above Add Items on mobile */
  body.page-id-450 #main-content .et_pb_row_0 > .et_pb_column:first-child,
  body:has(#henrich-cart-items) #main-content .et_pb_row_0 > .et_pb_column:first-child {
    order: 2 !important;
  }

  body.page-id-450 #main-content .et_pb_row_0 > .et_pb_column:last-child,
  body:has(#henrich-cart-items) #main-content .et_pb_row_0 > .et_pb_column:last-child {
    order: 1 !important;
  }

  body.page-id-450 #main-content .et_pb_text_inner h4,
  body:has(#henrich-cart-items) #main-content .et_pb_text_inner h4 {
    font-size: var(--mobile-h4) !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
    text-align: left !important;
  }

  body.page-id-450 #main-content .et_pb_text_align_right,
  body:has(#henrich-cart-items) #main-content .et_pb_text_align_right,
  body.page-id-450 #main-content .et_pb_text_align_right .et_pb_code_inner,
  body:has(#henrich-cart-items) #main-content .et_pb_text_align_right .et_pb_code_inner {
    text-align: left !important;
  }

  body.page-id-450 .henrich-cart-panel,
  body.page-id-450 .henrich-cart-table-wrap,
  body.page-id-450 .henrich-cart-message,
  body:has(#henrich-cart-items) .henrich-cart-panel,
  body:has(#henrich-cart-items) .henrich-cart-table-wrap,
  body:has(#henrich-cart-items) .henrich-cart-message {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
    box-sizing: border-box !important;
  }

  body.page-id-450 .henrich-cart-panel h3,
  body:has(#henrich-cart-items) .henrich-cart-panel h3 {
    font-size: var(--mobile-h3) !important;
    line-height: 1.25 !important;
  }

  body.page-id-450 .henrich-cart-field label,
  body.page-id-450 .henrich-cart-field input,
  body.page-id-450 .henrich-cart-product-meta,
  body.page-id-450 .henrich-cart-summary-row,
  body:has(#henrich-cart-items) .henrich-cart-field label,
  body:has(#henrich-cart-items) .henrich-cart-field input,
  body:has(#henrich-cart-items) .henrich-cart-product-meta,
  body:has(#henrich-cart-items) .henrich-cart-summary-row {
    font-size: var(--mobile-body) !important;
  }

  body.page-id-450 .henrich-cart-product-title,
  body.page-id-450 .henrich-cart-product-title a,
  body:has(#henrich-cart-items) .henrich-cart-product-title,
  body:has(#henrich-cart-items) .henrich-cart-product-title a {
    font-size: var(--mobile-h4) !important;
    line-height: 1.35 !important;
  }

  body.page-id-450 .henrich-cart-product img,
  body:has(#henrich-cart-items) .henrich-cart-product img {
    width: 88px !important;
    height: 88px !important;
  }

  body.page-id-450 .henrich-cart-table-wrap,
  body:has(#henrich-cart-items) .henrich-cart-table-wrap {
    overflow: visible !important;
  }

  body.page-id-450 .henrich-cart-table td,
  body:has(#henrich-cart-items) .henrich-cart-table td {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.page-id-450 .henrich-cart-line-total,
  body:has(#henrich-cart-items) .henrich-cart-line-total {
    font-size: var(--mobile-h4) !important;
    padding-top: 4px !important;
  }

  body.page-id-450 .henrich-cart-qty,
  body:has(#henrich-cart-items) .henrich-cart-qty {
    min-height: 44px !important;
    font-size: var(--mobile-body) !important;
  }

  body.page-id-450 .henrich-cart-btn,
  body:has(#henrich-cart-items) .henrich-cart-btn {
    min-height: 48px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
  }

  body.page-id-450 .henrich-cart-actions-grid,
  body:has(#henrich-cart-items) .henrich-cart-actions-grid {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
  }

  body.page-id-450 .henrich-cart-actions-left,
  body.page-id-450 .henrich-cart-actions-right,
  body:has(#henrich-cart-items) .henrich-cart-actions-left,
  body:has(#henrich-cart-items) .henrich-cart-actions-right {
    width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.page-id-450 .henrich-cart-actions-left .henrich-cart-btn,
  body.page-id-450 .henrich-cart-actions-right .henrich-cart-btn,
  body.page-id-450 .henrich-cart-actions-right .henrich-cart-btn-primary,
  body:has(#henrich-cart-items) .henrich-cart-actions-left .henrich-cart-btn,
  body:has(#henrich-cart-items) .henrich-cart-actions-right .henrich-cart-btn,
  body:has(#henrich-cart-items) .henrich-cart-actions-right .henrich-cart-btn-primary {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.page-id-450 .henrich-cart-summary-row.total,
  body:has(#henrich-cart-items) .henrich-cart-summary-row.total {
    font-size: var(--mobile-h2) !important;
  }
}

@media (max-width: 480px) {
  .henrich-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* =========================================================
   15. Products Page Mobile Revisions (May 2026)
   Matches Current vs Revised mockup — /products/
========================================================= */

@media (max-width: 767px) {

  /* --- Most Valuable Products heading --- */
  /* Orange underline comes from Divi text module border — keep heading margin tight to that line */
  #main-content .mvp-products-slider .et_pb_text,
  .mvp-products-slider .et_pb_text {
    margin-bottom: 16px !important;
    padding-bottom: 4px !important;
  }

  #main-content .mvp-products-slider .et_pb_text .et_pb_text_inner,
  .mvp-products-slider .et_pb_text .et_pb_text_inner {
    padding-bottom: 0 !important;
  }

  #main-content .mvp-products-slider .et_pb_text_inner h3,
  #main-content .mvp-products-slider .et_pb_text_inner h4,
  #main-content .mvp-products-slider h3,
  #main-content .mvp-products-slider h4,
  .mvp-products-slider .et_pb_text h3,
  .mvp-products-slider .et_pb_text h4,
  .mvp-products-slider h3,
  .mvp-products-slider h4 {
    text-align: left !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
    box-shadow: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .mvp-products-slider .et_pb_text h3::after,
  .mvp-products-slider .et_pb_text h4::after,
  .mvp-products-slider h3::after,
  .mvp-products-slider h4::after {
    display: none !important;
    content: none !important;
  }

  /* Flat white products page — no encasing card/shadow wrappers */
  .mvp-products-slider.et_pb_section,
  .et_pb_section.mvp-products-slider,
  .et_pb_section:has(.products-mvp-slider),
  .et_pb_section:has(.home-category-products) {
    background: #fff !important;
    box-shadow: none !important;
  }

  .mvp-products-slider .et_pb_row,
  .mvp-products-slider .et_pb_column,
  .et_pb_section:has(.products-mvp-slider) .et_pb_row,
  .et_pb_section:has(.products-mvp-slider) .et_pb_column,
  .et_pb_section:has(.home-category-products) .et_pb_row:not(:has(.home-category-products)),
  .et_pb_section:has(.home-category-products) .et_pb_column:not(:has(.home-category-products)) {
    background: transparent !important;
    box-shadow: none !important;
  }

  /* --- MVP promo carousel (full width = orange underline width) --- */
  .mvp-products-slider .et_pb_code,
  .mvp-products-slider .et_pb_code_inner,
  .et_pb_section:has(.products-mvp-slider) .et_pb_code,
  .et_pb_section:has(.products-mvp-slider) .et_pb_code_inner,
  .products-mvp-slider {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .products-mvp-slider {
    margin: 0 0 12px !important;
  }

  .mvp-products-slider.et_pb_section,
  .et_pb_section:has(.products-mvp-slider) {
    margin-bottom: 44px !important;
    padding-bottom: 8px !important;
  }

  .products-mvp-slider-wrap {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .products-mvp-window {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .products-mvp-track {
    gap: 0 !important;
  }

  .products-mvp-slide {
    flex: 0 0 100% !important;
    display: block !important;
    aspect-ratio: auto !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    overflow: visible !important;
    text-decoration: none !important;
    color: inherit !important;
  }

  .products-mvp-slide-inner {
    padding: 0 0 8px !important;
    width: 100% !important;
  }

  .products-mvp-slide-tagline {
    font-size: 16px !important;
    line-height: 1.35 !important;
    margin-bottom: 12px !important;
    text-align: center !important;
  }

  .products-mvp-slide-image {
    min-height: 260px !important;
    margin-bottom: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .products-mvp-slide-image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 220px !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    padding: 0 !important;
    margin: 0 auto !important;
    display: block !important;
  }

  #main-content .products-mvp-slide-title,
  .products-mvp-slide-title {
    font-size: var(--mobile-h4, 18px) !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    margin-bottom: 0 !important;
    text-align: center !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }

  .products-mvp-slide-price {
    display: none !important;
  }

  /* Mobile: hide arrows, show dot pagination + swipe */
  .products-mvp-arrow {
    display: none !important;
  }

  .products-mvp-window {
    touch-action: pan-y pinch-zoom;
    cursor: grab;
  }

  .products-mvp-window:active {
    cursor: grabbing;
  }

  .products-mvp-dots {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .products-mvp-dot {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;
    min-height: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 50% !important;
    background: #c8c8c8 !important;
    cursor: pointer !important;
    transition: background 0.2s ease, transform 0.2s ease !important;
  }

  .products-mvp-dot.is-active {
    background: #00458f !important;
    transform: scale(1.15) !important;
  }

  .products-mvp-dot:focus-visible {
    outline: 2px solid #f47c20 !important;
    outline-offset: 2px !important;
  }

  /* --- Category blocks (Industrial Ethernet Switches, etc.) --- */
  .et_pb_section:has(.home-category-products) {
    padding-left: var(--mobile-page-x, 16px) !important;
    padding-right: var(--mobile-page-x, 16px) !important;
    padding-top: 28px !important;
    padding-bottom: 18px !important;
    margin-bottom: 28px !important;
    background: #fff !important;
    box-shadow: none !important;
    display: block !important;
    overflow: visible !important;
  }

  #main-content .et_pb_section:has(.home-category-products),
  #main-content .et_pb_section:has(.home-category-products) .et_pb_row,
  #main-content .et_pb_section:has(.home-category-products) .et_pb_column {
    overflow: visible !important;
  }

  /* Match MVP slider content width — remove extra row/column inset */
  .et_pb_section:has(.products-mvp-slider) .et_pb_row,
  .et_pb_section:has(.products-mvp-slider) .et_pb_column,
  .et_pb_section:has(.home-category-products) .et_pb_row:has(.home-category-products),
  .et_pb_section:has(.home-category-products) .et_pb_row:has(.home-category-products) .et_pb_column,
  .et_pb_row:has(+ .et_pb_row .home-category-products),
  .et_pb_row:has(+ .et_pb_row:has(+ .et_pb_row .home-category-products)) {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Category block titles — see scoped override at end of Section 15 (page-id-76) */

  /* Flush-left titles (override Divi center alignment on text modules) */
  .et_pb_section:has(.home-category-products) .et_pb_text,
  .et_pb_section:has(.home-category-products) .et_pb_text .et_pb_text_inner,
  .et_pb_row:has(+ .et_pb_row .home-category-products) .et_pb_text,
  .et_pb_row:has(+ .et_pb_row .home-category-products) .et_pb_text .et_pb_text_inner,
  .et_pb_row:has(+ .et_pb_row:has(+ .et_pb_row .home-category-products)) .et_pb_text,
  .et_pb_row:has(+ .et_pb_row:has(+ .et_pb_row .home-category-products)) .et_pb_text .et_pb_text_inner {
    text-align: left !important;
  }

  .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) .et_pb_column:first-child,
  .et_pb_row:has(+ .et_pb_row:has(+ .et_pb_row .home-category-products)):not(:has(.home-category-products)) .et_pb_column {
    text-align: left !important;
  }

  /* One-row header: title + View More on the same line above the grid */
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button),
  .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    clear: both !important;
    float: none !important;
  }

  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) .et_pb_column,
  .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) .et_pb_column {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
  }

  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) .et_pb_column:first-child,
  .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) .et_pb_column:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: calc(100% - 96px) !important;
  }

  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) .et_pb_column:last-child,
  .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) .et_pb_column:last-child {
    flex: 0 0 auto !important;
    width: auto !important;
    text-align: right !important;
  }

  /* Divi phone flex columns default to 24/24 (stacked) — keep title + button on one line */
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) > .et_pb_column,
  .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) > .et_pb_column {
    flex-basis: auto !important;
    max-width: none !important;
  }

  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) > .et_pb_column:first-child,
  .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) > .et_pb_column:first-child {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: calc(100% - 96px) !important;
  }

  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) > .et_pb_column:last-child,
  .et_pb_row:has(+ .et_pb_row .home-category-products):not(:has(.home-category-products)):has(.et_pb_button) > .et_pb_column:last-child {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
  }

  /* Split header: title row + button row (two rows above grid) */
  .et_pb_row:has(+ .et_pb_row:has(+ .et_pb_row .home-category-products)):not(:has(.home-category-products)):not(:has(.et_pb_button)) {
    float: none !important;
    width: 100% !important;
    clear: both !important;
    margin: 0 0 1em 0 !important;
    padding: 0 !important;
  }

  .et_pb_row:has(+ .et_pb_row .home-category-products):has(.et_pb_button):not(:has(.home-category-products)):not(:has(.et_pb_text h2, .et_pb_text h3)) {
    float: none !important;
    width: 100% !important;
    clear: both !important;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 2 !important;
    text-align: right !important;
  }

  .et_pb_section:has(.home-category-products) .et_pb_button,
  .et_pb_row:has(+ .et_pb_row .home-category-products) .et_pb_button,
  .et_pb_row:has(+ .et_pb_row:has(+ .et_pb_row .home-category-products)) .et_pb_button,
  .et_pb_section:has(.home-category-products) .et_pb_button_module_wrapper,
  .et_pb_row:has(+ .et_pb_row .home-category-products) .et_pb_button_module_wrapper {
    margin: 0 !important;
  }

  .et_pb_section:has(.home-category-products) .et_pb_button,
  .et_pb_row:has(+ .et_pb_row .home-category-products) .et_pb_button {
    font-size: 12px !important;
    padding: 8px 12px !important;
    min-height: auto !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }

  /* Optional: one-row header if Divi row has class products-category-header */
  .products-category-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 6px !important;
    grid-column: 1 / -1 !important;
  }

  .products-category-header .et_pb_column:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .products-category-header .et_pb_column:last-child {
    flex: 0 0 auto !important;
    width: auto !important;
    text-align: right !important;
  }

  .products-category-header h2,
  .products-category-header h3,
  .products-category-header h4,
  .products-category-header h5 {
    margin: 0 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .products-category-header .et_pb_button {
    margin: 0 !important;
    white-space: nowrap !important;
  }

  /* Product grid card — shadow on grid container (works regardless of Divi row structure) */
  .et_pb_row:has(.home-category-products) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    clear: both !important;
    float: none !important;
    overflow: visible !important;
  }

  .et_pb_row:has(.home-category-products) .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  /* Product grid — full content width (pink guides → green edges) */
  #main-content .et_pb_section:has(.home-category-products) .et_pb_row:has(.home-category-products),
  #main-content .et_pb_section:has(.home-category-products) .et_pb_row:has(.home-category-products).et_flex_row {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .et_pb_row:has(.home-category-products) .et_pb_code,
  .et_pb_row:has(.home-category-products) .et_pb_code_inner {
    overflow: visible !important;
  }

  body.page-id-76 .mvp-products-slider.et_pb_column,
  body.page-id-76 .et_pb_column.mvp-products-slider {
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
  }

  body.page-id-76 #products-mvp-slider {
    padding-left: var(--mobile-page-x, 10px) !important;
    padding-right: var(--mobile-page-x, 10px) !important;
    box-sizing: border-box !important;
  }

  .home-category-products {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px 0 20px 0 !important;
    padding: 14px 12px !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 0 24px 4px rgba(0, 0, 0, 0.19) !important;
    clear: both !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 1 !important;
  }

  .home-category-products .home-product-grid {
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .home-product-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .home-product-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px 10px 14px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  .home-product-card:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  .home-product-img-wrap {
    height: 96px !important;
    margin-bottom: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .home-product-img-wrap img {
    max-height: 90px !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }

  .home-product-title {
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    margin: 0 !important;
    word-break: normal !important;
  }

  /* Keep /products/ category cards inside the viewport — no horizontal page scroll */
  body.page-id-76:has(.home-category-products) #page-container,
  body.page-id-76:has(.home-category-products) #main-content,
  body.page-id-76:has(.home-category-products) #et-main-area {
    overflow-x: clip !important;
    max-width: 100% !important;
  }

  /*
    Products page category titles only (/products/ = page-id-76).
    Primary hook: add CSS class "products-category-title" on each category Text module in Divi.
    Fallback: Text module in the row directly above a .home-category-products grid.
    Does NOT affect "Most Valuable Products" (h3 in MVP row) or sidebar "Our Products" (h4).
  */
  body.page-id-76 #main-content .products-category-title,
  body.page-id-76 #main-content .products-category-title .et_pb_text_inner,
  body.page-id-76 #main-content .products-category-title h1,
  body.page-id-76 #main-content .products-category-title h2,
  body.page-id-76 #main-content .products-category-title h3,
  body.page-id-76 #main-content .products-category-title h4,
  body.page-id-76 #main-content .products-category-title h5,
  body.page-id-76 #main-content .products-category-title p,
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products) .et_pb_text,
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products) .et_pb_text .et_pb_text_inner,
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products) .et_pb_text h1,
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products) .et_pb_text h2,
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products) .et_pb_text h3,
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products) .et_pb_text h4,
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products) .et_pb_text h5,
  body.page-id-76 #main-content .mvp-products-slider .et_pb_row:has(+ .et_pb_row .home-category-products) .et_pb_text p,
  body.page-id-76 #main-content .products-category-header .et_pb_text,
  body.page-id-76 #main-content .products-category-header .et_pb_text_inner,
  body.page-id-76 #main-content .products-category-header h1,
  body.page-id-76 #main-content .products-category-header h2,
  body.page-id-76 #main-content .products-category-header h3,
  body.page-id-76 #main-content .products-category-header h4,
  body.page-id-76 #main-content .products-category-header h5,
  body.page-id-76 #main-content .products-category-header p {
    text-align: left !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #00458f !important;
    margin: 0 !important;
    word-break: normal !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    border-bottom: none !important;
  }

  /* API-driven category sections under MVP slider — match mobile mockup layout */
  body.page-id-76 #henrich-products-category-sections,
  body.page-id-76 .henrich-products-category-sections {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.page-id-76 .henrich-products-category-section {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 28px !important;
    padding-left: var(--mobile-page-x, 10px) !important;
    padding-right: var(--mobile-page-x, 10px) !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.page-id-76 .henrich-products-category-section:last-child {
    margin-bottom: 8px !important;
  }

  body.page-id-76 .henrich-products-category-section .henrich-products-category-head-row,
  body.page-id-76 .henrich-products-category-section .products-category-header {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    justify-items: stretch !important;
    column-gap: 10px !important;
    row-gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.page-id-76 .henrich-products-category-section .henrich-products-category-head-row > .et_pb_column,
  body.page-id-76 .henrich-products-category-section .products-category-header > .et_pb_column,
  body.page-id-76 .henrich-products-category-section .henrich-products-category-head-row > .et_pb_column[class*="et_pb_column_"],
  body.page-id-76 .henrich-products-category-section .products-category-header > .et_pb_column[class*="et_pb_column_"] {
    display: block !important;
    float: none !important;
    flex: none !important;
    flex-basis: auto !important;
    align-self: center !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.page-id-76 .henrich-products-category-section .henrich-products-category-head-row > .et_pb_column:first-child,
  body.page-id-76 .henrich-products-category-section .products-category-header > .et_pb_column:first-child {
    grid-column: 1 !important;
    justify-self: start !important;
    text-align: left !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: unset !important;
  }

  body.page-id-76 .henrich-products-category-section .henrich-products-category-head-row > .et_pb_column:last-child,
  body.page-id-76 .henrich-products-category-section .products-category-header > .et_pb_column:last-child {
    grid-column: 2 !important;
    justify-self: end !important;
    text-align: right !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex-shrink: 0 !important;
  }

  body.page-id-76 .henrich-products-category-section .products-category-title,
  body.page-id-76 .henrich-products-category-section .products-category-title.et_pb_text,
  body.page-id-76 .henrich-products-category-section .products-category-title .et_pb_text_inner {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: unset !important;
    text-align: left !important;
  }

  body.page-id-76 .henrich-products-category-section .products-category-title h2 {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  /* Override global min-width:0 on /products/ wrappers — keeps titles wrapping by word, not letter */
  body.page-id-76 .henrich-products-category-section .henrich-products-category-head-row,
  body.page-id-76 .henrich-products-category-section .henrich-products-category-head-row .et_pb_column,
  body.page-id-76 .henrich-products-category-section .products-category-title {
    min-width: unset !important;
  }

  body.page-id-76 .henrich-products-category-section .et_pb_button_module_wrapper {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    text-align: right !important;
  }

  body.page-id-76 .henrich-products-category-section .henrich-products-category-more,
  body.page-id-76 .henrich-products-category-section a.et_pb_button.henrich-products-category-more {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    border-radius: 6px !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    vertical-align: middle !important;
  }

  body.page-id-76 .henrich-products-category-section .home-category-products {
    margin: 0 !important;
    padding: 16px 14px !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 0 24px 4px rgba(0, 0, 0, 0.19) !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 0 !important;
  }

  body.page-id-76 .henrich-products-category-section .home-category-products .home-product-grid,
  body.page-id-76 .henrich-products-category-section .home-product-card {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
  }

  body.page-id-76 .henrich-products-category-section .home-product-title {
    text-align: center !important;
    color: #111 !important;
    font-weight: 600 !important;
  }
}

/* Orders page — payment modals above Divi header/layers */
#henrich-orders-pay-modal,
#henrich-orders-stub-modal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1000000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  background: rgba(0, 0, 0, 0.45) !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  box-sizing: border-box !important;
}

#henrich-orders-pay-modal .henrich-checkout-modal,
#henrich-orders-stub-modal .henrich-checkout-modal {
  position: relative !important;
  z-index: 1000001 !important;
  background: #fff !important;
  max-width: 560px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 22px 24px !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2) !important;
}

#henrich-orders-pay-modal .henrich-orders-modal-header,
#henrich-orders-stub-modal .henrich-orders-modal-header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
}

#henrich-orders-stub-modal .henrich-orders-stub-form {
  display: grid !important;
  grid-template-columns: 110px 1fr !important;
  gap: 14px 18px !important;
}

#henrich-orders-pay-modal .henrich-orders-btn,
#henrich-orders-stub-modal .henrich-orders-btn {
  display: inline-block !important;
  padding: 10px 16px !important;
  border-radius: 8px !important;
  border: 1px solid #003d88 !important;
  background: #003d88 !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}

#henrich-orders-pay-modal .henrich-orders-btn.secondary,
#henrich-orders-stub-modal .henrich-orders-btn.secondary {
  background: #fff !important;
  color: #003d88 !important;
}

#henrich-orders-pay-modal .henrich-orders-modal-header {
  margin: 0 0 20px !important;
  padding: 0 0 16px !important;
  background: transparent !important;
  border-bottom: 1px solid #e6e6e6 !important;
}

#henrich-orders-pay-modal .henrich-orders-modal-close {
  width: 40px !important;
  height: 40px !important;
  border-radius: 8px !important;
  border: none !important;
  background: #003d88 !important;
  color: #fff !important;
  font-size: 26px !important;
  font-weight: 700 !important;
}

#henrich-orders-stub-modal .henrich-orders-modal-close {
  width: 40px !important;
  height: 40px !important;
  border-radius: 8px !important;
  border: none !important;
  background: #003d88 !important;
  color: #fff !important;
  font-size: 26px !important;
  font-weight: 700 !important;
}

#henrich-orders-pay-modal .henrich-orders-pay-card-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 18px !important;
  margin-bottom: 32px !important;
}

#henrich-orders-pay-modal .henrich-orders-pay-card-visual {
  flex: 0 0 150px !important;
  width: 150px !important;
  min-width: 150px !important;
}

#henrich-orders-pay-modal .henrich-orders-pay-change-row {
  margin-bottom: 32px !important;
}

#henrich-orders-pay-modal .henrich-orders-pay-actions {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
}

#henrich-orders-pay-modal .henrich-orders-pay-card-art {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

#henrich-orders-pay-modal .henrich-orders-pay-card-copy strong,
#henrich-orders-pay-modal .henrich-orders-pay-card-ending {
  display: block !important;
}

#henrich-orders-pay-modal .henrich-orders-pay-pick-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 14px !important;
}

#henrich-orders-pay-modal .henrich-orders-pay-section-rule {
  margin-bottom: 28px !important;
}

#henrich-orders-pay-modal .henrich-orders-pay-error {
  margin: 0 0 16px !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  border: 1px solid #f5c6cb !important;
  background: #fdecea !important;
  color: #c0392b !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

html.henrich-orders-modal-open,
body.henrich-orders-modal-open {
  overflow: hidden !important;
}

/* Add-card modal stacked above Continue Payment on orders page */
#henrich-orders-stripe-card-modal.henrich-stripe-modal-above-orders,
.henrich-stripe-modal-above-orders {
  z-index: 1000010 !important;
}

#henrich-orders-stripe-card-modal.henrich-stripe-modal-above-orders .henrich-checkout-modal,
.henrich-stripe-modal-above-orders .henrich-checkout-modal {
  z-index: 1000011 !important;
  max-height: 90vh !important;
  max-height: 90dvh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Order details — blue table header text must stay white (Divi overrides) */
#henrich-order-detail-root .henrich-order-detail-table thead th,
#henrich-order-detail-root .henrich-order-detail-table th {
  background: #003d88 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: none !important;
}

/* Order details — consistent column alignment across batch cards */
#henrich-order-detail-root .henrich-order-detail-table {
  table-layout: fixed;
  width: 100%;
}

#henrich-order-detail-root .henrich-order-detail-table th:nth-child(1),
#henrich-order-detail-root .henrich-order-detail-table td:nth-child(1) {
  width: 28%;
}

#henrich-order-detail-root .henrich-order-detail-table th:nth-child(2),
#henrich-order-detail-root .henrich-order-detail-table td:nth-child(2) {
  width: 42%;
}

#henrich-order-detail-root .henrich-order-detail-table th:nth-child(3),
#henrich-order-detail-root .henrich-order-detail-table td:nth-child(3) {
  width: 15%;
}

#henrich-order-detail-root .henrich-order-detail-table th:nth-child(4),
#henrich-order-detail-root .henrich-order-detail-table td:nth-child(4) {
  width: 15%;
}

#henrich-order-detail-root .henrich-order-detail-part,
#henrich-order-detail-root .henrich-order-detail-part a {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* =========================================================
   Orders, Order Details, Shared Cart — responsive layout
   Uses :has() mount IDs (same pattern as cart page)
========================================================= */

body:has(#henrich-orders-root),
body:has(#henrich-po-root),
body:has(#henrich-order-detail-root),
body:has(#henrich-shared-cart) {
  --account-body: 16px;
}

/* Purchase Orders & Invoices — card grid (serial2all /invoice pattern) */
#henrich-po-root .henrich-po-panel {
  max-width: 1100px;
  margin: 0 auto;
}

#henrich-po-root .henrich-po-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

#henrich-po-root .henrich-po-card {
  background: #fff;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  padding: 16px 18px 14px;
}

#henrich-po-root .henrich-po-doc-title {
  font-family: "Alibaba PuHuiTi 2.0", "Alibaba PuHuiTi", sans-serif;
}

#henrich-po-root .henrich-po-meta-label,
#henrich-po-root .henrich-po-meta-value {
  font-size: var(--account-body, 16px);
}

@media (max-width: 980px) {
  #henrich-po-root .henrich-po-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  body:has(#henrich-orders-root) #page-container,
  body:has(#henrich-orders-root) #et-main-area,
  body:has(#henrich-orders-root) #main-content,
  body:has(#henrich-po-root) #page-container,
  body:has(#henrich-po-root) #et-main-area,
  body:has(#henrich-po-root) #main-content,
  body:has(#henrich-order-detail-root) #page-container,
  body:has(#henrich-order-detail-root) #et-main-area,
  body:has(#henrich-order-detail-root) #main-content,
  body:has(#henrich-shared-cart) #page-container,
  body:has(#henrich-shared-cart) #et-main-area,
  body:has(#henrich-shared-cart) #main-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body:has(#henrich-orders-root) #main-content .et_pb_section,
  body:has(#henrich-po-root) #main-content .et_pb_section,
  body:has(#henrich-order-detail-root) #main-content .et_pb_section,
  body:has(#henrich-shared-cart) #main-content .et_pb_section {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body:has(#henrich-orders-root) #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested),
  body:has(#henrich-po-root) #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested),
  body:has(#henrich-order-detail-root) #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested),
  body:has(#henrich-shared-cart) #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested) {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    padding-left: var(--mobile-page-x, 18px) !important;
    padding-right: var(--mobile-page-x, 18px) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body:has(#henrich-orders-root) #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested) > .et_pb_column,
  body:has(#henrich-po-root) #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested) > .et_pb_column,
  body:has(#henrich-order-detail-root) #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested) > .et_pb_column,
  body:has(#henrich-shared-cart) #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested) > .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:has(#henrich-orders-root) #main-content .et_pb_column_empty,
  body:has(#henrich-po-root) #main-content .et_pb_column_empty,
  body:has(#henrich-order-detail-root) #main-content .et_pb_column_empty,
  body:has(#henrich-shared-cart) #main-content .et_pb_column_empty {
    display: none !important;
  }

  #henrich-orders-root,
  #henrich-po-root,
  #henrich-order-detail-root,
  #henrich-shared-cart {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .henrich-orders-panel,
  .henrich-order-detail {
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  body:has(#henrich-orders-root) #main-content .et_pb_text_inner h2,
  body:has(#henrich-po-root) #main-content .et_pb_text_inner h2,
  body:has(#henrich-order-detail-root) #main-content .et_pb_text_inner h2,
  body:has(#henrich-shared-cart) #main-content .et_pb_text_inner h2 {
    font-size: var(--mobile-h2, 26px) !important;
    line-height: 1.3 !important;
    text-align: left !important;
  }

  /* --- Orders list --- */
  #henrich-orders-root .henrich-orders-tabs,
  #henrich-po-root .henrich-orders-tabs {
    margin-bottom: 14px !important;
  }

  #henrich-orders-root .henrich-orders-tab,
  #henrich-po-root .henrich-orders-tab {
    flex: 0 1 auto !important;
  }

  #henrich-orders-root .henrich-orders-card,
  #henrich-po-root .henrich-orders-card {
    border-radius: 10px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08) !important;
  }

  #henrich-orders-root .henrich-orders-product-title,
  #henrich-po-root .henrich-orders-product-title {
    font-size: var(--mobile-h4, 19px) !important;
    line-height: 1.35 !important;
  }

  #henrich-orders-root .henrich-orders-meta,
  #henrich-orders-root .henrich-orders-product-meta,
  #henrich-po-root .henrich-orders-meta,
  #henrich-po-root .henrich-orders-product-meta {
    font-size: var(--mobile-body, 16px) !important;
  }

  #henrich-orders-root .henrich-orders-btn,
  #henrich-po-root .henrich-orders-btn {
    min-height: 44px !important;
    line-height: 1.2 !important;
  }

  /* /orders/ mobile: keep side flags on the right, tighten right gutter
     so cards use more width (Predision/serial2all reference). Desktop unchanged. */
  body:has(#henrich-orders-root) #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested) {
    padding-left: 12px !important;
    padding-right: 6px !important;
  }

  #henrich-orders-root .henrich-orders-panel {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  #henrich-orders-root .henrich-orders-card {
    width: auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-right: 30px !important;
  }

  #henrich-orders-root .henrich-orders-status-pay-tag {
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    left: auto !important;
    transform: translate(100%, -50%) !important;
    padding: 10px 6px !important;
    font-size: 11px !important;
  }

  /* --- Order details --- */
  #henrich-order-detail-root .henrich-order-detail-card {
    overflow: hidden !important;
  }

  #henrich-order-detail-root .henrich-order-detail-table-wrap {
    overflow: visible !important;
    margin: 0 -4px !important;
  }

  #henrich-order-detail-root .henrich-order-detail-table td {
    font-size: var(--mobile-body, 16px) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  #henrich-order-detail-root .henrich-order-detail-spec {
    font-size: var(--mobile-body, 16px) !important;
    line-height: 1.5 !important;
  }

  #henrich-order-detail-root .henrich-order-detail-grid {
    font-size: var(--mobile-body, 16px) !important;
  }

  #henrich-order-detail-root .henrich-order-detail-back {
    min-height: 44px !important;
  }

  /* --- Shared cart --- */
  #henrich-shared-cart .henrich-shared-cart-intro {
    font-size: var(--mobile-body-lg, 17px) !important;
    line-height: 1.55 !important;
    margin-bottom: 14px !important;
  }

  body:has(#henrich-shared-cart) .henrich-cart-table-wrap {
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body:has(#henrich-shared-cart) .henrich-cart-table td {
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: var(--mobile-body, 16px) !important;
  }

  body:has(#henrich-shared-cart) .henrich-cart-product img {
    width: 72px !important;
    height: 72px !important;
  }

  body:has(#henrich-shared-cart) .henrich-cart-product-title,
  body:has(#henrich-shared-cart) .henrich-cart-product-title a {
    font-size: var(--mobile-h4, 19px) !important;
    line-height: 1.35 !important;
  }

  body:has(#henrich-shared-cart) .henrich-cart-panel {
    padding: 16px !important;
  }

  body:has(#henrich-shared-cart) .henrich-cart-summary-row.total {
    font-size: var(--mobile-h2, 26px) !important;
  }
}

@media (max-width: 480px) {
  #henrich-orders-root .henrich-orders-tab,
  #henrich-po-root .henrich-orders-tab {
    padding: 7px 10px !important;
    font-size: 11px !important;
  }

  #henrich-order-detail-root .henrich-order-detail-status {
    font-size: 20px !important;
  }

  body:has(#henrich-shared-cart) .henrich-cart-product img {
    width: 64px !important;
    height: 64px !important;
  }
}

/* =========================================================
   16b. Tablet / small laptop — main nav (768px–1366px)
   Hide desktop header; keep mobile header shell.
========================================================= */

@media only screen and (min-width: 768px) and (max-width: 1366px) {
  html body .henrich-header.et_pb_section,
  html body .et_pb_section_0_tb_header.henrich-header.et_pb_section,
  html body .et_pb_section_0_tb_header {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }

  html body .henrich-mobile-header.et_pb_section,
  html body .et_pb_section_1_tb_header.henrich-mobile-header.et_pb_section,
  html body .et_pb_section_1_tb_header {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
    position: sticky !important;
    top: 0 !important;
    padding: 10px 14px !important;
    background: #fff !important;
    border-bottom: 10px solid #003d88 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
    z-index: 99999 !important;
  }

  .henrich-mobile-header-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 4px !important;
    min-height: 44px !important;
    overflow: visible !important;
  }

  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-logo) {
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
  }

  .henrich-mobile-logo,
  .henrich-mobile-logo.et_pb_image,
  .henrich-mobile-logo .et_pb_image_wrap {
    padding: 0 !important;
    margin: 0 !important;
    align-self: center !important;
  }

  .henrich-mobile-logo img {
    max-width: 140px !important;
    margin: 0 !important;
  }

  .henrich-mobile-menu .et_mobile_menu {
    top: 96px !important;
    left: 20px !important;
    right: 20px !important;
    width: calc(100vw - 40px) !important;
    max-width: calc(100vw - 40px) !important;
  }

  .henrich-mobile-search-overlay {
    padding-top: 96px !important;
  }

  /* Keep hamburger mode — never show stacked desktop links in mobile header */
  .henrich-mobile-menu .et_pb_menu__menu,
  .henrich-mobile-menu .et-menu {
    display: none !important;
  }

  .henrich-mobile-menu .et_mobile_nav_menu,
  .henrich-mobile-menu .mobile_nav {
    display: flex !important;
  }

  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-cart),
  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-account),
  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-notifications),
  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-search),
  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-menu) {
    flex: 0 0 26px !important;
    width: auto !important;
    min-width: 26px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .henrich-mobile-header-row > .et_pb_column:has(.henrich-mobile-cart) {
    margin-left: auto !important;
  }

  .henrich-mobile-search .et_pb_searchform,
  .henrich-mobile-search input.et_pb_s,
  .henrich-mobile-search input.et_pb_searchsubmit {
    display: none !important;
  }
}

/* =========================================================
   Cookie consent banner + privacy settings modal (Eva #23)
========================================================= */

#henrich-cookie-consent-root {
  position: relative;
  z-index: 1000001;
}

.henrich-cookie-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000001;
  background: #ffffff;
  border-top: 3px solid var(--he-orange, #ff642a);
  box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.14);
}

.henrich-cookie-banner-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 18px 24px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-sizing: border-box;
}

.henrich-cookie-banner-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.henrich-cookie-banner-copy p {
  margin: 0;
  color: #333;
  font-size: 14px;
  line-height: 1.55;
}

.henrich-cookie-banner-copy a {
  color: var(--he-blue, #155791);
  text-decoration: underline;
}

.henrich-cookie-banner-copy a:hover {
  color: var(--he-orange, #ff642a);
}

.henrich-cookie-banner-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
}

.henrich-cookie-btn {
  appearance: none;
  border: 1px solid transparent;
  border-radius: 4px;
  padding: 10px 16px;
  font-family: 'Alibaba PuHuiTi', sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.henrich-cookie-btn-accept {
  background: var(--he-blue-dark, #003d88);
  border-color: var(--he-blue-dark, #003d88);
  color: #fff;
}

.henrich-cookie-btn-accept:hover {
  background: var(--he-blue, #155791);
  border-color: var(--he-blue, #155791);
}

.henrich-cookie-btn-reject {
  background: #fff;
  border-color: #c8c8c8;
  color: #333;
}

.henrich-cookie-btn-reject:hover {
  border-color: var(--he-blue, #155791);
  color: var(--he-blue, #155791);
}

.henrich-cookie-btn-settings {
  background: transparent;
  border-color: transparent;
  color: var(--he-blue, #155791);
  text-decoration: underline;
  padding-left: 8px;
  padding-right: 8px;
}

.henrich-cookie-btn-settings:hover {
  color: var(--he-orange, #ff642a);
}

.henrich-cookie-modal {
  position: fixed;
  inset: 0;
  z-index: 1000002;
}

.henrich-cookie-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.henrich-cookie-modal-panel {
  position: relative;
  width: min(640px, calc(100vw - 32px));
  max-height: calc(100vh - 48px);
  overflow: auto;
  margin: 24px auto;
  background: #fff;
  border-top: 4px solid var(--he-orange, #ff642a);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
  padding: 28px 28px 24px;
  box-sizing: border-box;
}

.henrich-cookie-modal-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  color: #666;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.henrich-cookie-modal-close:hover {
  color: var(--he-orange, #ff642a);
}

.henrich-cookie-modal-panel h2 {
  margin: 0 0 10px;
  font-size: 28px;
  line-height: 1.2;
  color: #111;
}

.henrich-cookie-modal-intro {
  margin: 0 0 18px;
  color: #555;
  font-size: 14px;
  line-height: 1.55;
}

.henrich-cookie-preference {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 0;
  border-top: 1px solid #ececec;
}

.henrich-cookie-preference-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.henrich-cookie-preference-copy h3 {
  margin: 0 0 6px;
  font-size: 16px;
  line-height: 1.3;
  color: #111;
}

.henrich-cookie-preference-copy p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #666;
}

.henrich-cookie-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.henrich-cookie-toggle input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.henrich-cookie-toggle-ui {
  width: 48px;
  height: 28px;
  border-radius: 999px;
  background: #d7d7d7;
  position: relative;
  transition: background-color 0.2s ease;
}

.henrich-cookie-toggle-ui::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
  transition: transform 0.2s ease;
}

.henrich-cookie-toggle input:checked + .henrich-cookie-toggle-ui {
  background: var(--he-blue, #155791);
}

.henrich-cookie-toggle input:checked + .henrich-cookie-toggle-ui::after {
  transform: translateX(20px);
}

.henrich-cookie-toggle input:disabled + .henrich-cookie-toggle-ui {
  background: #9aa9bc;
  opacity: 0.85;
}

.henrich-cookie-modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

html.henrich-cookie-banner-open body {
  padding-bottom: 92px;
}

html.henrich-cookie-modal-open body {
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .henrich-cookie-banner-inner {
    flex-direction: column;
    align-items: stretch;
    padding: 16px;
    gap: 16px;
  }

  .henrich-cookie-banner-actions {
    justify-content: stretch;
  }

  .henrich-cookie-banner-actions .henrich-cookie-btn {
    flex: 1 1 calc(50% - 5px);
    min-width: 0;
  }

  .henrich-cookie-banner-actions .henrich-cookie-btn-settings {
    flex: 1 1 100%;
  }

  .henrich-cookie-modal-panel {
    margin: 12px auto;
    padding: 24px 18px 18px;
  }

  html.henrich-cookie-banner-open body {
    padding-bottom: 168px;
  }
}

/* =========================================================
   Site Search — Not Found Page
========================================================= */

.henrich-not-found-panel {
  max-width: 760px;
  margin: 0 auto;
  padding: 48px 24px 56px;
  text-align: center;
}

.henrich-not-found-message {
  margin: 0 0 28px;
  font-size: 20px;
  line-height: 1.6;
  color: #333;
}

.henrich-not-found-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}

.henrich-not-found-btn {
  display: inline-block;
  min-width: 180px;
  padding: 12px 20px;
  border-radius: 8px;
  background: var(--he-blue, #003d88);
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease;
}

.henrich-not-found-btn:hover {
  background: var(--he-orange, #f47c20);
  color: #fff !important;
}

@media (max-width: 767px) {
  .henrich-not-found-message {
    font-size: 18px;
  }

  .henrich-not-found-btn {
    width: 100%;
  }
}

/* =========================================================
   Mobile — Product routes footer parity + detail polish
   (Products, category template, product detail)
========================================================= */

@media (max-width: 767px) {
  /*
   * Divi Theme Builder footer = footer.et-l--footer (no #main-footer id).
   * Duplicate selectors so rules apply on TB layouts and legacy footer markup.
   */

  /* Product routes — keep footer wrapper full width; inset via section/row gutter rules below */
  body.page-id-76 #main-footer,
  body.page-id-76 footer.et-l--footer,
  body:has(#product-list) #main-footer,
  body:has(#product-list) footer.et-l--footer,
  body:has(#henrich-category-header) #main-footer,
  body:has(#henrich-category-header) footer.et-l--footer,
  body:has(#henrich-category-grid) #main-footer,
  body:has(#henrich-category-grid) footer.et-l--footer,
  body:has(#product-buy-box) #main-footer,
  body:has(#product-buy-box) footer.et-l--footer,
  body.page-id-176 #main-footer,
  body.page-id-176 footer.et-l--footer,
  body.henrich-has-product-sidebar #main-footer,
  body.henrich-has-product-sidebar footer.et-l--footer {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Standard mobile footer gutter — section padding insets content, blue stays edge-to-edge */
  #main-footer .site-footer-custom.et_pb_section,
  footer.et-l--footer .site-footer-custom.et_pb_section,
  #main-footer .et_pb_section_0_tb_footer.et_pb_section,
  footer.et-l--footer .et_pb_section_0_tb_footer.et_pb_section,
  body.page-id-76 #main-footer .site-footer-custom.et_pb_section,
  body.page-id-76 footer.et-l--footer .site-footer-custom.et_pb_section,
  body.page-id-76 #main-footer .et_pb_section_0_tb_footer.et_pb_section,
  body.page-id-76 footer.et-l--footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#product-list) #main-footer .site-footer-custom.et_pb_section,
  body:has(#product-list) footer.et-l--footer .site-footer-custom.et_pb_section,
  body:has(#product-list) #main-footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#product-list) footer.et-l--footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#henrich-category-header) #main-footer .site-footer-custom.et_pb_section,
  body:has(#henrich-category-header) footer.et-l--footer .site-footer-custom.et_pb_section,
  body:has(#henrich-category-header) #main-footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#henrich-category-header) footer.et-l--footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#henrich-category-grid) #main-footer .site-footer-custom.et_pb_section,
  body:has(#henrich-category-grid) footer.et-l--footer .site-footer-custom.et_pb_section,
  body:has(#henrich-category-grid) #main-footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#henrich-category-grid) footer.et-l--footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#product-buy-box) #main-footer .site-footer-custom.et_pb_section,
  body:has(#product-buy-box) footer.et-l--footer .site-footer-custom.et_pb_section,
  body:has(#product-buy-box) #main-footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#product-buy-box) footer.et-l--footer .et_pb_section_0_tb_footer.et_pb_section,
  body.page-id-176 #main-footer .site-footer-custom.et_pb_section,
  body.page-id-176 footer.et-l--footer .site-footer-custom.et_pb_section,
  body.page-id-176 #main-footer .et_pb_section_0_tb_footer.et_pb_section,
  body.page-id-176 footer.et-l--footer .et_pb_section_0_tb_footer.et_pb_section,
  body.henrich-has-product-sidebar #main-footer .site-footer-custom.et_pb_section,
  body.henrich-has-product-sidebar footer.et-l--footer .site-footer-custom.et_pb_section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--mobile-page-x, 16px) !important;
    padding-right: var(--mobile-page-x, 16px) !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  #main-footer .site-footer-custom.footer-main-row,
  footer.et-l--footer .site-footer-custom.footer-main-row,
  #main-footer .site-footer-custom.footer-secondary-row,
  footer.et-l--footer .site-footer-custom.footer-secondary-row,
  #main-footer .et_pb_row_0_tb_footer,
  footer.et-l--footer .et_pb_row_0_tb_footer,
  #main-footer .et_pb_row_2_tb_footer,
  footer.et-l--footer .et_pb_row_2_tb_footer,
  #main-footer .footer-bottom-bar,
  footer.et-l--footer .footer-bottom-bar {
    width: 100% !important;
    max-width: 100% !important;
  }

  #main-footer .site-footer-custom .footer-column,
  footer.et-l--footer .site-footer-custom .footer-column,
  #main-footer .et_pb_row_0_tb_footer > .footer-column,
  footer.et-l--footer .et_pb_row_0_tb_footer > .footer-column,
  #main-footer .et_pb_row_2_tb_footer > .footer-column,
  footer.et-l--footer .et_pb_row_2_tb_footer > .footer-column {
    width: 100% !important;
    max-width: 100% !important;
    min-width: unset !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  #main-footer .et_pb_row_0_tb_footer > .footer-column:first-child,
  footer.et-l--footer .et_pb_row_0_tb_footer > .footer-column:first-child {
    gap: 10px !important;
  }

  /*
   * Product routes — override Divi deferred CSS (85% / 35% module widths).
   */
  body.page-id-76 #main-footer .site-footer-custom.et_pb_section,
  body.page-id-76 footer.et-l--footer .site-footer-custom.et_pb_section,
  body.page-id-76 #main-footer .et_pb_section_0_tb_footer.et_pb_section,
  body.page-id-76 footer.et-l--footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#product-list) #main-footer .site-footer-custom.et_pb_section,
  body:has(#product-list) footer.et-l--footer .site-footer-custom.et_pb_section,
  body:has(#product-list) #main-footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#product-list) footer.et-l--footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#henrich-category-header) #main-footer .site-footer-custom.et_pb_section,
  body:has(#henrich-category-header) footer.et-l--footer .site-footer-custom.et_pb_section,
  body:has(#henrich-category-header) #main-footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#henrich-category-header) footer.et-l--footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#henrich-category-grid) #main-footer .site-footer-custom.et_pb_section,
  body:has(#henrich-category-grid) footer.et-l--footer .site-footer-custom.et_pb_section,
  body:has(#henrich-category-grid) #main-footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#henrich-category-grid) footer.et-l--footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#product-buy-box) #main-footer .site-footer-custom.et_pb_section,
  body:has(#product-buy-box) footer.et-l--footer .site-footer-custom.et_pb_section,
  body:has(#product-buy-box) #main-footer .et_pb_section_0_tb_footer.et_pb_section,
  body:has(#product-buy-box) footer.et-l--footer .et_pb_section_0_tb_footer.et_pb_section,
  body.page-id-176 #main-footer .site-footer-custom.et_pb_section,
  body.page-id-176 footer.et-l--footer .site-footer-custom.et_pb_section,
  body.page-id-176 #main-footer .et_pb_section_0_tb_footer.et_pb_section,
  body.page-id-176 footer.et-l--footer .et_pb_section_0_tb_footer.et_pb_section,
  body.henrich-has-product-sidebar #main-footer .site-footer-custom.et_pb_section,
  body.henrich-has-product-sidebar footer.et-l--footer .site-footer-custom.et_pb_section {
    padding-top: 32px !important;
    padding-bottom: 24px !important;
  }

  body.page-id-76 #main-footer .et_pb_image_0_tb_footer.et_pb_image,
  body.page-id-76 #main-footer .et_pb_image_0_tb_footer .et_pb_image_wrap,
  body.page-id-76 footer.et-l--footer .et_pb_image_0_tb_footer.et_pb_image,
  body.page-id-76 footer.et-l--footer .et_pb_image_0_tb_footer .et_pb_image_wrap,
  body:has(#product-list) #main-footer .et_pb_image_0_tb_footer.et_pb_image,
  body:has(#product-list) #main-footer .et_pb_image_0_tb_footer .et_pb_image_wrap,
  body:has(#product-list) footer.et-l--footer .et_pb_image_0_tb_footer.et_pb_image,
  body:has(#product-list) footer.et-l--footer .et_pb_image_0_tb_footer .et_pb_image_wrap,
  body:has(#henrich-category-header) #main-footer .et_pb_image_0_tb_footer.et_pb_image,
  body:has(#henrich-category-header) #main-footer .et_pb_image_0_tb_footer .et_pb_image_wrap,
  body:has(#henrich-category-header) footer.et-l--footer .et_pb_image_0_tb_footer.et_pb_image,
  body:has(#henrich-category-header) footer.et-l--footer .et_pb_image_0_tb_footer .et_pb_image_wrap,
  body:has(#henrich-category-grid) #main-footer .et_pb_image_0_tb_footer.et_pb_image,
  body:has(#henrich-category-grid) #main-footer .et_pb_image_0_tb_footer .et_pb_image_wrap,
  body:has(#henrich-category-grid) footer.et-l--footer .et_pb_image_0_tb_footer.et_pb_image,
  body:has(#henrich-category-grid) footer.et-l--footer .et_pb_image_0_tb_footer .et_pb_image_wrap,
  body:has(#product-buy-box) #main-footer .et_pb_image_0_tb_footer.et_pb_image,
  body:has(#product-buy-box) #main-footer .et_pb_image_0_tb_footer .et_pb_image_wrap,
  body:has(#product-buy-box) footer.et-l--footer .et_pb_image_0_tb_footer.et_pb_image,
  body:has(#product-buy-box) footer.et-l--footer .et_pb_image_0_tb_footer .et_pb_image_wrap,
  body.page-id-176 #main-footer .et_pb_image_0_tb_footer.et_pb_image,
  body.page-id-176 #main-footer .et_pb_image_0_tb_footer .et_pb_image_wrap,
  body.page-id-176 footer.et-l--footer .et_pb_image_0_tb_footer.et_pb_image,
  body.page-id-176 footer.et-l--footer .et_pb_image_0_tb_footer .et_pb_image_wrap {
    width: auto !important;
    max-width: 180px !important;
    flex: 0 0 auto !important;
    align-self: flex-start !important;
    margin: 0 !important;
    text-align: left !important;
  }

  body.page-id-76 #main-footer .et_pb_image_0_tb_footer img,
  body.page-id-76 footer.et-l--footer .et_pb_image_0_tb_footer img,
  body:has(#product-list) #main-footer .et_pb_image_0_tb_footer img,
  body:has(#product-list) footer.et-l--footer .et_pb_image_0_tb_footer img,
  body:has(#henrich-category-header) #main-footer .et_pb_image_0_tb_footer img,
  body:has(#henrich-category-header) footer.et-l--footer .et_pb_image_0_tb_footer img,
  body:has(#henrich-category-grid) #main-footer .et_pb_image_0_tb_footer img,
  body:has(#henrich-category-grid) footer.et-l--footer .et_pb_image_0_tb_footer img,
  body:has(#product-buy-box) #main-footer .et_pb_image_0_tb_footer img,
  body:has(#product-buy-box) footer.et-l--footer .et_pb_image_0_tb_footer img,
  body.page-id-176 #main-footer .et_pb_image_0_tb_footer img,
  body.page-id-176 footer.et-l--footer .et_pb_image_0_tb_footer img {
    display: block !important;
    width: auto !important;
    max-width: 180px !important;
    height: auto !important;
    margin: 0 !important;
  }

  body.page-id-76 #main-footer .et_pb_image_1_tb_footer.et_pb_image,
  body.page-id-76 #main-footer .et_pb_image_1_tb_footer .et_pb_image_wrap,
  body.page-id-76 footer.et-l--footer .et_pb_image_1_tb_footer.et_pb_image,
  body.page-id-76 footer.et-l--footer .et_pb_image_1_tb_footer .et_pb_image_wrap,
  body:has(#product-list) #main-footer .et_pb_image_1_tb_footer.et_pb_image,
  body:has(#product-list) #main-footer .et_pb_image_1_tb_footer .et_pb_image_wrap,
  body:has(#product-list) footer.et-l--footer .et_pb_image_1_tb_footer.et_pb_image,
  body:has(#product-list) footer.et-l--footer .et_pb_image_1_tb_footer .et_pb_image_wrap,
  body:has(#henrich-category-header) #main-footer .et_pb_image_1_tb_footer.et_pb_image,
  body:has(#henrich-category-header) #main-footer .et_pb_image_1_tb_footer .et_pb_image_wrap,
  body:has(#henrich-category-header) footer.et-l--footer .et_pb_image_1_tb_footer.et_pb_image,
  body:has(#henrich-category-header) footer.et-l--footer .et_pb_image_1_tb_footer .et_pb_image_wrap,
  body:has(#henrich-category-grid) #main-footer .et_pb_image_1_tb_footer.et_pb_image,
  body:has(#henrich-category-grid) #main-footer .et_pb_image_1_tb_footer .et_pb_image_wrap,
  body:has(#henrich-category-grid) footer.et-l--footer .et_pb_image_1_tb_footer.et_pb_image,
  body:has(#henrich-category-grid) footer.et-l--footer .et_pb_image_1_tb_footer .et_pb_image_wrap,
  body:has(#product-buy-box) #main-footer .et_pb_image_1_tb_footer.et_pb_image,
  body:has(#product-buy-box) #main-footer .et_pb_image_1_tb_footer .et_pb_image_wrap,
  body:has(#product-buy-box) footer.et-l--footer .et_pb_image_1_tb_footer.et_pb_image,
  body:has(#product-buy-box) footer.et-l--footer .et_pb_image_1_tb_footer .et_pb_image_wrap,
  body.page-id-176 #main-footer .et_pb_image_1_tb_footer.et_pb_image,
  body.page-id-176 #main-footer .et_pb_image_1_tb_footer .et_pb_image_wrap,
  body.page-id-176 footer.et-l--footer .et_pb_image_1_tb_footer.et_pb_image,
  body.page-id-176 footer.et-l--footer .et_pb_image_1_tb_footer .et_pb_image_wrap {
    width: auto !important;
    max-width: 120px !important;
    flex: 0 0 auto !important;
    align-self: flex-start !important;
    margin: 4px 0 10px !important;
    text-align: left !important;
  }

  body.page-id-76 #main-footer .et_pb_image_1_tb_footer img,
  body.page-id-76 footer.et-l--footer .et_pb_image_1_tb_footer img,
  body:has(#product-list) #main-footer .et_pb_image_1_tb_footer img,
  body:has(#product-list) footer.et-l--footer .et_pb_image_1_tb_footer img,
  body:has(#henrich-category-header) #main-footer .et_pb_image_1_tb_footer img,
  body:has(#henrich-category-header) footer.et-l--footer .et_pb_image_1_tb_footer img,
  body:has(#henrich-category-grid) #main-footer .et_pb_image_1_tb_footer img,
  body:has(#henrich-category-grid) footer.et-l--footer .et_pb_image_1_tb_footer img,
  body:has(#product-buy-box) #main-footer .et_pb_image_1_tb_footer img,
  body:has(#product-buy-box) footer.et-l--footer .et_pb_image_1_tb_footer img,
  body.page-id-176 #main-footer .et_pb_image_1_tb_footer img,
  body.page-id-176 footer.et-l--footer .et_pb_image_1_tb_footer img {
    display: block !important;
    width: auto !important;
    max-width: 120px !important;
    height: auto !important;
    margin: 0 !important;
  }

  body.henrich-has-product-sidebar #main-footer .et_pb_text_0_tb_footer,
  body.henrich-has-product-sidebar footer.et-l--footer .et_pb_text_0_tb_footer {
    position: relative !important;
    z-index: 6 !important;
    padding-left: 56px !important;
    box-sizing: border-box !important;
  }

  body.henrich-has-product-sidebar.henrich-footer-in-view #main-footer .et_pb_text_0_tb_footer,
  body.henrich-has-product-sidebar.henrich-footer-in-view footer.et-l--footer .et_pb_text_0_tb_footer {
    padding-left: 0 !important;
  }

  #main-footer .et_pb_text_0_tb_footer .et_pb_text_inner,
  footer.et-l--footer .et_pb_text_0_tb_footer .et_pb_text_inner,
  #main-footer .et_pb_text_0_tb_footer .et_pb_text_inner .item,
  footer.et-l--footer .et_pb_text_0_tb_footer .et_pb_text_inner .item {
    text-align: left !important;
    font-style: italic !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }

  #main-footer .et_pb_text_0_tb_footer .et_pb_text_inner .item + .item,
  footer.et-l--footer .et_pb_text_0_tb_footer .et_pb_text_inner .item + .item {
    margin-top: 2px !important;
  }

  /* Mobile — reinforce single underline (override Divi module borders) */
  footer.et-l--footer .et_pb_text_1_tb_footer,
  footer.et-l--footer .et_pb_text_3_tb_footer,
  footer.et-l--footer .et_pb_text_6_tb_footer,
  footer.et-l--footer .et_pb_text_7_tb_footer,
  footer.et-l--footer .et_pb_text_12_tb_footer,
  footer.et-l--footer .et_pb_text_14_tb_footer,
  footer.et-l--footer .et_pb_text_16_tb_footer,
  #main-footer .et_pb_text_1_tb_footer,
  #main-footer .et_pb_text_3_tb_footer,
  #main-footer .et_pb_text_6_tb_footer,
  #main-footer .et_pb_text_7_tb_footer,
  #main-footer .et_pb_text_12_tb_footer,
  #main-footer .et_pb_text_14_tb_footer,
  #main-footer .et_pb_text_16_tb_footer,
  footer.et-l--footer .site-footer-custom .footer-column > .et_pb_text:first-child,
  #main-footer .site-footer-custom .footer-column > .et_pb_text:first-child {
    border-bottom: none !important;
    box-shadow: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  #main-footer .site-footer-custom a,
  footer.et-l--footer .site-footer-custom a,
  #main-footer .site-footer-custom p,
  footer.et-l--footer .site-footer-custom p,
  #main-footer .site-footer-custom li,
  footer.et-l--footer .site-footer-custom li {
    color: var(--he-white) !important;
  }

  #main-footer,
  footer.et-l--footer {
    position: relative !important;
    z-index: 5 !important;
  }

  #main-footer .henrich-accreditations-slider-wrap,
  footer.et-l--footer .henrich-accreditations-slider-wrap {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 34px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  #main-footer .accreditations-row-slider-mobile,
  footer.et-l--footer .accreditations-row-slider-mobile {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  #main-footer .accreditations-row-slider-mobile::-webkit-scrollbar,
  footer.et-l--footer .accreditations-row-slider-mobile::-webkit-scrollbar {
    display: none !important;
  }

  #main-footer .accreditations-row-slider-mobile > .et_pb_column,
  footer.et-l--footer .accreditations-row-slider-mobile > .et_pb_column {
    flex: 0 0 46% !important;
    width: 46% !important;
    max-width: 46% !important;
    min-width: 46% !important;
    margin: 0 !important;
    padding: 0 !important;
    scroll-snap-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #main-footer .accreditations-row-slider-mobile .et_pb_image,
  footer.et-l--footer .accreditations-row-slider-mobile .et_pb_image {
    width: 100% !important;
    max-width: 168px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }

  #main-footer .accreditations-row-slider-mobile .et_pb_image_wrap,
  footer.et-l--footer .accreditations-row-slider-mobile .et_pb_image_wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 168px !important;
    min-width: 132px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: 0 auto !important;
    padding: 8px 14px !important;
    background: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
    line-height: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
  }

  #main-footer .accreditations-row-slider-mobile .et_pb_image img,
  footer.et-l--footer .accreditations-row-slider-mobile .et_pb_image img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 38px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  /* /products/ category grid — two columns on phone */
  body.page-id-76 .mvp-products-slider .home-product-grid,
  body.page-id-76 .home-category-products .home-product-grid,
  body.page-id-76 .henrich-products-category-section .home-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 8px !important;
  }

  body.page-id-76 .home-product-card {
    padding: 10px 8px 12px !important;
  }

  body.page-id-76 .home-product-img-wrap {
    height: 78px !important;
    margin-bottom: 6px !important;
  }

  body.page-id-76 .home-product-img-wrap img {
    max-height: 72px !important;
  }

  body.page-id-76 .home-product-title {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  /* /products/ — 10px side gutter on category code block; room for card shadows */
  body.page-id-76 {
    --mobile-page-x: 10px;
  }

  body.page-id-76 .et_pb_section:has(.home-category-products) {
    padding-left: var(--mobile-page-x) !important;
    padding-right: var(--mobile-page-x) !important;
  }

  body.page-id-76 .mvp-products-slider.et_pb_column,
  body.page-id-76 .et_pb_column.mvp-products-slider {
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
  }

  body.page-id-76 .mvp-products-slider .et_pb_code,
  body.page-id-76 .mvp-products-slider .et_pb_code_inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.page-id-76 #henrich-products-category-sections,
  body.page-id-76 .henrich-products-category-sections {
    overflow: visible !important;
  }

  body.page-id-76 #products-mvp-slider {
    padding-left: var(--mobile-page-x) !important;
    padding-right: var(--mobile-page-x) !important;
    box-sizing: border-box !important;
  }

  body.page-id-76 #henrich-products-category-sections,
  body.page-id-76 .henrich-products-category-sections {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-id-76 .henrich-products-category-section {
    padding-left: var(--mobile-page-x) !important;
    padding-right: var(--mobile-page-x) !important;
    box-sizing: border-box !important;
  }

  body.page-id-76 .home-category-products {
    padding: 14px 12px !important;
    box-sizing: border-box !important;
  }

  body.page-id-76 .henrich-products-category-section .home-category-products {
    padding: 16px 14px !important;
    border-radius: 16px !important;
  }

  /* Product detail — unified 10px side inset (same pattern as buy box + overview/specs) */
  body:has(#product-buy-box),
  body.page-id-176 {
    --product-detail-mobile-x: 10px;
  }

  /* One inset on each layout column — inner rows/sections stay full width inside */
  body:has(#product-buy-box) .single-product-breadcrumbs-col,
  body:has(#product-buy-box) .single-product-content-col,
  body:has(#product-buy-box) .single-product-buy-col,
  body.page-id-176 .single-product-breadcrumbs-col,
  body.page-id-176 .single-product-content-col,
  body.page-id-176 .single-product-buy-col {
    padding-left: var(--product-detail-mobile-x) !important;
    padding-right: var(--product-detail-mobile-x) !important;
    box-sizing: border-box !important;
  }

  body:has(#product-buy-box) .single-product-buy-col,
  body.page-id-176 .single-product-buy-col {
    padding-top: 20px !important;
    margin-top: 20px !important;
    border-top: 1px solid #e5e5e5 !important;
  }

  body:has(#product-buy-box) .single-product-hero-row,
  body:has(#product-buy-box) .single-product-tabs-row,
  body:has(#product-buy-box) .single-product-content-col .single-product-description-row,
  body:has(#product-buy-box) .single-product-content-col .single-product-specs-row,
  body:has(#product-buy-box) .single-product-content-col .single-product-models-row,
  body:has(#product-buy-box) .single-product-content-col .single-product-related-row,
  body.page-id-176 .single-product-hero-row,
  body.page-id-176 .single-product-tabs-row,
  body.page-id-176 .single-product-content-col .single-product-description-row,
  body.page-id-176 .single-product-content-col .single-product-specs-row,
  body.page-id-176 .single-product-content-col .single-product-models-row,
  body.page-id-176 .single-product-content-col .single-product-related-row,
  body:has(#product-buy-box) .single-product-tabs,
  body.page-id-176 .single-product-tabs,
  body:has(#product-buy-box) #product-buy-box,
  body.page-id-176 #product-buy-box,
  body:has(#product-buy-box) .single-product-layout .product-section-card,
  body.page-id-176 .single-product-layout .product-section-card,
  body:has(#product-buy-box) .single-product-layout .product-description-content,
  body:has(#product-buy-box) .single-product-layout .product-overview-content,
  body:has(#product-buy-box) .single-product-layout .product-specifications-content,
  body:has(#product-buy-box) .single-product-layout .product-models-content,
  body.page-id-176 .single-product-layout .product-description-content,
  body.page-id-176 .single-product-layout .product-overview-content,
  body.page-id-176 .single-product-layout .product-specifications-content,
  body.page-id-176 .single-product-layout .product-models-content,
  body:has(#product-buy-box) .related-products-grid,
  body.page-id-176 .related-products-grid,
  body:has(#product-buy-box) .single-product-layout .product-image-card,
  body:has(#product-buy-box) .single-product-layout .product-summary-card,
  body.page-id-176 .single-product-layout .product-image-card,
  body.page-id-176 .single-product-layout .product-summary-card {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body:has(#product-buy-box) .single-product-layout .product-section-card,
  body.page-id-176 .single-product-layout .product-section-card {
    margin-bottom: 28px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:has(#product-buy-box) .single-product-layout .product-overview-content,
  body:has(#product-buy-box) .single-product-layout .product-specifications-content,
  body:has(#product-buy-box) .single-product-layout .product-description-content,
  body:has(#product-buy-box) .single-product-layout .product-models-content,
  body.page-id-176 .single-product-layout .product-overview-content,
  body.page-id-176 .single-product-layout .product-specifications-content,
  body.page-id-176 .single-product-layout .product-description-content,
  body.page-id-176 .single-product-layout .product-models-content {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body:has(#product-buy-box) .single-product-layout .product-image-card,
  body:has(#product-buy-box) .single-product-layout .product-summary-card,
  body.page-id-176 .single-product-layout .product-image-card,
  body.page-id-176 .single-product-layout .product-summary-card {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Hero row (product image + description) — full width, breaks out of column inset */
  body:has(#product-buy-box) .single-product-content-col .single-product-hero-row,
  body.page-id-176 .single-product-content-col .single-product-hero-row {
    margin-left: calc(-1 * var(--product-detail-mobile-x)) !important;
    margin-right: calc(-1 * var(--product-detail-mobile-x)) !important;
    width: calc(100% + (var(--product-detail-mobile-x) * 2)) !important;
    max-width: calc(100% + (var(--product-detail-mobile-x) * 2)) !important;
  }

  body:has(#product-buy-box) .product-summary-inner,
  body.page-id-176 .product-summary-inner {
    padding-left: var(--product-detail-mobile-x) !important;
    padding-right: var(--product-detail-mobile-x) !important;
    box-sizing: border-box !important;
  }

  body:has(#product-buy-box) .single-product-tabs,
  body.page-id-176 .single-product-tabs {
    min-width: 0 !important;
  }

  body:has(#product-buy-box) .related-products-grid,
  body.page-id-176 .related-products-grid {
    gap: 16px !important;
  }

  /* Price block — flat (no gray card); divider line above price after Downloads */
  body:has(#product-buy-box) #product-buy-box .product-buy-box-inner,
  body.page-id-176 #product-buy-box .product-buy-box-inner,
  body:has(#product-buy-box) .product-buy-box,
  body.page-id-176 .product-buy-box {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body:has(#product-buy-box) .product-summary-inner .product-downloads-inline,
  body.page-id-176 .product-summary-inner .product-downloads-inline {
    margin-top: 24px !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
  }

  /* Product detail — buy box price section (Price section mockup) */
  #product-buy-box .product-buy-box-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #product-buy-box .product-price {
    order: 1 !important;
    margin: 0 0 10px !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    text-align: left !important;
    color: #111 !important;
  }

  #product-buy-box .product-quantity-stock-row {
    order: 2 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 6px !important;
    margin: 0 0 8px !important;
  }

  #product-buy-box .product-quantity-label {
    order: unset !important;
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: #111 !important;
  }

  #product-buy-box .product-stock {
    order: unset !important;
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
  }

  #product-buy-box .product-stock--backorder,
  #product-buy-box:has(.product-availability.backordered) .product-stock {
    color: #c62828 !important;
  }

  #product-buy-box .product-availability.in-stock + .product-price + .product-stock,
  #product-buy-box .product-availability.in-stock ~ .product-stock {
    color: #208c3a !important;
  }

  #product-buy-box .product-quantity-input {
    order: 3 !important;
    margin: 0 0 12px !important;
    width: 100% !important;
    max-width: none !important;
    height: 48px !important;
    font-size: 18px !important;
    border: 1px solid #cfcfcf !important;
    border-radius: 8px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
  }

  #product-buy-box .product-availability {
    order: 4 !important;
    margin: 0 0 14px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  }

  #product-buy-box .product-availability.backordered {
    color: #cc5500 !important;
  }

  #product-buy-box .product-availability.in-stock {
    color: #208c3a !important;
  }

  #product-buy-box:has(.product-availability.backordered) .product-backorder-date {
    margin-top: 4px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #c62828 !important;
  }

  /* Product detail — action buttons (arrow must not cover label on tap) */
  .single-product-buy-col .et_pb_button_module_wrapper {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    margin: 0 0 10px !important;
  }

  .single-product-buy-col .et_pb_button,
  .single-product-buy-col .henrich-add-to-cart,
  .single-product-buy-col .henrich-buy-now,
  .single-product-buy-col .product-quote-btn {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 20px !important;
    white-space: nowrap !important;
    text-align: center !important;
    line-height: 1.2 !important;
  }

  .single-product-buy-col .et_pb_button::after,
  .single-product-buy-col .henrich-add-to-cart::after,
  .single-product-buy-col .henrich-buy-now::after,
  .single-product-buy-col .product-quote-btn::after,
  .single-product-buy-col .et_pb_button:active::after,
  .single-product-buy-col .et_pb_button:hover::after,
  .single-product-buy-col .henrich-add-to-cart:active::after,
  .single-product-buy-col .henrich-add-to-cart:hover::after,
  .single-product-buy-col .henrich-buy-now:active::after,
  .single-product-buy-col .product-quote-btn:active::after,
  .single-product-buy-col .henrich-buy-cart-icon::before,
  .single-product-buy-col .henrich-buy-cart-icon::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    border: none !important;
  }

  .single-product-buy-col .et_pb_button:active,
  .single-product-buy-col .et_pb_button:focus,
  .single-product-buy-col .et_pb_button:hover,
  .single-product-buy-col .henrich-add-to-cart:active,
  .single-product-buy-col .henrich-buy-now:active,
  .single-product-buy-col .product-quote-btn:active {
    padding: 12px 20px !important;
  }

  /* Product detail — models cards (Models section edit mobile mockup) */
  .single-product-layout .product-models-section .product-models-table-wrap {
    border: none !important;
    background: transparent !important;
    overflow: visible !important;
    padding: 0 !important;
    box-shadow: none !important;
  }

  .single-product-layout .product-models-section .product-models-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
  }

  body:has(#product-buy-box) .single-product-layout .product-models-section,
  body.page-id-176 .single-product-layout .product-models-section {
    margin-bottom: 28px !important;
  }

  .single-product-layout .product-models-section .product-models-table tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }

  .single-product-layout .product-models-section .product-models-table tr {
    display: block !important;
    border: 2px solid var(--he-orange, #f47c20) !important;
    border-radius: 5px !important;
    background: #fff !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .single-product-layout .product-models-section .product-models-table td {
    display: block !important;
    width: 100% !important;
    border: none !important;
    padding: 0 !important;
    line-height: 1.25 !important;
    background: transparent !important;
  }

  .single-product-layout .product-models-section .product-models-table td::before {
    display: none !important;
    content: none !important;
  }

  .single-product-layout .product-models-section .product-models-table td[data-label="Part Number"] {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin-bottom: 2px !important;
  }

  .single-product-layout .product-models-section .product-models-table td[data-label="Part Number"] a {
    color: #111 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  .single-product-layout .product-models-section .product-models-table td[data-label="Product"] {
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #111 !important;
    margin-bottom: 8px !important;
  }

  .single-product-layout .product-models-section .product-models-table td[data-label="Price"] {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #111 !important;
    margin: 4px 0 6px !important;
  }

  .single-product-layout .product-models-section .product-models-table td[data-label="Availability"] {
    font-size: 16px !important;
    line-height: 1.25 !important;
    padding-top: 0 !important;
  }

  .single-product-layout .product-models-section .product-model-stock.backordered {
    color: #cc5500 !important;
    font-weight: 700 !important;
    display: block !important;
  }

  .single-product-layout .product-models-section .product-model-stock.in-stock {
    color: #208c3a !important;
    font-weight: 700 !important;
    display: block !important;
  }

  .single-product-layout .product-models-section .product-model-backorder-date {
    color: #111 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    margin-top: 2px !important;
    line-height: 1.2 !important;
  }

  /* Product detail — breadcrumbs stack naturally, not full-width blocks */
  .single-product-breadcrumbs-col,
  #product-breadcrumbs {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
  }

  .single-product-breadcrumbs-col .henrich-breadcrumbs,
  .single-product-breadcrumbs-col .breadcrumbs,
  #product-breadcrumbs .henrich-breadcrumbs {
    display: inline !important;
    width: auto !important;
    max-width: 100% !important;
    line-height: 1.45 !important;
    font-size: 16px !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  .single-product-breadcrumbs-col .henrich-breadcrumbs a,
  .single-product-breadcrumbs-col .breadcrumbs a,
  #product-breadcrumbs .henrich-breadcrumbs a {
    display: inline !important;
    white-space: normal !important;
  }

  /* Product detail — Back to Top spacing */
  .henrich-product-back-to-top-wrap {
    display: block !important;
    width: 100% !important;
    margin: 28px 0 28px !important;
    padding: 0 var(--product-detail-mobile-x, 10px) !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  .henrich-product-back-to-top {
    display: inline-block !important;
    color: var(--he-orange, #f47c20) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
  }

  .henrich-product-back-to-top:hover,
  .henrich-product-back-to-top:focus {
    color: var(--he-blue-dark, #003d88) !important;
    text-decoration: underline !important;
  }
}

@media (min-width: 768px) {
  .henrich-product-back-to-top-wrap {
    display: none !important;
  }
}

/* =========================================================
   Account pages — tighter vertical rhythm (Eva 3.8)
========================================================= */

body:has(#henrich-orders-root) #main-content .et_pb_section,
body:has(#henrich-po-root) #main-content .et_pb_section,
body:has(#henrich-order-detail-root) #main-content .et_pb_section,
body:has(#henrich-shared-cart) #main-content .et_pb_section {
  padding-top: 28px !important;
  padding-bottom: 28px !important;
}

body:has(#henrich-orders-root) #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested),
body:has(#henrich-po-root) #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested),
body:has(#henrich-order-detail-root) #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested),
body:has(#henrich-shared-cart) #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested) {
  gap: 12px !important;
}

#henrich-orders-root .henrich-orders-panel,
#henrich-po-root .henrich-po-panel {
  margin-top: 0 !important;
}

#henrich-order-detail-root .henrich-order-detail-card {
  margin-bottom: 12px !important;
}

#henrich-orders-root .henrich-orders-card,
#henrich-po-root .henrich-po-card {
  margin-bottom: 12px !important;
}

/* /orders/: reserve side-flag gutter on every card so widths stay equal */
#henrich-orders-root .henrich-orders-card {
  margin-right: 44px !important;
}

/* Category product list — long specification bullets (Eva 3.6) */
.henrich-product-feature-list {
  max-width: 100%;
}

.henrich-product-feature-list li {
  overflow-wrap: anywhere;
  word-break: normal;
  max-width: 100%;
}

/* Part-number search results (Eva 29) */
.henrich-part-search-results {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  text-align: left;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.henrich-part-search-results li {
  margin: 0 0 10px;
  padding: 0;
}

.henrich-part-search-results a {
  color: #003d88;
  font-weight: 600;
  text-decoration: none;
  line-height: 1.45;
}

.henrich-part-search-results a:hover {
  color: #f47c20;
}

/* =========================================================
   Product routes — footer horizontal gutter (last cascade win)
   Works whether site-footer-custom is on the section or rows.
========================================================= */

@media (max-width: 980px) {
  body.henrich-has-product-sidebar #main-footer .et_pb_section,
  body.henrich-has-product-sidebar footer.et-l--footer .et_pb_section,
  body:has(#product-list) #main-footer .et_pb_section,
  body:has(#product-list) footer.et-l--footer .et_pb_section,
  body:has(#product-buy-box) #main-footer .et_pb_section,
  body:has(#product-buy-box) footer.et-l--footer .et_pb_section,
  body:has(#henrich-category-header) #main-footer .et_pb_section,
  body:has(#henrich-category-header) footer.et-l--footer .et_pb_section,
  body:has(#henrich-category-grid) #main-footer .et_pb_section,
  body:has(#henrich-category-grid) footer.et-l--footer .et_pb_section,
  body.page-id-76 #main-footer .et_pb_section,
  body.page-id-76 footer.et-l--footer .et_pb_section,
  body.page-id-176 #main-footer .et_pb_section,
  body.page-id-176 footer.et-l--footer .et_pb_section,
  body.single-product #main-footer .et_pb_section,
  body.single-product footer.et-l--footer .et_pb_section,
  body.tax-product_cat #main-footer .et_pb_section,
  body.tax-product_cat footer.et-l--footer .et_pb_section {
    padding-left: var(--mobile-page-x, 16px) !important;
    padding-right: var(--mobile-page-x, 16px) !important;
    box-sizing: border-box !important;
  }
}

/* =========================================================
   About / Support / Contact — protect TB header + footer images
   (page body image rules must not bleed into global chrome)
========================================================= */

@media (max-width: 767px) {
  body.page-id-81 .henrich-header .et_pb_image img,
  body.page-id-112 .henrich-header .et_pb_image img,
  body.page-id-83 .henrich-header .et_pb_image img,
  body.page-id-81 .henrich-logo-col img,
  body.page-id-112 .henrich-logo-col img,
  body.page-id-83 .henrich-logo-col img,
  body.page-id-81 .henrich-mobile-logo img,
  body.page-id-112 .henrich-mobile-logo img,
  body.page-id-83 .henrich-mobile-logo img {
    max-width: 200px !important;
    width: auto !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    border-radius: 0 !important;
  }

  body.page-id-81 .henrich-mobile-logo img,
  body.page-id-112 .henrich-mobile-logo img,
  body.page-id-83 .henrich-mobile-logo img {
    max-width: 118px !important;
  }

  body.page-id-81 #main-footer .et_pb_image img,
  body.page-id-81 footer.et-l--footer .et_pb_image img,
  body.page-id-112 #main-footer .et_pb_image img,
  body.page-id-112 footer.et-l--footer .et_pb_image img,
  body.page-id-83 #main-footer .et_pb_image img,
  body.page-id-83 footer.et-l--footer .et_pb_image img,
  body.page-id-81 .site-footer-custom .et_pb_image img,
  body.page-id-112 .site-footer-custom .et_pb_image img,
  body.page-id-83 .site-footer-custom .et_pb_image img {
    width: auto !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  body.page-id-81 footer.et-l--footer .et_pb_row_3_tb_footer .et_pb_image img,
  body.page-id-112 footer.et-l--footer .et_pb_row_3_tb_footer .et_pb_image img,
  body.page-id-83 footer.et-l--footer .et_pb_row_3_tb_footer .et_pb_image img,
  body.page-id-81 .site-footer-custom .et_pb_row_3_tb_footer .et_pb_image img,
  body.page-id-112 .site-footer-custom .et_pb_row_3_tb_footer .et_pb_image img,
  body.page-id-83 .site-footer-custom .et_pb_row_3_tb_footer .et_pb_image img {
    max-width: 100% !important;
    max-height: 40px !important;
  }
}

/* Product detail — Eva tasks #36, #38, #39, Jun 25 tabs/resources */
.single-product-layout .product-description-card,
.single-product-layout .product-section-card.product-description-card {
  width: 100%;
  max-width: 100%;
}

.single-product-buy-col .et_pb_blurb_0_tb_body,
.single-product-buy-col .henrich-product-warranty-fallback,
.single-product-buy-col .henrich-product-warranty-item {
  display: flex !important;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}

.single-product-buy-col .et_pb_blurb_0_tb_body .et_pb_main_blurb_image img,
.single-product-buy-col .henrich-product-warranty-icon {
  width: 48px !important;
  height: 48px !important;
  max-width: 48px !important;
  object-fit: contain;
}

.single-product-buy-col .et_pb_blurb_0_tb_body .et_pb_module_header,
.single-product-buy-col .henrich-product-warranty-item h4 {
  margin: 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #111 !important;
}

.single-product-buy-col .et_pb_text_0_tb_body,
.single-product-buy-col .henrich-product-support-copy {
  margin-top: 18px;
}

.single-product-buy-col .et_pb_text_0_tb_body h5,
.single-product-buy-col .henrich-product-support-copy h5 {
  margin: 0 0 8px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #111 !important;
}

.single-product-buy-col .henrich-product-support-copy p,
.single-product-buy-col .et_pb_text_0_tb_body p {
  margin: 0 0 12px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: #333 !important;
}

.single-product-buy-col .henrich-product-warranty-fallback .henrich-product-support-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 10px;
  padding: 12px 16px;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
  background: #f7f7f7;
  color: #111;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  box-sizing: border-box;
}

.single-product-layout .product-specifications-content > table > tbody > tr > td:nth-child(n + 2),
.single-product-layout
  .product-specifications-content
  > table
  > tbody
  > tr:has(> td:nth-child(3):last-child)
  > td,
.single-product-layout .product-specifications-content > table > tbody > tr > td:only-child {
  text-align: left !important;
  padding-left: 20px !important;
  vertical-align: top;
}

.single-product-layout .product-models-table td:nth-child(2) {
  padding-left: 20px !important;
}

.single-product-layout .product-specifications-content > p {
  margin: 14px 0 4px !important;
  padding-left: 34px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #111 !important;
}

.single-product-layout .product-specifications-content > p:last-child {
  margin-bottom: 0 !important;
}

.single-product-layout .product-specifications-content table:last-child {
  margin-bottom: 0 !important;
}

.single-product-layout .product-specifications-content .henrich-spec-warranty-row td:first-child {
  padding-left: 34px !important;
}

.single-product-layout .product-specifications-content .henrich-spec-warranty-row td:nth-child(2) {
  padding-left: 20px !important;
}

.single-product-layout .product-models-table th:first-child,
.single-product-layout .product-models-table td:first-child {
  min-width: 140px;
}

/* =========================================================
   Buy box — LandingPageV4 mockup (card + hover states)
========================================================= */

.single-product-buy-col.henrich-buy-box-ready {
  font-family: var(--font-primary) !important;
}

.single-product-buy-col .henrich-buy-box-card {
  width: 100%;
  margin: 0 !important;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-sizing: border-box;
  font-family: var(--font-primary) !important;
}

.single-product-buy-col.henrich-buy-box-ready .et_pb_module,
.single-product-buy-col.henrich-buy-box-ready .et_pb_code,
.single-product-buy-col.henrich-buy-box-ready .et_pb_code_inner,
.single-product-buy-col.henrich-buy-box-ready .et_pb_button_module_wrapper {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.single-product-buy-col .henrich-buy-box-top {
  padding: 18px 18px 16px;
  background: #fff;
}

.single-product-buy-col .henrich-buy-box-bottom {
  padding: 16px 18px 18px;
  background: linear-gradient(135deg, #eef3f8 0%, #f8f0ea 100%);
  border-top: 1px solid #e8e8e8;
}

.single-product-buy-col .henrich-buy-box-top .et_pb_code,
.single-product-buy-col .henrich-buy-box-top .et_pb_code_inner,
.single-product-buy-col .henrich-buy-box-top #product-buy-box {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.single-product-buy-col .henrich-buy-box-top #product-buy-box .product-buy-box-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.single-product-buy-col .henrich-buy-box-top #product-buy-box .product-price {
  order: 1 !important;
  margin: 0 0 10px !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  color: #111 !important;
  font-family: var(--font-primary) !important;
}

.single-product-buy-col .henrich-buy-box-top #product-buy-box .product-price .product-price-sale,
.single-product-buy-col .henrich-buy-box-top #product-buy-box .product-price .henrich-price-sale {
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #111 !important;
}

.single-product-buy-col .henrich-buy-box-top #product-buy-box .product-price .product-price-msrp,
.single-product-buy-col .henrich-buy-box-top #product-buy-box .product-price .henrich-price-msrp {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #999 !important;
  text-decoration: line-through !important;
}

.single-product-buy-col .henrich-buy-box-top #product-buy-box .product-availability {
  order: 2 !important;
  margin: 0 0 14px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #111 !important;
  font-family: var(--font-primary) !important;
}

.single-product-buy-col .henrich-buy-box-top #product-buy-box .product-availability.in-stock,
.single-product-buy-col .henrich-buy-box-top #product-buy-box .product-availability.product-stock-combined.in-stock {
  color: #111 !important;
}

.single-product-buy-col .henrich-buy-box-top #product-buy-box .product-stock {
  display: none !important;
}

.single-product-buy-col .henrich-buy-box-top #product-buy-box .product-quantity-label {
  order: 3 !important;
  margin: 0 0 8px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #111 !important;
  font-family: var(--font-primary) !important;
}

.single-product-buy-col .henrich-buy-box-top #product-buy-box .product-quantity-input {
  order: 4 !important;
  width: 100% !important;
  height: 44px !important;
  margin: 0 0 16px !important;
  padding: 0 12px !important;
  border: 1px solid #cfcfcf !important;
  border-radius: 4px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  font-family: var(--font-primary) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.single-product-buy-col .henrich-buy-box-top .et_pb_button_module_wrapper {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  display: block !important;
}

.single-product-buy-col .henrich-buy-box-top .et_pb_button_module_wrapper:last-of-type {
  margin-bottom: 0 !important;
}

.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart,
.single-product-buy-col .henrich-buy-box-top .henrich-buy-now,
.single-product-buy-col .henrich-buy-box-top .product-quote-btn,
.single-product-buy-col .henrich-buy-box-bottom .product-call-btn,
.single-product-buy-col .henrich-buy-box-bottom .product-email-btn,
.single-product-buy-col .henrich-buy-box-bottom .henrich-product-support-btn,
.single-product-buy-col .henrich-buy-btn-inline {
  position: relative !important;
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 46px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 11px 16px !important;
  border-radius: 6px !important;
  background-image: none !important;
  font-family: var(--font-primary) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  overflow: visible !important;
  opacity: 1 !important;
  transform: none !important;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease !important;
}

.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart,
.single-product-buy-col .henrich-buy-box-top .henrich-buy-now,
.single-product-buy-col .henrich-buy-box-top .product-quote-btn {
  border: 2px solid var(--he-orange, #ff642a) !important;
  background: var(--he-orange, #ff642a) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 16px !important;
}

.single-product-buy-col .henrich-buy-btn-label {
  display: inline !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.single-product-buy-col .henrich-buy-cart-icon {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: none !important;
  mask: none !important;
  -webkit-mask: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  speak: never;
}

.single-product-buy-col .henrich-buy-cart-icon .henrich-buy-cart-svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 auto !important;
  color: #fff !important;
  fill: none !important;
  stroke: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  pointer-events: none !important;
}

/* Explicit paint — button -webkit-text-fill-color made SVG currentColor
   stroke/fill resolve invisible in WebKit/Blink. */
.single-product-buy-col .henrich-buy-cart-icon .henrich-buy-cart-svg path {
  fill: none !important;
  stroke: #fff !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: 1 !important;
}

.single-product-buy-col .henrich-buy-cart-icon .henrich-buy-cart-svg circle {
  fill: #fff !important;
  stroke: none !important;
  opacity: 1 !important;
}

/* Kill Divi icon/button pseudo glyphs that show as a white divider + square */
.single-product-buy-col .henrich-buy-cart-icon::before,
.single-product-buy-col .henrich-buy-cart-icon::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.single-product-buy-col .henrich-buy-btn-chevron {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart::before,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart::after,
.single-product-buy-col .henrich-buy-box-top .henrich-buy-now::before,
.single-product-buy-col .henrich-buy-box-top .henrich-buy-now::after,
.single-product-buy-col .henrich-buy-box-top .product-quote-btn::before,
.single-product-buy-col .henrich-buy-box-top .product-quote-btn::after,
.single-product-buy-col .henrich-buy-box-bottom .henrich-buy-btn-inline::before,
.single-product-buy-col .henrich-buy-box-bottom .henrich-buy-btn-inline::after,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:hover::before,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:hover::after,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:focus::before,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:focus::after,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:active::before,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:active::after,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:visited::before,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:visited::after {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:hover,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:focus-visible {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--he-orange, #ff642a) !important;
  -webkit-text-fill-color: var(--he-orange, #ff642a) !important;
  border-color: var(--he-orange, #ff642a) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12) !important;
  padding: 11px 16px !important;
  opacity: 1 !important;
  transform: none !important;
  letter-spacing: 0 !important;
}

.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:hover .henrich-buy-cart-icon,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:focus-visible .henrich-buy-cart-icon,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:active .henrich-buy-cart-icon {
  color: var(--he-orange, #ff642a) !important;
  -webkit-text-fill-color: var(--he-orange, #ff642a) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:hover .henrich-buy-cart-svg,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:focus-visible .henrich-buy-cart-svg,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:active .henrich-buy-cart-svg {
  color: var(--he-orange, #ff642a) !important;
  stroke: var(--he-orange, #ff642a) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:hover .henrich-buy-cart-svg path,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:focus-visible .henrich-buy-cart-svg path,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:active .henrich-buy-cart-svg path {
  stroke: var(--he-orange, #ff642a) !important;
  fill: none !important;
  opacity: 1 !important;
}

.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:hover .henrich-buy-cart-svg circle,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:focus-visible .henrich-buy-cart-svg circle,
.single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart:active .henrich-buy-cart-svg circle {
  fill: var(--he-orange, #ff642a) !important;
  stroke: none !important;
  opacity: 1 !important;
}

.single-product-buy-col .henrich-buy-box-top .henrich-buy-now:hover,
.single-product-buy-col .henrich-buy-box-top .henrich-buy-now:focus,
.single-product-buy-col .henrich-buy-box-top .henrich-buy-now:focus-visible,
.single-product-buy-col .henrich-buy-box-top .product-quote-btn:hover,
.single-product-buy-col .henrich-buy-box-top .product-quote-btn:focus,
.single-product-buy-col .henrich-buy-box-top .product-quote-btn:focus-visible {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--he-orange, #ff642a) !important;
  -webkit-text-fill-color: var(--he-orange, #ff642a) !important;
  border-color: var(--he-orange, #ff642a) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12) !important;
  padding: 11px 16px !important;
  opacity: 1 !important;
  transform: none !important;
  letter-spacing: 0 !important;
}

.single-product-buy-col .product-buy-shipping-policy {
  margin: 14px 0 0 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #333 !important;
  font-family: var(--font-primary) !important;
}

.single-product-buy-col .product-buy-shipping-policy a {
  color: #2e63c6 !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}

.single-product-buy-col .product-buy-shipping-policy a:hover {
  color: #1a4a9e !important;
}

.single-product-buy-col .henrich-buy-box-bottom .et_pb_blurb_0_tb_body,
.single-product-buy-col .henrich-buy-box-bottom .henrich-product-warranty-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

.single-product-buy-col .henrich-buy-box-bottom .et_pb_blurb_0_tb_body .et_pb_main_blurb_image img,
.single-product-buy-col .henrich-buy-box-bottom .henrich-product-warranty-icon {
  width: 40px !important;
  height: 40px !important;
  max-width: 40px !important;
  object-fit: contain !important;
}

.single-product-buy-col .henrich-buy-box-bottom .et_pb_blurb_0_tb_body .et_pb_module_header,
.single-product-buy-col .henrich-buy-box-bottom .henrich-product-warranty-item h4 {
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #111 !important;
  font-family: var(--font-primary) !important;
}

.single-product-buy-col .henrich-buy-box-bottom .et_pb_text_0_tb_body,
.single-product-buy-col .henrich-buy-box-bottom .henrich-product-support-copy {
  margin: 0 0 14px !important;
  padding: 0 !important;
}

.single-product-buy-col .henrich-buy-box-bottom .et_pb_text_0_tb_body h5,
.single-product-buy-col .henrich-buy-box-bottom .henrich-product-support-copy h5 {
  margin: 0 0 6px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #111 !important;
  font-family: var(--font-primary) !important;
}

.single-product-buy-col .henrich-buy-box-bottom .et_pb_text_0_tb_body p,
.single-product-buy-col .henrich-buy-box-bottom .henrich-product-support-copy p {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #333 !important;
  font-family: var(--font-primary) !important;
}

.single-product-buy-col .henrich-buy-box-bottom .et_pb_button_module_wrapper {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  display: block !important;
}

.single-product-buy-col .henrich-buy-box-bottom .et_pb_button_module_wrapper:last-child {
  margin-bottom: 0 !important;
}

.single-product-buy-col .henrich-buy-box-bottom .product-call-btn,
.single-product-buy-col .henrich-buy-box-bottom .product-email-btn,
.single-product-buy-col .henrich-buy-box-bottom .henrich-product-support-btn {
  border: 1px solid #d4d4d4 !important;
  background: #fff !important;
  color: var(--he-blue-dark, #003d88) !important;
  -webkit-text-fill-color: var(--he-blue-dark, #003d88) !important;
  font-size: 15px !important;
}

.single-product-buy-col .henrich-buy-box-bottom .product-call-btn:hover,
.single-product-buy-col .henrich-buy-box-bottom .product-call-btn:focus,
.single-product-buy-col .henrich-buy-box-bottom .product-call-btn:focus-visible,
.single-product-buy-col .henrich-buy-box-bottom .product-email-btn:hover,
.single-product-buy-col .henrich-buy-box-bottom .product-email-btn:focus,
.single-product-buy-col .henrich-buy-box-bottom .product-email-btn:focus-visible,
.single-product-buy-col .henrich-buy-box-bottom .henrich-product-support-btn:hover,
.single-product-buy-col .henrich-buy-box-bottom .henrich-product-support-btn:focus,
.single-product-buy-col .henrich-buy-box-bottom .henrich-product-support-btn:focus-visible {
  background: #f7f9fc !important;
  background-color: #f7f9fc !important;
  background-image: none !important;
  color: var(--he-blue-dark, #003d88) !important;
  -webkit-text-fill-color: var(--he-blue-dark, #003d88) !important;
  border-color: #b8c7da !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08) !important;
  padding: 11px 16px !important;
  opacity: 1 !important;
  transform: none !important;
  letter-spacing: 0 !important;
}

.single-product-buy-col .henrich-buy-box-bottom .product-call-btn:hover::after,
.single-product-buy-col .henrich-buy-box-bottom .product-email-btn:hover::after,
.single-product-buy-col .henrich-buy-box-bottom .henrich-product-support-btn:hover::after {
  display: none !important;
  content: none !important;
}

.single-product-buy-col .henrich-buy-box-bottom .product-call-btn:hover .henrich-buy-btn-chevron,
.single-product-buy-col .henrich-buy-box-bottom .product-email-btn:hover .henrich-buy-btn-chevron,
.single-product-buy-col .henrich-buy-box-bottom .henrich-product-support-btn:hover .henrich-buy-btn-chevron {
  color: var(--he-blue-dark, #003d88) !important;
  -webkit-text-fill-color: var(--he-blue-dark, #003d88) !important;
}

.single-product-buy-col .henrich-buy-box-bottom #henrich-product-warranty-fallback {
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 980px) {
  .single-product-buy-col .henrich-buy-box-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .single-product-buy-col.henrich-buy-box-ready {
    padding: 0 !important;
    margin: 0 !important;
  }

  .single-product-buy-col.henrich-buy-box-ready #product-buy-box {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .single-product-buy-col .henrich-buy-box-top,
  .single-product-buy-col .henrich-buy-box-bottom {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Mockup buy-box buttons — override legacy mobile arrow rules */
  .single-product-buy-col .henrich-buy-box-top .et_pb_button,
  .single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart,
  .single-product-buy-col .henrich-buy-box-top .henrich-buy-now,
  .single-product-buy-col .henrich-buy-box-top .product-quote-btn,
  .single-product-buy-col .henrich-buy-box-bottom .product-call-btn,
  .single-product-buy-col .henrich-buy-box-bottom .product-email-btn {
    padding: 11px 16px !important;
  }

  .single-product-buy-col .henrich-buy-box-top .et_pb_button::after,
  .single-product-buy-col .henrich-buy-box-top .henrich-add-to-cart::after,
  .single-product-buy-col .henrich-buy-box-top .henrich-buy-now::after,
  .single-product-buy-col .henrich-buy-box-top .product-quote-btn::after {
    display: none !important;
    content: none !important;
  }
}

/* =========================================================
   Jul 2026 — Frontend / layout audit (Groups 1–11)
========================================================= */

/* Group 1 — homepage hover showcase: wider container/cards */
.product-showcase {
  padding-bottom: 32px !important;
}

.why-henrich-section .et_pb_row.why-henrich-row {
  width: min(100%, 1360px);
  max-width: 1360px !important;
}

.why-henrich-row > .why-henrich-cards-col,
.why-henrich-row > .et_pb_column.why-henrich-cards-col:not(.why-henrich-video-col),
.why-henrich-row > .et_pb_column:not(.why-henrich-video-col) {
  grid-template-columns: repeat(3, minmax(168px, 1fr));
}

/* Group 2 — account dashboard tighter card spacing */
body.page-id-112 #main-content .et_pb_row.et_flex_row:not(.et_pb_row_nested) {
  gap: 2px !important;
}

body.page-id-112 #main-content .et_pb_row_nested {
  gap: 2px !important;
}

/* Group 3 — products page carousel fill + mobile list images
   Jul 17 QA: slide gap set to 2px (1px read as a faint white line) */
@media (min-width: 981px) {
  .products-mvp-track {
    gap: 2px !important;
  }

  .products-mvp-slide {
    flex: 0 0 calc((100% - 6px) / 4) !important;
  }

  .products-mvp-slide-image {
    min-height: 345px !important;
    max-width: 480px !important;
  }

  .products-mvp-slide-image img {
    min-height: 300px !important;
    max-height: 391px !important;
  }
}

@media (max-width: 767px) {
  .henrich-product-part-image,
  .henrich-product-part-image img {
    width: 140px !important;
    height: 140px !important;
    max-width: 140px !important;
    max-height: 140px !important;
    object-fit: contain !important;
  }

  .henrich-product-model {
    font-size: 16px !important;
  }

  .henrich-product-head h3,
  .henrich-product-main h3,
  .henrich-product-features h3 {
    font-size: 21px !important;
  }

  .henrich-product-link {
    font-size: 16px !important;
  }

  .henrich-product-features li,
  .henrich-product-features p,
  .henrich-product-main p {
    font-size: 18px !important;
  }
}

/* Group 4 — category pages: align content higher with sidebar */
@media (min-width: 981px) {
  body:has(#henrich-category-header) #main-content > .et_pb_section:first-of-type,
  body:has(#product-list) #main-content > .et_pb_section:first-of-type,
  body.henrich-has-product-sidebar #main-content > .et_pb_section:first-of-type {
    padding-top: 0 !important;
  }

  body:has(#henrich-category-header) #main-content .et_pb_row:not(.et_pb_row_nested),
  body:has(#product-list) #main-content .et_pb_row:not(.et_pb_row_nested),
  body.henrich-has-product-sidebar #main-content .et_pb_row:not(.et_pb_row_nested) {
    align-items: flex-start !important;
  }

  body:has(#henrich-category-header) .henrich-category-header,
  body:has(#product-list) .henrich-category-header {
    margin-top: 0 !important;
  }

  body:has(#henrich-category-header) #main-content .et_pb_column:not(.product-sidebar),
  body:has(#product-list) #main-content .et_pb_column:not(.product-sidebar) {
    padding-top: 0 !important;
  }
}

.henrich-list-view-cart {
  display: none !important;
}

/* Group 6 — solutions scenario groups + contact fix pages */
.solutions-section-2 .et_pb_row,
.solutions-section-4 .et_pb_row,
.s3-double-sided-info-card .et_pb_row {
  justify-content: center !important;
}

.solutions-section-2 .et_pb_column,
.solutions-section-4 .et_pb_column,
.s3-double-sided-info-card .et_pb_column {
  text-align: center;
}

.solutions-section-2 .et_pb_image,
.solutions-section-4 .et_pb_image,
.s3-double-sided-info-card .et_pb_image {
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 767px) {
  body.henrich-solution-contact-fix .solutions-contact-row,
  html.henrich-solution-contact-fix .solutions-contact-row,
  .solutions-contact-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    padding: 20px 16px !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.12) !important;
    overflow: visible !important;
  }

  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_text,
  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_text_inner,
  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_button_module_wrapper,
  body.henrich-solution-contact-fix .solutions-contact-row .solutions-contact-bttn,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_text,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_text_inner,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_button_module_wrapper,
  html.henrich-solution-contact-fix .solutions-contact-row .solutions-contact-bttn {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    position: relative !important;
    transform: none !important;
  }

  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_text_inner,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_text_inner {
    text-align: center !important;
  }

  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_text_inner p,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_text_inner p {
    color: #111 !important;
    margin: 0 0 8px !important;
  }

  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_image,
  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_image_wrap,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_image,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_image_wrap {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 auto 4px !important;
    text-align: center !important;
  }

  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_image img,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_image img {
    width: min(100%, 260px) !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
  }

  body.henrich-solution-contact-fix .solutions-contact-row > .et_pb_column,
  html.henrich-solution-contact-fix .solutions-contact-row > .et_pb_column {
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
    flex: 0 0 auto !important;
    flex-basis: auto !important;
  }
}

/* Group 6b — Jul 17 QA: solutions contact/CTA card above phone widths.
   The Divi row pairs a 12/24 image column with a 24/24 text column
   (over 100%), so at ≥768px the section wrapped/clipped. Lay it out as
   one clean card: image left, text + Contact Us button right. */
@media (min-width: 768px) {
  body.henrich-solution-contact-fix .solutions-contact-row,
  html.henrich-solution-contact-fix .solutions-contact-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 24px 28px !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.12) !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.henrich-solution-contact-fix .solutions-contact-row > .et_pb_column:first-child,
  html.henrich-solution-contact-fix .solutions-contact-row > .et_pb_column:first-child {
    flex: 0 0 auto !important;
    width: min(280px, 34%) !important;
    max-width: min(280px, 34%) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.henrich-solution-contact-fix .solutions-contact-row > .et_pb_column:last-child,
  html.henrich-solution-contact-fix .solutions-contact-row > .et_pb_column:last-child {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_image,
  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_image_wrap,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_image,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_image_wrap {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
  }

  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_image img,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_image img {
    width: 100% !important;
    max-width: 260px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
  }

  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_text,
  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_text_inner,
  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_button_module_wrapper,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_text,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_text_inner,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_button_module_wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    position: relative !important;
    transform: none !important;
  }

  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_text_inner h4,
  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_text_inner h5,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_text_inner h4,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_text_inner h5 {
    color: #111 !important;
  }

  body.henrich-solution-contact-fix .solutions-contact-row .et_pb_button_module_wrapper,
  html.henrich-solution-contact-fix .solutions-contact-row .et_pb_button_module_wrapper {
    margin: 14px 0 0 !important;
    width: auto !important;
  }

  body.henrich-solution-contact-fix .solutions-contact-row .solutions-contact-bttn,
  html.henrich-solution-contact-fix .solutions-contact-row .solutions-contact-bttn {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }
}

/* Group 10 — unused squeeze zone (desktop header now switches off at ≤1366px) */
@media only screen and (min-width: 1367px) and (max-width: 1440px) {
  .henrich-header-top > .henrich-logo-col,
  .henrich-header-top > .et_pb_column.henrich-logo-col {
    position: relative !important;
    z-index: 3 !important;
    flex: 0 0 auto !important;
    max-width: 200px !important;
  }

  .henrich-header-top > .henrich-search-col,
  .henrich-header-top > .et_pb_column.henrich-search-col {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: min(380px, 40vw) !important;
    min-width: 0 !important;
    margin-left: auto !important;
  }

  .henrich-logo-col img {
    max-width: 180px !important;
  }
}

/* Group 11 — desktop accreditation logo white boxes */
@media only screen and (min-width: 981px) {
  .et_pb_section_0_tb_footer .et_pb_row_5_tb_footer > .et_pb_column .et_pb_image_wrap,
  .site-footer-custom .accreditations-row-slider-mobile > .et_pb_column .et_pb_image_wrap {
    background: #fff !important;
    border-radius: 6px !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 72px !important;
    box-sizing: border-box !important;
  }

  .et_pb_section_0_tb_footer .et_pb_row_5_tb_footer > .et_pb_column .et_pb_image img,
  .site-footer-custom .accreditations-row-slider-mobile > .et_pb_column .et_pb_image img {
    display: block !important;
    margin: 0 auto !important;
  }
}


/* =========================================================
   Header responsive switch — desktop ↔ mobile
   Breakpoint: 1366px (common small-laptop width).
   Hide desktop header section; show mobile header chrome.
   Also force Divi menu module into hamburger mode (Divi only
   does .et-menu → .et_mobile_nav_menu at ≤980 by default).
========================================================= */

@media only screen and (max-width: 1366px) {
  html body .henrich-header.et_pb_section,
  html body .et_pb_section_0_tb_header.henrich-header.et_pb_section,
  html body .et_pb_section_0_tb_header,
  html body #et-boc .et_pb_section_0_tb_header,
  html body.et-db #et-boc .et-l--header .et_pb_section_0_tb_header {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }

  html body .henrich-mobile-header.et_pb_section,
  html body .et_pb_section_1_tb_header.henrich-mobile-header.et_pb_section,
  html body .et_pb_section_1_tb_header,
  html body #et-boc .et_pb_section_1_tb_header,
  html body.et-db #et-boc .et-l--header .et_pb_section_1_tb_header {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  /* Mobile header must NOT show desktop-style stacked nav links */
  html body .henrich-mobile-menu .et_pb_menu__menu,
  html body .henrich-mobile-menu .et-menu-nav,
  html body .henrich-mobile-menu .et-menu,
  html body .henrich-mobile-menu #menu-main-navigation-1 {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  html body .henrich-mobile-menu .et_mobile_nav_menu,
  html body .henrich-mobile-menu .mobile_nav {
    display: flex !important;
    visibility: visible !important;
    float: none !important;
    margin: 0 !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body .henrich-mobile-menu .mobile_menu_bar {
    display: flex !important;
    visibility: visible !important;
  }

  /* Search = icon only (form opens via overlay JS) */
  html body .henrich-mobile-search .et_pb_searchform,
  html body .henrich-mobile-search input.et_pb_s,
  html body .henrich-mobile-search input.et_pb_searchsubmit {
    display: none !important;
  }
}

/* Beat Divi TB rule: @media (min-width:981px) { section_1 { display:none } } */
@media only screen and (min-width: 981px) and (max-width: 1366px) {
  html body .et_pb_section_1_tb_header,
  html body #et-boc .et_pb_section_1_tb_header,
  html body .henrich-mobile-header.et_pb_section,
  html body.et-db #et-boc .et-l--header .et_pb_section_1_tb_header {
    display: block !important;
    visibility: visible !important;
  }

  html body .et_pb_section_0_tb_header,
  html body #et-boc .et_pb_section_0_tb_header,
  html body .henrich-header.et_pb_section,
  html body.et-db #et-boc .et-l--header .et_pb_section_0_tb_header {
    display: none !important;
    visibility: hidden !important;
  }

  html body .henrich-mobile-menu .et_pb_menu__menu,
  html body .henrich-mobile-menu .et-menu {
    display: none !important;
  }

  html body .henrich-mobile-menu .et_mobile_nav_menu,
  html body .henrich-mobile-menu .mobile_nav {
    display: flex !important;
  }
}

@media only screen and (min-width: 1367px) {
  html body .henrich-mobile-header.et_pb_section,
  html body .et_pb_section_1_tb_header.henrich-mobile-header.et_pb_section,
  html body .et_pb_section_1_tb_header,
  html body #et-boc .et_pb_section_1_tb_header {
    display: none !important;
    visibility: hidden !important;
  }

  html body .henrich-header.et_pb_section,
  html body .et_pb_section_0_tb_header.henrich-header.et_pb_section,
  html body #et-boc .et_pb_section_0_tb_header.henrich-header {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }
}

/* =========================================================
   /order-summary/ — Jul 17 visual QA rework + Jul 20 mobile QA
   Divi page column is et_flex_column_12_24 (≈50%), which
   squished the summary. Force full content width. Layout/CSS
   only — totals / tax / shipping / checkout math are untouched.
========================================================= */

body:has(#henrich-order-summary) #main-content .et_pb_section,
body:has(#henrich-order-summary) #main-content .et_pb_row,
body:has(#henrich-order-summary) #main-content .et_pb_column,
body:has(#henrich-order-summary) #main-content .et_pb_code,
body:has(#henrich-order-summary) #main-content .et_pb_code_inner,
body:has(#henrich-order-summary) #henrich-order-summary {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body:has(#henrich-order-summary) #main-content .et_pb_row {
  display: flex !important;
  flex-wrap: nowrap !important;
}

body:has(#henrich-order-summary) #main-content .et_pb_column,
body:has(#henrich-order-summary) #main-content .et_pb_column[class*="et_flex_column"] {
  flex: 1 1 100% !important;
  flex-basis: 100% !important;
  flex-grow: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

body:has(#henrich-order-summary) #main-content .et_pb_section {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

@media (max-width: 980px) {
  body:has(#henrich-order-summary) #main-content .et_pb_section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body:has(#henrich-order-summary) #henrich-order-summary,
  body:has(#henrich-order-summary) .henrich-order-summary,
  body:has(#henrich-order-summary) .henrich-order-summary-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-card {
    padding: 14px 12px !important;
    overflow-x: visible !important;
  }

  /* Predision-style compact mobile table:
     keep blue header + product row; availability as full-width row below.
     Do not stack every field into a tall label list. */
  body:has(#henrich-order-summary) .henrich-order-summary-table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
    border: none !important;
    outline: none !important;
    border-collapse: collapse !important;
    font-size: 12px !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table colgroup,
  body:has(#henrich-order-summary) .henrich-order-summary-table col {
    display: none !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table thead {
    display: block !important;
    width: 100% !important;
    border: none !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table thead tr {
    display: grid !important;
    grid-template-columns: minmax(64px, 22%) minmax(0, 1fr) minmax(58px, 18%) minmax(52px, 16%) !important;
    width: 100% !important;
    background: #003d88 !important;
    box-sizing: border-box !important;
    border: none !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table thead th {
    display: block !important;
    background: #003d88 !important;
    color: #fff !important;
    padding: 8px 6px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    border: none !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table thead th.col-thumb,
  body:has(#henrich-order-summary) .henrich-order-summary-table thead th.col-availability {
    display: none !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table thead th.col-total {
    text-align: right !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table tbody {
    display: block !important;
    width: 100% !important;
    border: none !important;
    outline: none !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table tbody tr {
    display: grid !important;
    grid-template-columns: minmax(64px, 22%) minmax(0, 1fr) minmax(58px, 18%) minmax(52px, 16%) !important;
    grid-template-areas:
      "thumb spec price total"
      "part spec price total"
      "avail avail avail avail" !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    border: none !important;
    border-bottom: 1px solid #e8e8e8 !important;
    padding: 10px 0 8px !important;
    margin: 0 !important;
    align-items: start !important;
    column-gap: 6px !important;
    row-gap: 4px !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table tbody tr:last-child {
    border-bottom: none !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table td {
    display: block !important;
    border: none !important;
    border-left: none !important;
    border-right: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  /* Remove stacked field labels from the prior overcorrection */
  body:has(#henrich-order-summary) .henrich-order-summary-table td::before {
    content: none !important;
    display: none !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table td.col-thumb {
    grid-area: thumb !important;
    width: 100% !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table td.col-part {
    grid-area: part !important;
    width: 100% !important;
    padding-top: 2px !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table td.col-spec {
    grid-area: spec !important;
    width: 100% !important;
    padding: 0 2px !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table td.col-price {
    grid-area: price !important;
    width: 100% !important;
    text-align: left !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table td.col-total {
    grid-area: total !important;
    width: 100% !important;
    text-align: right !important;
    padding-right: 2px !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-table td.col-availability {
    grid-area: avail !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 8px !important;
    padding-top: 8px !important;
    border-top: 1px solid #ececec !important;
    text-align: right !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-thumb {
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-thumb-box {
    width: 52px !important;
    height: 52px !important;
    margin: 0 !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-part,
  body:has(#henrich-order-summary) .henrich-order-summary-part a {
    font-size: 12px !important;
    line-height: 1.3 !important;
    max-width: none !important;
    white-space: normal !important;
    overflow: visible !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-spec,
  body:has(#henrich-order-summary) .henrich-order-summary-spec-list {
    font-size: 11px !important;
    line-height: 1.35 !important;
    color: #666 !important;
    max-width: none !important;
    white-space: normal !important;
    overflow: visible !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-spec-list {
    padding-left: 14px !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-spec-more {
    font-size: 10px !important;
    margin-top: 2px !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-unit-price,
  body:has(#henrich-order-summary) .henrich-order-summary-line-total {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-list-price {
    font-size: 10px !important;
    margin-top: 2px !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-availability {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-backorder-date {
    margin-top: 2px !important;
    font-size: 11px !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-totals {
    text-align: left !important;
    width: 100% !important;
    padding-right: 0 !important;
    margin-top: 14px !important;
  }
}

@media (max-width: 768px) {
  body:has(#henrich-order-summary) #main-content .et_pb_section {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-card {
    padding: 14px 12px !important;
  }

  body:has(#henrich-order-summary) .henrich-order-summary-head h2 {
    font-size: 22px !important;
  }
}

/* Product detail — blue connector spine + first-line-centered dash */
.single-product-layout .product-models-section .product-models-table td:first-child::before,
.single-product-layout .product-spec-table th::before,
.single-product-layout .product-specifications-content > table > tbody > tr > td:first-child:not(:only-child)::before,
.single-product-layout .product-specifications-content > table > thead > tr > th:first-child:not(:only-child)::before,
.spec-label::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 1px !important;
  background: #2e63c6 !important;
}

.single-product-layout .product-models-section .product-models-table td:first-child,
.single-product-layout .product-spec-table th,
.single-product-layout .product-specifications-content > table > tbody > tr > td:first-child:not(:only-child),
.single-product-layout .product-specifications-content > table > thead > tr > th:first-child:not(:only-child),
.spec-label {
  position: relative !important;
}

/* Final dash alignment override — first line optical center in all PDP blue-line areas */
.product-intro-list li::after,
.product-intro-rich li::after,
.single-product-layout #product-summary .product-spec-table.product-intro-table td::after,
.single-product-layout .product-spec-table th::after,
.product-spec-table th::after,
.single-product-layout
  .product-specifications-content
  > table
  > tbody
  > tr:not(:has(> td:nth-child(3):last-child))
  > td:first-child:not(:only-child)::after,
.single-product-layout
  .product-specifications-content
  > table
  > thead
  > tr:not(:has(> td:nth-child(3):last-child))
  > td:first-child:not(:only-child)::after,
.single-product-layout
  .product-specifications-content
  > table
  > thead
  > tr
  > th:first-child:not(:only-child)::after,
.single-product-layout .product-models-section .product-models-table td:first-child::after,
.spec-label::after {
  top: calc(var(--henrich-blue-pad-y, var(--henrich-intro-pad-y, 10px)) + 0.5em - 0.5px) !important;
  transform: none !important;
  margin-top: 0 !important;
}

/* Product summary intro only. DevTools trace: the visible branch is li::after.
   The prior 18px computed top moved only 3.5px from the generic 14.5px rule,
   which was not enough for this rendered intro typography. Move it a visible
   10px farther down; keep Specifications and Models on their separate rules. */
#product-summary .product-intro-list li::after,
#product-summary .product-intro-rich li::after,
.product-summary-card .product-intro-list li::after,
.product-summary-card .product-intro-rich li::after {
  top: 28px !important;
  transform: none !important;
  margin-top: 0 !important;
}

#product-summary .product-intro-list::before,
#product-summary .product-intro-rich ul::before,
#product-summary .product-intro-rich ol::before,
.product-summary-card .product-intro-list::before,
.product-summary-card .product-intro-rich ul::before,
.product-summary-card .product-intro-rich ol::before {
  top: 28px !important;
  bottom: 28px !important;
}

