/* Hechtgarten hybrid design: NOVA mobile behavior stays original. Navigation styling is desktop-only. */
:root {
  --primary:#4a9f32;
  --brand-primary:#4a9f32;
  --brand-primary-dark:#2f751e;
  --brand-primary-soft:#b8dda5;
  --brand-ink:#20242a;
  --brand-muted:#68707a;
  --brand-white:#ffffff;
  --brand-line:#e1e5ea;
  --brand-topbar:#e40613;
  --brand-header:#ffffff;
  --brand-menu:#e40613;
  --brand-footer:#20242a;
}

a{color:var(--brand-primary-dark)}
a:hover,a:focus{color:var(--brand-primary)}
.btn-primary,.badge-primary,.custom-control-input:checked~.custom-control-label::before{color:#fff!important;background-color:var(--brand-primary)!important;border-color:var(--brand-primary)!important}
.btn-primary:hover,.btn-primary:focus,.show>.btn-primary.dropdown-toggle,.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active{color:#fff!important;background-color:var(--brand-primary-dark)!important;border-color:var(--brand-primary-dark)!important}
.btn-outline-primary{color:var(--brand-primary)!important;border-color:var(--brand-primary)!important}
.btn-outline-primary:hover,.btn-outline-primary:focus{color:#fff!important;background-color:var(--brand-primary)!important;border-color:var(--brand-primary)!important}
.border-primary{border-color:var(--brand-primary)!important}.text-primary{color:var(--brand-primary)!important}.bg-primary{background-color:var(--brand-primary)!important}

body{color:var(--brand-ink);background:#fff}
.card,.productbox,.box,.modal-content{border-radius:.35rem;border-color:var(--brand-line)}
.productbox{box-shadow:0 8px 22px rgba(0,0,0,.06)}
.price,.productbox-price{color:var(--brand-primary-dark);font-weight:700}
.breadcrumb a,.breadcrumb-item a{color:var(--brand-primary-dark)}

#header-top-bar{color:#fff!important;background:var(--brand-topbar)!important;border-bottom:3px solid var(--brand-topbar)!important}
#header-top-bar a,#header-top-bar button,#header-top-bar .nav-link,#header-top-bar .dropdown-toggle,#header-top-bar .navbar-text,#header-top-bar span,#header-top-bar strong,#header-top-bar i,#header-top-bar svg{color:#fff!important;fill:#fff!important;stroke:#fff!important}
#header-top-bar a:hover,#header-top-bar a:focus,#header-top-bar button:hover,#header-top-bar button:focus,#header-top-bar .nav-link:hover,#header-top-bar .nav-link:focus{color:#fff!important;background:rgba(255,255,255,.14)!important;text-decoration:none!important}

footer,#footer,.footer{color:#fff!important;background:var(--brand-footer)!important;border-top:4px solid var(--brand-primary)!important}
footer a,#footer a,.footer a,footer .nav-link,#footer .nav-link,.footer .nav-link,footer p,#footer p,.footer p,footer li,#footer li,.footer li,footer span,#footer span,.footer span,footer h1,footer h2,footer h3,footer h4,footer h5,footer h6,#footer h1,#footer h2,#footer h3,#footer h4,#footer h5,#footer h6{color:#fff!important}
footer a:hover,#footer a:hover,.footer a:hover,footer .nav-link:hover,#footer .nav-link:hover,.footer .nav-link:hover{color:var(--brand-primary-soft)!important}
footer .card,#footer .card,.footer .card,footer .box,#footer .box,.footer .box{color:#fff!important;background:transparent!important;border-color:rgba(255,255,255,.18)!important}
footer #system-credits,#footer #system-credits,.footer #system-credits{color:rgba(255,255,255,.72)!important;background:transparent!important;border:0!important;box-shadow:none!important}
footer #system-credits a,#footer #system-credits a,.footer #system-credits a{color:rgba(255,255,255,.88)!important}

@media (min-width: 992px) {
  header,.navbar,.navbar-collapse{background-color:var(--brand-header)}
  header .navbar{min-height:74px}
  header .navbar-brand img{max-height:72px;width:auto}
  header #mainNavigation{background:transparent;min-height:44px!important;height:44px!important;display:flex!important;flex:0 0 100%!important;width:100%!important;position:relative;z-index:2}
  header #mainNavigation .nav-scrollbar-inner,header #mainNavigation .navbar-nav{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;width:100%!important;align-items:center!important;justify-content:center!important;min-height:44px!important;height:44px!important;background:var(--brand-menu)}
  header #mainNavigation .nav-link{display:inline-flex!important;align-items:center!important;min-height:0!important;padding:.32rem .9rem!important;line-height:1.15;color:#fff!important;font-weight:700;border-radius:0;background:transparent!important;text-transform:none;white-space:normal!important}
  header #mainNavigation .nav-link:hover,header #mainNavigation .nav-link:focus,header #mainNavigation .active>.nav-link{color:#fff!important;background:rgba(255,255,255,.16)!important}
  header #mainNavigation .navbar-nav>.nav-item>.nav-link::before{border-color:var(--brand-primary)!important}
  header #mainNavigation .dropdown:hover>.dropdown-menu,header #mainNavigation .dropdown:focus-within>.dropdown-menu{display:block;opacity:1;visibility:visible;pointer-events:auto}
  header #mainNavigation .dropdown-menu{top:100%;box-shadow:0 14px 30px rgba(0,0,0,.14);border:1px solid var(--brand-line);background:#fff!important;color:var(--brand-ink)!important}
  header #mainNavigation .dropdown-menu a,header #mainNavigation .dropdown-menu .nav-link,header #mainNavigation .dropdown-menu .categories-recursive-link,header #mainNavigation .dropdown-menu .submenu-headline,header #mainNavigation .dropdown-menu .text-truncate{color:var(--brand-ink)!important;background:transparent!important;opacity:1!important;visibility:visible!important}
  header #mainNavigation .dropdown-menu a:hover,header #mainNavigation .dropdown-menu a:focus,header #mainNavigation .dropdown-menu .categories-recursive-link:hover,header #mainNavigation .dropdown-menu .categories-recursive-link:focus{color:var(--brand-primary)!important;background:var(--brand-primary-soft)!important}
  header #mainNavigation .dropdown-menu img,header #mainNavigation .dropdown-menu .submenu-headline-image{display:block!important;opacity:1!important;visibility:visible!important}
}

#sidepanel_left .box-categories,#sidepanel_left .box-categories .nav,#sidepanel_left .box-categories .nav-item,#sidepanel_left .box-categories .collapse,#sidepanel_left .box-categories .snippets-categories-collapse{color:var(--brand-ink)!important;background:#fff!important}
#sidepanel_left .box-categories a,#sidepanel_left .box-categories button,#sidepanel_left .box-categories .nav-link,#sidepanel_left .box-categories [data-toggle="collapse"]{color:var(--brand-ink)!important;background:#fff!important}
#sidepanel_left .box-categories a:hover,#sidepanel_left .box-categories a:focus,#sidepanel_left .box-categories .nav-link:hover,#sidepanel_left .box-categories .nav-link:focus,#sidepanel_left .box-categories .active>a,#sidepanel_left .box-categories .active>.nav-link,#sidepanel_left .box-categories [aria-expanded="true"]{color:var(--brand-primary)!important;background:var(--brand-primary-soft)!important}

.hg-whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:1090;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 14px;border-radius:999px;color:#fff!important;background:#25d366!important;border:0;box-shadow:0 8px 24px rgba(0,0,0,.22);font-weight:700;text-decoration:none!important;line-height:1.1}.hg-whatsapp-float:hover,.hg-whatsapp-float:focus{color:#fff!important;background:#1ebe5d!important;text-decoration:none!important;box-shadow:0 12px 30px rgba(0,0,0,.3);transform:translateY(-1px)}.hg-whatsapp-float i{color:#fff!important;font-size:1.45rem;line-height:1}.hg-whatsapp-float span{color:#fff!important;font-size:.95rem}@media(max-width:575.98px){.hg-whatsapp-float{right:12px;bottom:12px;min-height:42px;padding:9px 12px;font-size:.875rem}.hg-whatsapp-float span{display:none}}

/* Mobile search visibility: keep NOVA logic, but make the existing search input look like a real field. */
@media (max-width: 991.98px) {
  header.full-width-mega.sticky-top .main-search-wrapper,
  header .main-search-wrapper,
  header #search,
  header #search .search-wrapper,
  .search-form-wrapper-fixed,
  .search-form-wrapper-fixed .search-wrapper {
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    max-width:100%!important;
    flex:0 0 100%!important;
    clear:both!important;
    background:#fff!important;
  }

  header.full-width-mega.sticky-top .main-search-wrapper,
  header .main-search-wrapper {
    order:30!important;
    padding:.35rem .75rem .65rem!important;
  }

  header #search form,
  header #search .form-icon,
  header #search .input-group,
  .search-form-wrapper-fixed form,
  .search-form-wrapper-fixed .form-icon,
  .search-form-wrapper-fixed .input-group,
  header .main-search,
  .search-form-wrapper-fixed .main-search {
    display:flex!important;
    align-items:stretch!important;
    width:100%!important;
    min-height:44px!important;
    margin:0!important;
    opacity:1!important;
    visibility:visible!important;
  }

  header #search .twitter-typeahead,
  .search-form-wrapper-fixed .twitter-typeahead {
    display:block!important;
    flex:1 1 auto!important;
    width:1%!important;
    min-width:0!important;
  }

  header #search input.form-control,
  header #search input.ac_input,
  header #search input[name="qs"],
  header #search-header,
  .search-form-wrapper-fixed input.form-control,
  .search-form-wrapper-fixed input.ac_input,
  .search-form-wrapper-fixed input[name="qs"] {
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    height:44px!important;
    padding:.55rem .85rem!important;
    color:var(--brand-ink)!important;
    background:#fff!important;
    border:1px solid var(--brand-line)!important;
    border-right:0!important;
    border-radius:.25rem 0 0 .25rem!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
  }

  header #search .input-group-append,
  .search-form-wrapper-fixed .input-group-append {
    display:flex!important;
    margin-left:0!important;
  }

  header #search button[type="submit"],
  .search-form-wrapper-fixed button[type="submit"] {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:48px!important;
    min-height:44px!important;
    height:44px!important;
    color:#fff!important;
    background:var(--brand-primary)!important;
    border:1px solid var(--brand-primary)!important;
    border-radius:0 .25rem .25rem 0!important;
    opacity:1!important;
    visibility:visible!important;
  }

  header #search button[type="submit"] i,
  header #search button[type="submit"] span,
  .search-form-wrapper-fixed button[type="submit"] i,
  .search-form-wrapper-fixed button[type="submit"] span {
    color:#fff!important;
  }
}

/* Header icon buttons next to search: keep original/grey normally, turn Hecht red on hover only. */
header .nav-icons .nav-link:hover,
header .nav-icons .nav-link:focus,
header .nav-icons .btn:hover,
header .nav-icons .btn:focus,
header .navbar-nav-icons .nav-link:hover,
header .navbar-nav-icons .nav-link:focus,
header .navbar-nav-icons .btn:hover,
header .navbar-nav-icons .btn:focus,
header [data-toggle="basket-items"]:hover,
header [data-toggle="basket-items"]:focus {
  color:#fff!important;
  background:var(--brand-topbar)!important;
  border-color:var(--brand-topbar)!important;
}
header .nav-icons .nav-link:hover i,
header .nav-icons .nav-link:focus i,
header .nav-icons .nav-link:hover svg,
header .nav-icons .nav-link:focus svg,
header .navbar-nav-icons .nav-link:hover i,
header .navbar-nav-icons .nav-link:focus i,
header .navbar-nav-icons .nav-link:hover svg,
header .navbar-nav-icons .nav-link:focus svg,
header [data-toggle="basket-items"]:hover i,
header [data-toggle="basket-items"]:focus i,
header [data-toggle="basket-items"]:hover svg,
header [data-toggle="basket-items"]:focus svg {
  color:#fff!important;
  fill:#fff!important;
  stroke:#fff!important;
}

/* Left desktop category menu: use Hecht green hover. */
#sidepanel_left .box-categories a:hover,
#sidepanel_left .box-categories a:focus,
#sidepanel_left .box-categories .nav-link:hover,
#sidepanel_left .box-categories .nav-link:focus,
#sidepanel_left .box-categories .active>a,
#sidepanel_left .box-categories .active>.nav-link,
#sidepanel_left .box-categories [aria-expanded="true"] {
  color:var(--brand-primary-dark)!important;
  background:var(--brand-primary-soft)!important;
  border-color:var(--brand-primary)!important;
}




/* Topbar typography only (no vertical layout forcing). */
#header-top-bar a,
#header-top-bar button,
#header-top-bar span,
#header-top-bar strong{font-weight:700!important}

/* Desktop mega menu visibility fix: allow category images and columns to render below the red bar. */
@media (min-width: 992px) {
  header #mainNavigation.nav-scrollbar,
  header #mainNavigation .nav-scrollbar-inner,
  header #mainNavigation .navbar-nav {
    overflow:visible!important;
  }
  header #mainNavigation .navbar-nav>.nav-item {
    position:relative!important;
  }
  header #mainNavigation .navbar-nav>.nav-item.dropdown-full {
    position:static!important;
  }
  header #mainNavigation .navbar-nav>.nav-item>.dropdown-menu {
    display:none;
    top:44px!important;
    left:0!important;
    right:auto!important;
    min-width:280px;
    width:auto;
    max-width:calc(100vw - 2rem);
    max-height:calc(100vh - 140px)!important;
    overflow:auto!important;
    padding:1rem!important;
    background:#fff!important;
    color:var(--brand-ink)!important;
    border:1px solid var(--brand-line)!important;
    box-shadow:0 14px 30px rgba(0,0,0,.18)!important;
    z-index:1055!important;
  }
  header #mainNavigation .navbar-nav>.nav-item.dropdown-full>.dropdown-menu {
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
  }
  header #mainNavigation .navbar-nav>.nav-item:hover>.dropdown-menu,
  header #mainNavigation .navbar-nav>.nav-item:focus-within>.dropdown-menu {
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  header #mainNavigation .dropdown-menu .dropdown-body,
  header #mainNavigation .dropdown-menu .container,
  header #mainNavigation .dropdown-menu .subcategory-wrapper {
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    background:#fff!important;
    color:var(--brand-ink)!important;
  }
  header #mainNavigation .dropdown-menu .row,
  header #mainNavigation .dropdown-menu .nav {
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:flex-start!important;
    background:#fff!important;
    color:var(--brand-ink)!important;
  }
  header #mainNavigation .dropdown-menu .col,
  header #mainNavigation .dropdown-menu [class*=col-],
  header #mainNavigation .dropdown-menu .nav-item {
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
  }
  header #mainNavigation .dropdown-menu a,
  header #mainNavigation .dropdown-menu .categories-recursive-link,
  header #mainNavigation .dropdown-menu .submenu-headline,
  header #mainNavigation .dropdown-menu .text-truncate {
    color:var(--brand-ink)!important;
    background:transparent!important;
    opacity:1!important;
    visibility:visible!important;
    text-decoration:none!important;
  }
  header #mainNavigation .dropdown-menu a:hover,
  header #mainNavigation .dropdown-menu a:focus,
  header #mainNavigation .dropdown-menu .categories-recursive-link:hover,
  header #mainNavigation .dropdown-menu .categories-recursive-link:focus {
    color:var(--brand-primary-dark)!important;
    background:var(--brand-primary-soft)!important;
  }
  header #mainNavigation .dropdown-menu picture,
  header #mainNavigation .dropdown-menu img,
  header #mainNavigation .dropdown-menu .submenu-headline-image {
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    max-width:100%!important;
    height:auto!important;
  }
}

/* Desktop mega menu grid correction: hide mobile-only overview item and tighten category tiles. */
@media (min-width: 992px) {
  header #mainNavigation .dropdown-menu .d-lg-none {
    display:none!important;
  }
  header #mainNavigation .dropdown-menu .row,
  header #mainNavigation .dropdown-menu .nav {
    row-gap:1rem!important;
  }
  header #mainNavigation .dropdown-menu .nav-item-lg-m {
    margin-top:0!important;
    margin-bottom:1rem!important;
  }
  header #mainNavigation .dropdown-menu .submenu-headline {
    margin-bottom:0!important;
  }
  header #mainNavigation .dropdown-menu .submenu-headline-image {
    margin-bottom:.45rem!important;
    max-height:170px!important;
    object-fit:contain!important;
  }
  header #mainNavigation .dropdown-menu .text-truncate {
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    text-align:center!important;
    font-weight:600!important;
  }
}

/* Prices: use Hecht red, not green. */
.price,
.price.h1,
.price_wrapper,
.price_wrapper .price,
.productbox-price,
.productbox-price .price,
.productbox-price .price-note,
.productbox .price,
.product-detail .price,
#product-offer .price,
#product-offer .price_wrapper,
.cart-items-price,
.basket-items-price {
  color:var(--brand-topbar)!important;
}`r`n`r`n

/* Amazon Pay checkout alignment fix (desktop)
   (no vertical top shifting; keep button visible) */
@media (min-width: 992px) {
  #AmazonPayButton,
  .amazon-pay-button,
  .amazon-payments,
  .amazon-pay-wrapper,
  .amazon-pay-express {
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
    text-align: left !important;
    display: block !important;
    position: relative !important;
    left: auto !important;
    top: 0 !important;
  }
  #AmazonPayButton iframe {
    position: relative !important;
    top: 0 !important;
  }
}`r`n`r`n/* Amazon Pay vertical nudge: lift slightly (no clipping) */`r`n@media (min-width: 992px) {`r`n  #AmazonPayButton,`r`n  .amazon-pay-button,`r`n  .amazon-payments,`r`n  .amazon-pay-wrapper,`r`n  .amazon-pay-express {`r`n    margin-top: 0 !important;`r`n  }`r`n}

}


/* Desktop hover survival: overlap dropdown to avoid hover gap */
@media (min-width: 992px) {
  header #mainNavigation .dropdown-menu {
    top: 100% !important;
    margin-top: -8px !important;
  }
}

/* Desktop hover keep-open: keep mega dropdown clickable while moving mouse from toggle into submenu */
@media (min-width: 992px) {
  header #mainNavigation .nav-item.dropdown-full:hover .dropdown-menu,
  header #mainNavigation .nav-item.dropdown-full:focus-within .dropdown-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}


/* Desktop hover keep-open: keep mega dropdown clickable while moving mouse from toggle into submenu */
@media (min-width: 992px) {
  header #mainNavigation .nav-item.dropdown-full:hover .dropdown-menu,
  header #mainNavigation .nav-item.dropdown-full:focus-within .dropdown-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}


/* Desktop main navigation hardening: keep computer menu links visible on the red bar without touching NOVA mobile offcanvas. */
@media (min-width: 992px) {
  header .menu-center-center,
  header .menu-multiple-rows-scroll,
  header nav[aria-label="#global.categoryNavigation#"],
  header nav[aria-label="Kategorienavigation"],
  header nav[role="navigation"] {
    overflow: visible !important;
  }

  header #mainNavigation.collapse,
  header #mainNavigation.navbar-collapse,
  header #mainNavigation.nav-scrollbar {
    display: flex !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    min-height: 44px !important;
    height: 44px !important;
    overflow: visible !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  header #mainNavigation .nav-mobile-header {
    display: none !important;
  }

  header #mainNavigation .nav-mobile-body,
  header #mainNavigation .nav-scrollbar-inner,
  header #mainNavigation .navbar-nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: var(--brand-menu) !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  header #mainNavigation .navbar-nav > .nav-item,
  header #mainNavigation .nav-scrollbar-inner > .nav-item {
    display: block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    height: 44px !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  header #mainNavigation .navbar-nav > .nav-item > .nav-link,
  header #mainNavigation .nav-scrollbar-inner > .nav-item > .nav-link,
  header #mainNavigation .navbar-nav > .nav-item > a,
  header #mainNavigation .nav-scrollbar-inner > .nav-item > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: .28rem .9rem !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  header #mainNavigation .navbar-nav > .nav-item > .nav-link .nav-mobile-heading,
  header #mainNavigation .nav-scrollbar-inner > .nav-item > .nav-link .nav-mobile-heading,
  header #mainNavigation .navbar-nav > .nav-item > a .nav-mobile-heading,
  header #mainNavigation .nav-scrollbar-inner > .nav-item > a .nav-mobile-heading {
    display: inline !important;
    color: inherit !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  header #mainNavigation .navbar-nav > .nav-item:hover > .nav-link,
  header #mainNavigation .navbar-nav > .nav-item:focus-within > .nav-link,
  header #mainNavigation .nav-scrollbar-inner > .nav-item:hover > .nav-link,
  header #mainNavigation .nav-scrollbar-inner > .nav-item:focus-within > .nav-link {
    color: #fff !important;
    background: rgba(255,255,255,.16) !important;
  }

  header #mainNavigation .dropdown-menu {
    z-index: 1050 !important;
  }
}


/* Mobile search final inline layout: input and submit button must stay in one real search bar. */
@media (max-width: 991.98px) {
  header #search .input-group,
  .search-form-wrapper-fixed .input-group,
  header .main-search .input-group {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    min-height: 44px !important;
  }

  header #search .twitter-typeahead,
  .search-form-wrapper-fixed .twitter-typeahead,
  header .main-search .twitter-typeahead,
  header #search input.form-control,
  header #search input.ac_input,
  header #search input[name="qs"],
  .search-form-wrapper-fixed input.form-control,
  .search-form-wrapper-fixed input.ac_input,
  .search-form-wrapper-fixed input[name="qs"],
  header .main-search input.form-control,
  header .main-search input.ac_input,
  header .main-search input[name="qs"] {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  header #search .input-group-append,
  .search-form-wrapper-fixed .input-group-append,
  header .main-search .input-group-append {
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin-left: 0 !important;
  }

  header #search button[type="submit"],
  .search-form-wrapper-fixed button[type="submit"],
  header .main-search button[type="submit"] {
    display: inline-flex !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
  }
}


/* Mobile search button fit: reserve fixed space for the 48px submit button so it cannot be pushed off-screen. */
@media (max-width: 991.98px) {
  header .main-search-wrapper,
  header #search,
  header #search .search-wrapper,
  header #search form,
  header #search .form-icon,
  .search-form-wrapper-fixed,
  .search-form-wrapper-fixed .search-wrapper,
  .search-form-wrapper-fixed form,
  .search-form-wrapper-fixed .form-icon {
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  header #search .input-group,
  .search-form-wrapper-fixed .input-group,
  header .main-search .input-group {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  header #search input.form-control,
  header #search input.ac_input,
  header #search input[name="qs"],
  .search-form-wrapper-fixed input.form-control,
  .search-form-wrapper-fixed input.ac_input,
  .search-form-wrapper-fixed input[name="qs"],
  header .main-search input.form-control,
  header .main-search input.ac_input,
  header .main-search input[name="qs"] {
    flex: 0 1 calc(100% - 48px) !important;
    width: calc(100% - 48px) !important;
    max-width: calc(100% - 48px) !important;
    box-sizing: border-box !important;
  }

  header #search .input-group-append,
  .search-form-wrapper-fixed .input-group-append,
  header .main-search .input-group-append {
    flex: 0 0 48px !important;
    width: 48px !important;
    max-width: 48px !important;
  }
}


/* Mobile search absolute submit: pin the search button inside the right edge of the input group. */
@media (max-width: 991.98px) {
  header #search .input-group,
  .search-form-wrapper-fixed .input-group,
  header .main-search .input-group {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    overflow: visible !important;
  }

  header #search input.form-control,
  header #search input.ac_input,
  header #search input[name="qs"],
  .search-form-wrapper-fixed input.form-control,
  .search-form-wrapper-fixed input.ac_input,
  .search-form-wrapper-fixed input[name="qs"],
  header .main-search input.form-control,
  header .main-search input.ac_input,
  header .main-search input[name="qs"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    padding-right: 58px !important;
    border-radius: .25rem !important;
  }

  header #search .input-group-append,
  .search-form-wrapper-fixed .input-group-append,
  header .main-search .input-group-append {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 6 !important;
    display: block !important;
    width: 48px !important;
    height: 44px !important;
    margin: 0 !important;
  }

  header #search button[type="submit"],
  .search-form-wrapper-fixed button[type="submit"],
  header .main-search button[type="submit"] {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 0 .25rem .25rem 0 !important;
    color: #fff !important;
    background: var(--brand-primary) !important;
    border: 1px solid var(--brand-primary) !important;
  }
}


/* Mobile search viewport clamp: the whole search group must fit inside the phone viewport. */
@media (max-width: 991.98px) {
  header .main-search-wrapper,
  header.full-width-mega.sticky-top .main-search-wrapper {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }

  header #search,
  header #search .search-wrapper,
  header #search form,
  header #search .form-icon,
  header #search .input-group,
  .search-form-wrapper-fixed,
  .search-form-wrapper-fixed .search-wrapper,
  .search-form-wrapper-fixed form,
  .search-form-wrapper-fixed .form-icon,
  .search-form-wrapper-fixed .input-group {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  header #search .input-group,
  .search-form-wrapper-fixed .input-group {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* Mobile search z-index: keep the submit button above the input field. */
@media (max-width: 991.98px) {
  header #search input.form-control,
  header #search input.ac_input,
  header #search input[name="qs"],
  .search-form-wrapper-fixed input.form-control,
  .search-form-wrapper-fixed input.ac_input,
  .search-form-wrapper-fixed input[name="qs"],
  header .main-search input.form-control,
  header .main-search input.ac_input,
  header .main-search input[name="qs"] {
    position: relative !important;
    z-index: 1 !important;
  }

  header #search .input-group-append,
  header #search button[type="submit"],
  .search-form-wrapper-fixed .input-group-append,
  .search-form-wrapper-fixed button[type="submit"],
  header .main-search .input-group-append,
  header .main-search button[type="submit"] {
    z-index: 20 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}


/* Mobile search visible submit fallback: keep the search button visible inside the field even when the header row overflows horizontally. */
@media (max-width: 991.98px) {
  header #search .input-group,
  .search-form-wrapper-fixed .input-group,
  header .main-search .input-group {
    position: relative !important;
    display: block !important;
  }

  header #search .input-group-append,
  .search-form-wrapper-fixed .input-group-append,
  header .main-search .input-group-append {
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    top: 0 !important;
    z-index: 30 !important;
    display: block !important;
    width: 48px !important;
    height: 44px !important;
  }

  header #search button[type="submit"],
  .search-form-wrapper-fixed button[type="submit"],
  header .main-search button[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 44px !important;
    min-width: 48px !important;
    color: #fff !important;
    background: var(--brand-primary) !important;
    border: 1px solid var(--brand-primary) !important;
    border-radius: .25rem 0 0 .25rem !important;
  }

  header #search input.form-control,
  header #search input.ac_input,
  header #search input[name="qs"],
  .search-form-wrapper-fixed input.form-control,
  .search-form-wrapper-fixed input.ac_input,
  .search-form-wrapper-fixed input[name="qs"],
  header .main-search input.form-control,
  header .main-search input.ac_input,
  header .main-search input[name="qs"] {
    padding-left: 58px !important;
    padding-right: .85rem !important;
    border-radius: .25rem !important;
  }
}


/* Mobile search icon fallback: show a real magnifying glass even if FontAwesome is not loaded yet. */
@media (max-width: 991.98px) {
  header #search button[type="submit"] span,
  .search-form-wrapper-fixed button[type="submit"] span,
  header .main-search button[type="submit"] span {
    font-size: 0 !important;
  }

  header #search button[type="submit"]::before,
  .search-form-wrapper-fixed button[type="submit"]::before,
  header .main-search button[type="submit"]::before {
    content: "Ã°Å¸â€Â" !important;
    font-family: "Segoe UI Emoji", "Apple Color Emoji", Arial, sans-serif !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    color: #fff !important;
  }
}


/* Mobile search icon: CSS-drawn magnifier, no icon font or emoji dependency. */
@media (max-width: 991.98px) {
  header #search button[type="submit"],
  .search-form-wrapper-fixed button[type="submit"],
  header .main-search button[type="submit"] {
    overflow: hidden !important;
  }

  header #search button[type="submit"]::before,
  .search-form-wrapper-fixed button[type="submit"]::before,
  header .main-search button[type="submit"]::before {
    content: "" !important;
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
    background: transparent !important;
    transform: translate(0, -1px) !important;
  }

  header #search button[type="submit"]::after,
  .search-form-wrapper-fixed button[type="submit"]::after,
  header .main-search button[type="submit"]::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    width: 9px !important;
    height: 2px !important;
    background: #fff !important;
    border-radius: 2px !important;
    transform: translate(9px, 9px) rotate(45deg) !important;
  }
}


/* Desktop support topbar nowrap: keep the 7 red-bar items on one line, no break after email. */
@media (min-width: 992px) {
  #header-top-bar,
  #header-top-bar .container,
  #header-top-bar .container-fluid {
    overflow: visible !important;
  }

  #header-top-bar .hg-support-bar {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .45rem !important;
    min-height: 32px !important;
    padding: .18rem .65rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    font-size: clamp(.68rem, .78vw, .86rem) !important;
    line-height: 1.15 !important;
  }

  #header-top-bar .hg-support-bar-left {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: .45rem !important;
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  #header-top-bar .hg-support-item,
  #header-top-bar .hg-support-link,
  #header-top-bar .hg-support-spareparts {
    display: inline-flex !important;
    flex: 0 1 auto !important;
    align-items: center !important;
    gap: .25rem !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.15 !important;
  }

  #header-top-bar .hg-support-item > span,
  #header-top-bar .hg-support-link > span,
  #header-top-bar .hg-support-spareparts > span {
    display: inline-block !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #header-top-bar .hg-support-link[href^="mailto:"] > span {
    max-width: 15rem !important;
  }

  #header-top-bar .hg-support-spareparts {
    flex: 0 0 auto !important;
    margin-left: .35rem !important;
  }
}

/* Tablet: still compact, but allow a controlled wrap before phone widths. */
@media (min-width: 768px) and (max-width: 991.98px) {
  #header-top-bar .hg-support-bar,
  #header-top-bar .hg-support-bar-left {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: .25rem .65rem !important;
  }
}


/* v1.0.80 ONLY top support banner: no desktop line break after email; do not touch main navigation. */
@media (min-width: 992px) {
  #header-top-bar .hg-support-bar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: .45rem !important;
    min-height: 30px !important;
    padding: .14rem .55rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    font-size: clamp(.64rem, .70vw, .80rem) !important;
    line-height: 1.08 !important;
  }

  #header-top-bar .hg-support-bar-left {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: .32rem !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  #header-top-bar .hg-support-item,
  #header-top-bar .hg-support-link,
  #header-top-bar .hg-support-spareparts {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: .18rem !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.08 !important;
  }

  #header-top-bar .hg-support-item > span,
  #header-top-bar .hg-support-link > span,
  #header-top-bar .hg-support-spareparts > span {
    display: inline-block !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.08 !important;
  }

  #header-top-bar .hg-support-item:nth-child(1) { flex: 0 1 7.5rem !important; }
  #header-top-bar .hg-support-item:nth-child(2) { flex: 1 1 13rem !important; }
  #header-top-bar .hg-support-item:nth-child(3) { flex: 0 1 9.5rem !important; }
  #header-top-bar .hg-support-link[href^="tel:"] { flex: 0 1 8.5rem !important; }
  #header-top-bar .hg-support-whatsapp { flex: 0 0 auto !important; padding: .08rem .32rem !important; }
  #header-top-bar .hg-support-link[href^="mailto:"] { flex: 0 1 10rem !important; }

  #header-top-bar .hg-support-spareparts {
    grid-column: 2 !important;
    flex: 0 0 auto !important;
    justify-self: end !important;
    max-width: 13rem !important;
    margin-left: 0 !important;
  }

  #header-top-bar .hg-support-bar i,
  #header-top-bar .hg-support-bar .fa,
  #header-top-bar .hg-support-bar .fas,
  #header-top-bar .hg-support-bar .fab {
    flex: 0 0 auto !important;
    font-size: .82em !important;
    line-height: 1 !important;
  }
}


/* v1.0.81 ONLY top support banner: hard cap to one desktop line; never wrap below email. Main navigation untouched. */
@media (min-width: 992px) {
  #header-top-bar {
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    overflow: hidden !important;
  }

  #header-top-bar .hg-support-bar {
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: .25rem !important;
    padding: 0 .45rem !important;
    margin: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    font-size: clamp(.56rem, .62vw, .74rem) !important;
    line-height: 1 !important;
  }

  #header-top-bar .hg-support-bar-left {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: .22rem !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 28px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  #header-top-bar .hg-support-item,
  #header-top-bar .hg-support-link,
  #header-top-bar .hg-support-spareparts {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: .12rem !important;
    min-width: 0 !important;
    height: 28px !important;
    max-height: 28px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1 !important;
  }

  #header-top-bar .hg-support-item > span,
  #header-top-bar .hg-support-link > span,
  #header-top-bar .hg-support-spareparts > span {
    display: inline-block !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1 !important;
  }

  #header-top-bar .hg-support-item:nth-child(1) { flex: 0 1 6.4rem !important; }
  #header-top-bar .hg-support-item:nth-child(2) { flex: 1 1 10rem !important; }
  #header-top-bar .hg-support-item:nth-child(3) { flex: 0 1 7.8rem !important; }
  #header-top-bar .hg-support-link[href^="tel:"] { flex: 0 1 7.8rem !important; }
  #header-top-bar .hg-support-whatsapp { flex: 0 0 auto !important; padding: 0 .2rem !important; }
  #header-top-bar .hg-support-link[href^="mailto:"] { flex: 0 1 8.2rem !important; }
  #header-top-bar .hg-support-spareparts { max-width: 10.5rem !important; }

  #header-top-bar .hg-support-bar i,
  #header-top-bar .hg-support-bar .fa,
  #header-top-bar .hg-support-bar .fas,
  #header-top-bar .hg-support-bar .fab {
    flex: 0 0 auto !important;
    font-size: .75em !important;
    line-height: 1 !important;
  }
}

/* Smaller desktop / zoomed browser: keep one line by hiding the least critical marketing phrase, not by touching the menu. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  #header-top-bar .hg-support-item:nth-child(3) {
    display: none !important;
  }

  #header-top-bar .hg-support-link[href^="mailto:"] {
    flex-basis: 7.2rem !important;
  }

  #header-top-bar .hg-support-spareparts {
    max-width: 9.5rem !important;
  }
}


/* v1.0.83 ONLY top support banner typography: make the red-bar text readable again. Main navigation untouched. */
@media (min-width: 992px) {
  #header-top-bar {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    overflow: hidden !important;
  }

  #header-top-bar .hg-support-bar {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 .75rem !important;
    column-gap: .65rem !important;
    font-size: clamp(.78rem, .78vw, .90rem) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: .005em !important;
  }

  #header-top-bar .hg-support-bar-left {
    height: 34px !important;
    gap: .55rem !important;
  }

  #header-top-bar .hg-support-item,
  #header-top-bar .hg-support-link,
  #header-top-bar .hg-support-spareparts {
    height: 34px !important;
    max-height: 34px !important;
    gap: .25rem !important;
    line-height: 1.1 !important;
  }

  #header-top-bar .hg-support-item > span,
  #header-top-bar .hg-support-link > span,
  #header-top-bar .hg-support-spareparts > span {
    line-height: 1.1 !important;
  }

  #header-top-bar .hg-support-bar i,
  #header-top-bar .hg-support-bar .fa,
  #header-top-bar .hg-support-bar .fas,
  #header-top-bar .hg-support-bar .fab {
    font-size: .95em !important;
  }

  #header-top-bar .hg-support-item:nth-child(1) { flex: 0 1 8rem !important; }
  #header-top-bar .hg-support-item:nth-child(2) { flex: 1 1 15rem !important; }
  #header-top-bar .hg-support-item:nth-child(3) { flex: 0 1 10rem !important; }
  #header-top-bar .hg-support-link[href^="tel:"] { flex: 0 1 9.5rem !important; }
  #header-top-bar .hg-support-link[href^="mailto:"] { flex: 0 1 11.5rem !important; }
  #header-top-bar .hg-support-spareparts { max-width: 13rem !important; }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  #header-top-bar .hg-support-bar {
    font-size: clamp(.72rem, .82vw, .82rem) !important;
    column-gap: .4rem !important;
  }

  #header-top-bar .hg-support-bar-left {
    gap: .35rem !important;
  }

  #header-top-bar .hg-support-item:nth-child(1) { flex-basis: 7rem !important; }
  #header-top-bar .hg-support-item:nth-child(2) { flex-basis: 12rem !important; }
  #header-top-bar .hg-support-link[href^="tel:"] { flex-basis: 8.5rem !important; }
  #header-top-bar .hg-support-link[href^="mailto:"] { flex-basis: 9rem !important; }
  #header-top-bar .hg-support-spareparts { max-width: 10.5rem !important; }
}

/* v1.0.84 mobile search de-duplication: keep NOVA's mobile search, hide the desktop/header search on phones. */
@media (max-width: 991.98px) {
  header .main-search-wrapper #search,
  header #search:has(#search-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;
  }

  header .search-form-wrapper-fixed,
  header .search-form-wrapper-fixed .main-search,
  header .search-form-wrapper-fixed #search-header-mobile-top {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* v1.0.85 mobile search viewport clamp: one visible search, no horizontal overflow. */
@media (max-width: 991.98px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  header .search-form-wrapper-fixed {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  header .search-form-wrapper-fixed .search-wrapper,
  header .search-form-wrapper-fixed form.main-search,
  header .search-form-wrapper-fixed .form-group,
  header .search-form-wrapper-fixed .input-group,
  header .search-form-wrapper-fixed .twitter-typeahead {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  header .search-form-wrapper-fixed input#search-header-mobile-top,
  header .search-form-wrapper-fixed input[name="qs"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

/* v1.0.86 top support banner text: short labels, readable text, no ellipsis clipping. Menu/search untouched. */
@media (min-width: 992px) {
  #header-top-bar,
  #header-top-bar .hg-support-bar,
  #header-top-bar .hg-support-bar-left {
    overflow: hidden !important;
  }

  #header-top-bar .hg-support-bar {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 .6rem !important;
    column-gap: .55rem !important;
    font-size: clamp(.74rem, .74vw, .86rem) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
  }

  #header-top-bar .hg-support-bar-left {
    gap: .48rem !important;
  }

  #header-top-bar .hg-support-item,
  #header-top-bar .hg-support-link,
  #header-top-bar .hg-support-spareparts,
  #header-top-bar .hg-support-item > span,
  #header-top-bar .hg-support-link > span,
  #header-top-bar .hg-support-spareparts > span {
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  #header-top-bar .hg-support-item,
  #header-top-bar .hg-support-link,
  #header-top-bar .hg-support-spareparts {
    flex: 0 0 auto !important;
  }

  #header-top-bar .hg-support-item:nth-child(2) {
    flex: 0 1 auto !important;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  #header-top-bar .hg-support-bar {
    font-size: clamp(.66rem, .72vw, .76rem) !important;
    column-gap: .28rem !important;
    padding: 0 .35rem !important;
  }

  #header-top-bar .hg-support-bar-left {
    gap: .28rem !important;
  }

  #header-top-bar .hg-support-item:nth-child(3) {
    display: none !important;
  }
}

/* v1.0.87 top support banner spacing: use full row width and prevent item collisions. Menu/search untouched. */
@media (min-width: 992px) {
  #header-top-bar > .container,
  #header-top-bar > .container-fluid,
  #header-top-bar > .container-fluid-xl,
  #header-top-bar .container,
  #header-top-bar .container-fluid {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }

  #header-top-bar .hg-support-bar {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .55rem !important;
    font-size: clamp(.70rem, .72vw, .82rem) !important;
  }

  #header-top-bar .hg-support-bar-left {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: center !important;
    gap: .55rem !important;
  }

  #header-top-bar .hg-support-item,
  #header-top-bar .hg-support-link,
  #header-top-bar .hg-support-spareparts {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  #header-top-bar .hg-support-spareparts {
    margin-left: .5rem !important;
  }
}

@media (min-width: 992px) and (max-width: 1299.98px) {
  #header-top-bar .hg-support-item:nth-child(3) {
    display: none !important;
  }

  #header-top-bar .hg-support-bar {
    font-size: clamp(.66rem, .70vw, .76rem) !important;
    gap: .35rem !important;
  }

  #header-top-bar .hg-support-bar-left {
    gap: .35rem !important;
  }
}

/* v1.0.88 top support banner priority: delivery text must not be clipped. Menu/search untouched. */
@media (min-width: 992px) {
  #header-top-bar .hg-support-bar,
  #header-top-bar .hg-support-bar-left {
    min-width: 0 !important;
  }

  #header-top-bar .hg-support-item:first-child,
  #header-top-bar .hg-support-item:first-child > span {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }
}

/* Normal notebook / zoomed desktop: keep the important shop signals, hide the long opening-hours block. */
@media (min-width: 992px) and (max-width: 1299.98px) {
  #header-top-bar .hg-support-item:nth-child(2),
  #header-top-bar .hg-support-item:nth-child(3) {
    display: none !important;
  }

  #header-top-bar .hg-support-bar {
    justify-content: space-between !important;
    gap: .5rem !important;
    padding: 0 .55rem !important;
    font-size: clamp(.72rem, .78vw, .82rem) !important;
  }

  #header-top-bar .hg-support-bar-left {
    flex: 1 1 auto !important;
    justify-content: flex-start !important;
    gap: .75rem !important;
  }

  #header-top-bar .hg-support-link,
  #header-top-bar .hg-support-spareparts {
    flex: 0 0 auto !important;
    min-width: max-content !important;
  }
}

/* Very tight desktop/large browser zoom: keep delivery + phone/WhatsApp + spare parts, drop email before clipping text. */
@media (min-width: 992px) and (max-width: 1099.98px) {
  #header-top-bar .hg-support-link[href^="mailto:"] {
    display: none !important;
  }

  #header-top-bar .hg-support-bar-left {
    gap: .6rem !important;
  }
}

/* v1.0.89 top support banner priority: support hours must stay visible. Menu/search untouched. */
@media (min-width: 992px) {
  #header-top-bar .hg-support-item:nth-child(1),
  #header-top-bar .hg-support-item:nth-child(2),
  #header-top-bar .hg-support-link[href^="tel:"],
  #header-top-bar .hg-support-spareparts {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    min-width: max-content !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  #header-top-bar .hg-support-item:nth-child(1) > span,
  #header-top-bar .hg-support-item:nth-child(2) > span,
  #header-top-bar .hg-support-link[href^="tel:"] > span,
  #header-top-bar .hg-support-spareparts > span {
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }
}

/* Notebook / zoomed desktop: show delivery + support hours + phone + spare parts; hide secondary items first. */
@media (min-width: 992px) and (max-width: 1299.98px) {
  #header-top-bar .hg-support-item:nth-child(2) {
    display: inline-flex !important;
  }

  #header-top-bar .hg-support-item:nth-child(3),
  #header-top-bar .hg-support-link[href^="mailto:"] {
    display: none !important;
  }

  #header-top-bar .hg-support-whatsapp {
    display: none !important;
  }

  #header-top-bar .hg-support-bar {
    font-size: clamp(.62rem, .68vw, .74rem) !important;
    padding: 0 .45rem !important;
    gap: .35rem !important;
    justify-content: space-between !important;
  }

  #header-top-bar .hg-support-bar-left {
    justify-content: flex-start !important;
    gap: .55rem !important;
  }

  #header-top-bar .hg-support-item,
  #header-top-bar .hg-support-link,
  #header-top-bar .hg-support-spareparts {
    gap: .16rem !important;
  }
}

/* Very tight desktop/large zoom: keep exactly the essentials in one line. */
@media (min-width: 992px) and (max-width: 1099.98px) {
  #header-top-bar .hg-support-bar {
    font-size: clamp(.58rem, .64vw, .68rem) !important;
    padding: 0 .3rem !important;
    gap: .25rem !important;
  }

  #header-top-bar .hg-support-bar-left {
    gap: .38rem !important;
  }
}

/* v1.0.90 mobile search single-row layout: one visible mobile search, button + input in one line. Topbar/menu untouched. */
@media (max-width: 991.98px) {
  header .main-search-wrapper #search,
  header #search:has(#search-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;
  }

  header .search-form-wrapper-fixed {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100vw !important;
    padding: 8px 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  header .search-form-wrapper-fixed form.main-search,
  header .search-form-wrapper-fixed .form-icon,
  header .search-form-wrapper-fixed .search-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  header .search-form-wrapper-fixed .input-group {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    grid-template-rows: 44px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    height: 44px !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  header .search-form-wrapper-fixed .twitter-typeahead,
  header .search-form-wrapper-fixed input#search-header-mobile-top,
  header .search-form-wrapper-fixed input[name="qs"] {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    z-index: 1 !important;
  }

  header .search-form-wrapper-fixed input#search-header-mobile-top,
  header .search-form-wrapper-fixed input[name="qs"] {
    padding-left: .85rem !important;
    padding-right: .85rem !important;
    border-radius: 0 .25rem .25rem 0 !important;
  }

  header .search-form-wrapper-fixed .input-group-append {
    grid-column: 1 !important;
    grid-row: 1 !important;
    position: static !important;
    display: block !important;
    width: 48px !important;
    height: 44px !important;
    margin: 0 !important;
    z-index: 2 !important;
  }

  header .search-form-wrapper-fixed button[type="submit"] {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    border-radius: .25rem 0 0 .25rem !important;
    color: #fff !important;
    background: var(--brand-primary) !important;
    border: 1px solid var(--brand-primary) !important;
  }
}

/* v1.0.91 mobile search visibility polish: make the input field visibly bordered with readable placeholder. Topbar/menu untouched. */
@media (max-width: 991.98px) {
  header .search-form-wrapper-fixed .input-group {
    border: 1px solid #d9dee6 !important;
    border-radius: .25rem !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
  }

  header .search-form-wrapper-fixed .twitter-typeahead {
    height: 44px !important;
    background: #fff !important;
  }

  header .search-form-wrapper-fixed input#search-header-mobile-top,
  header .search-form-wrapper-fixed input[name="qs"] {
    color: #20242a !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    font-size: 1rem !important;
    line-height: 44px !important;
  }

  header .search-form-wrapper-fixed input#search-header-mobile-top::placeholder,
  header .search-form-wrapper-fixed input[name="qs"]::placeholder {
    color: #525252 !important;
    opacity: 1 !important;
  }

  header .search-form-wrapper-fixed button[type="submit"] {
    border: 0 !important;
    border-right: 1px solid var(--brand-primary) !important;
  }
}

/* v1.0.92 mobile search typeahead fix: prevent tt-hint from pushing real input below the search row. Topbar/menu untouched. */
@media (max-width: 991.98px) {
  header .search-form-wrapper-fixed .twitter-typeahead {
    position: relative !important;
    display: block !important;
    height: 44px !important;
    max-height: 44px !important;
    overflow: hidden !important;
  }

  header .search-form-wrapper-fixed .twitter-typeahead input.tt-hint {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
  }

  header .search-form-wrapper-fixed .twitter-typeahead input.tt-input,
  header .search-form-wrapper-fixed input#search-header-mobile-top {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    line-height: 44px !important;
  }
}

/* v1.0.93 mobile search viewport hard clamp: search must fit the phone viewport, not the wider header row. Topbar/menu untouched. */
@media (max-width: 991.98px) {
  body,
  header,
  header .container,
  header .container-fluid,
  header .container-fluid-xl {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  header .search-form-wrapper-fixed {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 8px 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  header .search-form-wrapper-fixed .search-wrapper,
  header .search-form-wrapper-fixed form.main-search,
  header .search-form-wrapper-fixed .form-icon,
  header .search-form-wrapper-fixed .input-group {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  header .search-form-wrapper-fixed .input-group {
    grid-template-columns: 48px minmax(0, calc(100vw - 72px)) !important;
  }

  header .search-form-wrapper-fixed .twitter-typeahead,
  header .search-form-wrapper-fixed input#search-header-mobile-top,
  header .search-form-wrapper-fixed input[name="qs"] {
    width: calc(100vw - 72px) !important;
    max-width: calc(100vw - 72px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

/* v1.0.94 live mobile search fallback: if the dedicated NOVA mobile search wrapper is missing, show the normal header search as the mobile search row. Topbar/menu untouched. */
@media (max-width: 991.98px) {
  html.hecht-no-mobile-search header .main-search-wrapper,
  html:not(:has(header .search-form-wrapper-fixed input[name="qs"])) header .main-search-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    flex: 0 0 100% !important;
    order: 30 !important;
  }

  html.hecht-no-mobile-search header .main-search-wrapper #search,
  html.hecht-no-mobile-search header .main-search-wrapper .nav-item,
  html:not(:has(header .search-form-wrapper-fixed input[name="qs"])) header .main-search-wrapper #search,
  html:not(:has(header .search-form-wrapper-fixed input[name="qs"])) header .main-search-wrapper .nav-item {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  html.hecht-no-mobile-search header .main-search-wrapper form,
  html.hecht-no-mobile-search header .main-search-wrapper .input-group,
  html:not(:has(header .search-form-wrapper-fixed input[name="qs"])) header .main-search-wrapper form,
  html:not(:has(header .search-form-wrapper-fixed input[name="qs"])) header .main-search-wrapper .input-group {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0, calc(100vw - 72px)) !important;
    grid-template-rows: 44px !important;
    align-items: stretch !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border: 1px solid #d9dee6 !important;
    border-radius: .25rem !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
  }

  html.hecht-no-mobile-search header .main-search-wrapper .twitter-typeahead,
  html.hecht-no-mobile-search header .main-search-wrapper input[name="qs"],
  html.hecht-no-mobile-search header .main-search-wrapper input#search-header,
  html:not(:has(header .search-form-wrapper-fixed input[name="qs"])) header .main-search-wrapper .twitter-typeahead,
  html:not(:has(header .search-form-wrapper-fixed input[name="qs"])) header .main-search-wrapper input[name="qs"],
  html:not(:has(header .search-form-wrapper-fixed input[name="qs"])) header .main-search-wrapper input#search-header {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: relative !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: calc(100vw - 72px) !important;
    max-width: calc(100vw - 72px) !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 .85rem !important;
    color: #20242a !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    line-height: 44px !important;
    z-index: 1 !important;
  }

  html.hecht-no-mobile-search header .main-search-wrapper input.tt-hint,
  html:not(:has(header .search-form-wrapper-fixed input[name="qs"])) header .main-search-wrapper input.tt-hint {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
  }

  html.hecht-no-mobile-search header .main-search-wrapper .input-group-append,
  html:not(:has(header .search-form-wrapper-fixed input[name="qs"])) header .main-search-wrapper .input-group-append {
    grid-column: 1 !important;
    grid-row: 1 !important;
    position: static !important;
    display: block !important;
    visibility: visible !important;
    width: 48px !important;
    height: 44px !important;
    margin: 0 !important;
    z-index: 2 !important;
  }

  html.hecht-no-mobile-search header .main-search-wrapper button[type="submit"],
  html:not(:has(header .search-form-wrapper-fixed input[name="qs"])) header .main-search-wrapper button[type="submit"] {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    border-radius: .25rem 0 0 .25rem !important;
    color: #fff !important;
    background: var(--brand-primary) !important;
    border: 0 !important;
  }

  html.hecht-no-mobile-search header .main-search-wrapper input[name="qs"]::placeholder,
  html.hecht-no-mobile-search header .main-search-wrapper input#search-header::placeholder,
  html:not(:has(header .search-form-wrapper-fixed input[name="qs"])) header .main-search-wrapper input[name="qs"]::placeholder,
  html:not(:has(header .search-form-wrapper-fixed input[name="qs"])) header .main-search-wrapper input#search-header::placeholder {
    color: #525252 !important;
    opacity: 1 !important;
  }
}

/* Product overview short description: sales text on category/grid cards. */
.productbox-short-description {
    display: -webkit-box !important;
    margin: .35rem 0 .55rem 0 !important;
    color: var(--brand-muted) !important;
    font-size: .9rem !important;
    line-height: 1.35 !important;
    overflow: hidden !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.productbox-column .productbox-short-description p,
.productbox-column .productbox-short-description ul,
.productbox-column .productbox-short-description ol {
    margin: 0 !important;
    padding-left: 0 !important;
}
