/* Servicopier corporate front-office cleanup. Kept in the module to avoid theme overrides. */

/* Shared wide content canvas for every Front Office route. */
#wrapper>.breadcrumb__wrapper>.container,
#wrapper>#notifications>.container,
#wrapper>.columns-container.container {
  width: calc(100% - 2rem);
  max-width: 1600px;
  margin-inline: auto;
}

@media (max-width: 767.98px) {
  #wrapper>.breadcrumb__wrapper>.container,
  #wrapper>#notifications>.container,
  #wrapper>.columns-container.container {
    width: calc(100% - 1.25rem);
  }
}

/*
 * Catalog terminology and stock-neutral presentation.
 * The native stock values remain untouched; only their public presentation is hidden.
 */
body .product-miniature ul.product-flags > li.badge.new,
body ul.product-flags > li.badge.new,
.sc-catalog-card__media > b,
.sc-supply-badge--new {
  --bs-bg-opacity: 1;
  border-color: #c90914 !important;
  background: #c90914 !important;
  background-color: #c90914 !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: 0 3px 10px rgba(201, 9, 20, .18);
}

.product-flags .badge.out_of_stock,
.product-flags .out_of_stock,
.product__availability-status,
.details__item--quantities,
.details__item--availability-date,
.ps-emailalerts--product {
  display: none !important;
}

/* Native purchasing controls are suppressed only on registered supply products. */
html.sc-catalog-supply-page .product__actions-qty-add,
html.sc-catalog-supply-page .product__minimal-quantity,
html.sc-catalog-accessory-page .product__actions-qty-add,
html.sc-catalog-accessory-page .product__minimal-quantity {
  display: none !important;
}

#_desktop_ps_customersignin,
#_mobile_ps_customersignin,
#_desktop_ps_shoppingcart,
#_mobile_ps_shoppingcart,
#_desktop_ps_currencyselector,
#_mobile_ps_currencyselector,
#_desktop_ps_languageselector,
#_mobile_ps_languageselector,
#emailsubscription_anchor_displayFooterBefore,
.ps-customeraccountlinks,
.copyright,
.ps-linklist:has(#footer_linklist_1) {
  display: none !important;
}

/* Fallback for browsers without :has(): remove the demo links themselves. */
#link-product-page-prices-drop-1,
#link-product-page-new-products-1,
#link-product-page-best-sales-1 {
  display: none !important;
}

/* Responsive layout for the corporate footer blocks that remain visible. */
#footer .footer__main-top {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

#footer .footer__main-top > * {
  width: auto;
  max-width: none;
}

@media (max-width: 991.98px) {
  #footer .footer__main-top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

/* Compact corporate footer. */
#footer .footer__main {
  padding-block: 1.25rem .8rem;
}

#footer .footer__main-top {
  gap: clamp(1rem, 2.5vw, 2.5rem);
}

#footer .footer-block {
  margin-bottom: .65rem;
}

#footer .footer-block__title {
  margin-bottom: .55rem;
  font-size: .78rem;
}

#footer .footer-block__list a,
#footer .footer-block__content {
  font-size: .72rem;
  line-height: 1.4;
}

/* Final header alignment: no utility strip, centered first row, full search row. */
#header > .header-top,
#header .header-top {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

@media (min-width: 992px) {
  .header-bottom {
    padding-block: .5rem .6rem;
  }

  .header-bottom__row {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "logo navigation"
      "search search";
    row-gap: .5rem;
    align-items: center !important;
  }

  .header-bottom__logo {
    display: flex !important;
    align-items: center !important;
    align-self: center;
    min-height: 3.5rem;
    margin: 0 !important;
    padding-block: .25rem;
    line-height: 1;
  }

  .header-bottom__logo .navbar-brand {
    display: flex !important;
    align-items: center;
    margin: 0;
    padding: 0;
    line-height: 1;
  }

  .ps-mainmenu--desktop,
  .ps-mainmenu__desktop,
  .ps-mainmenu__tree {
    align-self: center;
    align-items: center;
  }

  #_desktop_ps_searchbar {
    grid-area: search;
    align-self: center;
  }
}

/* Desktop identity band: navigation, centered wordmark, then full search. */
@media (min-width: 992px) {
  .header-bottom {
    padding-block: .45rem .6rem;
  }

  .header-bottom__row {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "navigation"
      "logo"
      "search";
    row-gap: .45rem;
  }

  .ps-mainmenu--desktop {
    grid-area: navigation;
    width: 100%;
    justify-self: stretch;
  }

  .ps-mainmenu__tree {
    justify-content: center;
    gap: clamp(1rem, 3vw, 3.25rem);
  }

  .header-bottom__logo {
    grid-area: logo;
    display: flex !important;
    justify-content: center;
    width: 100%;
    min-height: 4.15rem;
    padding: .45rem 1rem;
    border: 1px solid #edf0f2;
    border-radius: .75rem;
    background: linear-gradient(90deg, #fff 0%, #fafbfc 50%, #fff 100%);
  }

  .header-bottom__logo .navbar-brand {
    justify-content: center;
    width: auto;
    max-width: none;
  }

  .header-bottom__logo .logo {
    width: 16rem;
    max-width: 16rem;
    max-height: 3.1rem;
  }

  #_desktop_ps_searchbar {
    grid-area: search;
    width: 100% !important;
  }
}

/* Optimized Servicopier wordmark sizing. */
.header-bottom__logo {
  flex-shrink: 0 !important;
  align-self: center;
}

.header-bottom__logo .navbar-brand,
.header-bottom__logo .logo {
  flex-shrink: 0;
}

.header-bottom__logo .logo {
  display: block;
  width: auto;
  height: auto;
  object-fit: contain;
}

@media (min-width: 1200px) {
  .header-bottom__row {
    column-gap: clamp(1.5rem, 2.4vw, 2.75rem);
  }

  .header-bottom__logo .logo {
    width: 12rem;
    max-width: 12rem;
    max-height: 3.25rem;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .header-bottom__row {
    column-gap: 1rem;
  }

  .header-bottom__logo .logo {
    width: 10.5rem;
    max-width: 10.5rem;
    max-height: 3.1rem;
  }
}

@media (max-width: 991.98px) {
  .header-bottom__logo .logo {
    width: clamp(8rem, 28vw, 9.5rem);
    max-width: clamp(8rem, 28vw, 9.5rem);
    max-height: 2.75rem;
  }
}

@media (max-width: 575.98px) {
  #footer .footer__main-top {
    grid-template-columns: 1fr;
    gap: .75rem;
  }
}

/* Servicopier responsive header. Uses the existing Hummingbird DOM and Bootstrap behavior. */
.header.js-sticky-header {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
}

.header-top {
  display: none !important;
}

.header-bottom__row {
  flex-wrap: nowrap;
  align-items: center !important;
}

.header-bottom__logo,
.ps-mainmenu--desktop,
#_desktop_ps_searchbar,
.ps-searchbar--mobile {
  min-width: 0;
}

/* The mobile menu must never participate in document flow. */
.ps-mainmenu--mobile.offcanvas {
  position: fixed !important;
  inset: 0 auto 0 0 !important;
  z-index: 1080 !important;
  display: flex;
  flex-direction: column;
  width: min(88vw, 25rem) !important;
  max-width: 100%;
  height: 100dvh !important;
  margin: 0 !important;
  overflow: hidden;
  background: #fff;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(-100%, 0, 0) !important;
  transition: transform .25s ease, visibility .25s ease;
}

/* Keep the off-canvas completely outside layout until Bootstrap opens it. */
.ps-mainmenu--mobile.offcanvas:not(.show):not(.showing):not(.hiding) {
  display: none !important;
}

.ps-mainmenu--mobile.offcanvas.show,
.ps-mainmenu--mobile.offcanvas.showing {
  display: flex !important;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0, 0, 0) !important;
}

.ps-mainmenu--mobile.offcanvas.hiding {
  display: flex !important;
  visibility: visible;
  pointer-events: none;
}

.ps-mainmenu--mobile .ps-mainmenu__mobile {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.ps-mainmenu--mobile .menu__link,
.ps-mainmenu--mobile .menu__toggle-child {
  min-height: 3rem;
}

.offcanvas-backdrop {
  z-index: 1070 !important;
}

/* Desktop and notebook: horizontal navigation without wrapping. */
@media (min-width: 992px) {
  .header-bottom__row {
    gap: clamp(.65rem, 1.25vw, 1.35rem);
  }

  .header-bottom__logo {
    flex: 0 0 auto;
    margin: 0 !important;
    order: 0;
  }

  .ps-mainmenu--desktop {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    width: auto;
    order: 1;
  }

  .ps-mainmenu--desktop .ps-mainmenu__desktop.d-none.d-xl-block {
    display: block !important;
    width: 100%;
  }

  .ps-mainmenu--desktop .ps-mainmenu__mobile-toggle {
    display: none !important;
  }

  .ps-mainmenu__tree {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0;
  }

  .ps-mainmenu__tree > .ps-mainmenu__tree-item {
    flex: 0 0 auto;
  }

  .ps-mainmenu__tree-link {
    white-space: nowrap;
  }

  #_desktop_ps_searchbar {
    display: flex !important;
    flex: 0 1 clamp(12rem, 17vw, 20rem);
    width: clamp(12rem, 17vw, 20rem);
    margin: 0 !important;
    order: 2;
  }

  #_desktop_ps_searchbar .ps-searchbar,
  #_desktop_ps_searchbar .ps-searchbar__form,
  #_desktop_ps_searchbar .ps-searchbar__input {
    width: 100%;
    min-width: 0;
  }

  .ps-searchbar--mobile,
  .ps-mainmenu--mobile.offcanvas,
  .ps-mainmenu--mobile.offcanvas.show,
  .ps-mainmenu--mobile.offcanvas.showing,
  .ps-mainmenu--mobile.offcanvas.hiding {
    display: none !important;
  }
}

/* Notebook: keep the horizontal menu, but compact spacing before it wraps. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .header-bottom__row {
    gap: .55rem;
  }

  .ps-mainmenu__tree-link {
    padding-inline: .38rem !important;
    font-size: .76rem;
    letter-spacing: -.01em;
  }

  .ps-mainmenu__tree-dropdown-toggle {
    margin-left: -.3rem;
    padding-inline: .2rem !important;
  }

  #_desktop_ps_searchbar {
    flex-basis: clamp(10.5rem, 16vw, 12.5rem);
    width: clamp(10.5rem, 16vw, 12.5rem);
  }
}

/* Tablet and mobile: logo, search and menu trigger only. */
@media (max-width: 991.98px) {
  .header-bottom__row {
    gap: .35rem;
  }

  .header-bottom__logo {
    flex: 0 1 auto;
    margin-right: auto !important;
    order: 1;
  }

  .header-bottom__logo .logo {
    display: block;
    width: auto;
    max-width: clamp(8rem, 28vw, 9.5rem);
    max-height: 2.75rem;
    object-fit: contain;
  }

  .ps-mainmenu--desktop {
    flex: 0 0 auto;
    width: auto;
    order: 3;
  }

  .ps-mainmenu--desktop .ps-mainmenu__desktop {
    display: none !important;
  }

  .ps-mainmenu--desktop .ps-mainmenu__mobile-toggle {
    display: block !important;
  }

  .ps-mainmenu__mobile-toggle .menu-toggle,
  .ps-searchbar--mobile .header-block__action-btn {
    display: inline-grid;
    place-items: center;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: .5rem;
  }

  #_desktop_ps_searchbar,
  .ps-searchbar--mobile {
    order: 2;
  }
}

/* Tablet: compact but visible search input. */
@media (min-width: 768px) and (max-width: 991.98px) {
  #_desktop_ps_searchbar {
    display: flex !important;
    flex: 0 1 clamp(13rem, 32vw, 18rem);
    width: clamp(13rem, 32vw, 18rem);
    margin: 0 !important;
  }

  #_desktop_ps_searchbar .ps-searchbar,
  #_desktop_ps_searchbar .ps-searchbar__form,
  #_desktop_ps_searchbar .ps-searchbar__input {
    width: 100%;
    min-width: 0;
  }

  .ps-searchbar--mobile {
    display: none !important;
  }
}

/* Mobile: search icon opens the existing full-width search off-canvas. */
@media (max-width: 767.98px) {
  #_desktop_ps_searchbar {
    display: none !important;
  }

  .ps-searchbar--mobile {
    display: flex !important;
    flex: 0 0 auto;
    width: auto;
    margin: 0 !important;
  }

  .ps-searchbar__offcanvas.offcanvas {
    position: fixed !important;
    inset: 0 0 auto !important;
    z-index: 1080 !important;
    width: 100% !important;
    max-width: none;
    margin: 0 !important;
  }
}

/* Desktop header: navigation on the first row, wide search on the second. */
@media (min-width: 992px) {
  .header-bottom {
    padding-block: .45rem;
  }

  .header-bottom__row {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "logo navigation"
      ". search";
    column-gap: clamp(.8rem, 2vw, 2rem);
    row-gap: .4rem;
    align-items: center !important;
  }

  .header-bottom__logo {
    grid-area: logo;
  }

  .ps-mainmenu--desktop {
    grid-area: navigation;
    min-width: 0;
  }

  .ps-mainmenu__tree {
    justify-content: space-between;
  }

  #_desktop_ps_searchbar {
    grid-area: search;
    display: flex !important;
    width: 100% !important;
    max-width: none;
    margin: 0 !important;
    justify-self: stretch;
  }

  #_desktop_ps_searchbar .ps-searchbar {
    width: 100%;
    margin: 0;
  }

  #_desktop_ps_searchbar .ps-searchbar__input {
    min-height: 2.45rem;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .header-bottom__logo .logo {
    max-width: 10.5rem;
  }

  .ps-mainmenu__tree-link {
    padding-inline: .3rem !important;
    font-size: .73rem;
  }
}

/* Tablet and mobile: one compact row; search opens in its existing off-canvas. */
@media (max-width: 991.98px) {
  .header-top {
    display: none !important;
  }

  #_desktop_ps_searchbar {
    display: none !important;
  }

  .ps-searchbar--mobile {
    display: flex !important;
    flex: 0 0 auto;
    width: auto;
    margin: 0 !important;
  }

  .ps-searchbar__offcanvas.offcanvas {
    position: fixed !important;
    inset: 0 0 auto !important;
    width: 100% !important;
    max-width: none;
  }
}

/* Definitive desktop order: menu, identity banner, search. */
@media (min-width: 992px) {
  .header-bottom__row {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:"navigation" "logo" "search";
    row-gap: .45rem;
  }
  .ps-mainmenu--desktop{grid-area:navigation;width:100%;justify-self:stretch}
  .ps-mainmenu__tree{justify-content:center;gap:clamp(1rem,3vw,3.25rem)}
  .header-bottom__logo{grid-area:logo;display:flex!important;justify-content:center;width:100%;min-height:4.15rem;margin:0!important;padding:.45rem 1rem;border:1px solid #edf0f2;border-radius:.75rem;background:linear-gradient(90deg,#fff 0%,#fafbfc 50%,#fff 100%)}
  .header-bottom__logo .navbar-brand{justify-content:center;width:auto;max-width:none}
  .header-bottom__logo .logo{width:16rem;max-width:16rem;max-height:3.1rem}
  #_desktop_ps_searchbar{grid-area:search;width:100%!important}
}

/* Final desktop grid: the wordmark spans both right-hand rows. */
@media (min-width: 992px) {
  .header-bottom {
    padding-block: .5rem;
  }

  .header-bottom__row {
    grid-template-columns: clamp(14rem, 20vw, 17rem) minmax(0, 1fr);
    grid-template-rows: minmax(2.75rem, auto) minmax(2.45rem, auto);
    grid-template-areas:
      "logo navigation"
      "logo search";
    column-gap: clamp(1rem, 2.2vw, 2.25rem);
    row-gap: .4rem;
    align-items: center !important;
  }

  .header-bottom__logo {
    grid-area: logo;
    align-self: stretch;
    display: flex !important;
    align-items: center !important;
    justify-content: center;
    width: 100%;
    min-height: 6.1rem;
    margin: 0 !important;
    padding: .4rem 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .header-bottom__logo .navbar-brand {
    justify-content: flex-start;
    width: 100%;
  }

  .header-bottom__logo .logo {
    width: clamp(14rem, 20vw, 17rem);
    max-width: 100%;
    max-height: 3.15rem;
  }

  .ps-mainmenu--desktop {
    grid-area: navigation;
    align-self: center;
  }

  .ps-mainmenu__tree {
    justify-content: space-between;
    gap: clamp(.35rem, 1.4vw, 1.35rem);
  }

  #_desktop_ps_searchbar {
    grid-area: search;
    align-self: center;
    width: 100% !important;
  }
}

/* Desktop composition tuning: compact 240px / content proportions. */
@media (min-width: 992px) {
  .header-bottom {
    padding-block: 15px;
    border-bottom: 1px solid #edf0f2;
  }

  .header-bottom__container {
    width: calc(100% - 32px);
    max-width: 1220px;
    margin-inline: auto;
    padding-inline: 0;
  }

  .header-bottom__row {
    grid-template-columns: 240px minmax(0, 1fr);
    grid-template-rows: 42px 44px;
    grid-template-areas:
      "logo navigation"
      "logo search";
    column-gap: 24px;
    row-gap: 9px;
    margin-inline: 0;
  }

  .header-bottom__logo {
    min-height: 0;
    padding: 0;
    align-self: stretch;
    justify-content: flex-start;
  }

  .header-bottom__logo .navbar-brand {
    width: auto;
  }

  .header-bottom__logo .logo {
    width: 218px;
    max-width: 218px;
    height: auto;
    max-height: none;
  }

  .ps-mainmenu--desktop {
    width: 100%;
    max-width: 850px;
    align-self: center;
    justify-self: start;
  }

  .ps-mainmenu__tree {
    justify-content: flex-start;
    gap: clamp(.7rem, 1.5vw, 1.4rem);
  }

  #_desktop_ps_searchbar {
    width: 100% !important;
    max-width: 850px;
    min-height: 44px;
    justify-self: start;
  }

  #_desktop_ps_searchbar .ps-searchbar__input {
    height: 44px;
    min-height: 44px;
  }
}

/* Exact shared origin for desktop navigation and search. */
@media (min-width: 992px) {
  .header-bottom__row {
    grid-template-columns: 240px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 24px;
    row-gap: 9px;
  }

  .header-bottom__logo {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: stretch;
    padding-inline: 0;
  }

  .ps-mainmenu--desktop {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding-inline: 0 !important;
    justify-self: stretch;
  }

  .ps-mainmenu__desktop,
  .ps-mainmenu__tree {
    width: 100%;
    margin-inline: 0;
    padding-inline: 0;
  }

  .ps-mainmenu__tree {
    justify-content: flex-start;
  }

  #_desktop_ps_searchbar {
    grid-column: 2;
    grid-row: 2;
    width: 100% !important;
    max-width: none;
    margin: 0 !important;
    padding-inline: 0 !important;
    justify-self: stretch;
  }
}

/* Approved desktop header micro-alignment. */
@media (min-width: 992px) {
  .header-bottom__row {
    row-gap: 5px;
  }

  .header-bottom__logo {
    padding-left: 7px;
  }
}

/* Reference-led corporate header: white navigation row and Servicopier red search row. */
.sc-category-trigger{display:none}
@media (min-width: 992px) {
  .header-bottom {
    padding: 0;
    border-bottom: 1px solid #e6e8eb;
    background: linear-gradient(to bottom,#fff 0,#fff 74px,#bf0711 74px,#d71920 100%);
  }

  .header-bottom__container {
    width: calc(100% - 32px);
    max-width: 1220px;
    padding: 0;
  }

  .header-bottom__row {
    grid-template-columns: 240px minmax(0,1fr);
    grid-template-rows: 74px 64px;
    grid-template-areas:
      "logo navigation"
      "category search";
    column-gap: 24px;
    row-gap: 0;
  }

  .header-bottom__logo {
    grid-area: logo;
    align-self: center;
    min-height: 0;
    padding: 0 0 0 7px;
    background: transparent;
  }

  .header-bottom__logo .logo {
    width: 218px;
    max-width: 218px;
    height: auto;
    max-height: none;
  }

  .ps-mainmenu--desktop {
    grid-area: navigation;
    align-self: center;
    width: 100%;
    max-width: none;
    padding: 0 !important;
  }

  .ps-mainmenu__tree {
    justify-content: flex-start;
    gap: clamp(.85rem,1.7vw,1.65rem);
  }

  .sc-category-trigger {
    grid-area: category;
    display: flex;
    align-items: center;
    gap: .7rem;
    padding-left: 7px;
    color: #fff;
    font-size: .82rem;
    letter-spacing: .01em;
  }

  .sc-category-trigger__icon {
    font-size: 1.45rem;
    font-weight: 400;
    line-height: 1;
  }

  .sc-category-trigger__chevron {
    font-size: 1rem;
    opacity: .85;
  }

  #_desktop_ps_searchbar {
    grid-area: search;
    align-self: center;
    width: 100% !important;
    max-width: none;
    margin: 0 !important;
    padding: 0 !important;
  }

  #_desktop_ps_searchbar .ps-searchbar,
  #_desktop_ps_searchbar .ps-searchbar__form {
    width: 100%;
    margin: 0;
  }

  #_desktop_ps_searchbar .ps-searchbar__input {
    height: 46px;
    min-height: 46px;
    padding-inline: 2.75rem 1rem;
    border: 0;
    border-radius: .55rem;
    background: #fff;
    box-shadow: 0 5px 18px rgba(65,0,4,.12);
    font-size: .88rem;
  }

  #_desktop_ps_searchbar .ps-searchbar__magnifier {
    color: #20242a;
  }
}

@media (max-width: 991.98px) {
  .header-bottom {background:#fff}
  .sc-category-trigger{display:none!important}
}

/* Dynamic native-category navigation. */
.header-bottom__container{position:relative}
.sc-category-trigger{border:0;background:transparent;text-align:left;cursor:pointer}
.sc-category-trigger:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:.3rem}
.sc-category-trigger__chevron{transition:transform .18s ease}
.sc-category-trigger[aria-expanded="true"] .sc-category-trigger__chevron{transform:rotate(180deg)}
.sc-category-panel[hidden],.sc-category-list[hidden]{display:none!important}
.sc-category-panel{position:absolute;z-index:1090;top:100%;left:0;width:100%;max-height:min(70vh,38rem);overflow-y:auto;padding:1.35rem;border:1px solid #e3e6e9;border-top:3px solid #bf0711;border-radius:0 0 .85rem .85rem;background:#fff;box-shadow:0 18px 42px rgba(18,22,26,.16)}
.sc-category-panel__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.sc-category-panel__grid>section+section{padding-left:1.5rem;border-left:1px solid #eceef0}
.sc-category-panel h2{margin:0 0 .75rem;font-size:.88rem;letter-spacing:.055em}
.sc-category-panel h2 a{color:#b80711}
.sc-category-list{display:grid;gap:.32rem;margin:0;padding:0;list-style:none}
.sc-category-list a{display:block;padding:.2rem 0;color:#25292e;font-size:.78rem;line-height:1.35}
.sc-category-list a:hover,.sc-category-list a:focus-visible{color:#c50c15;text-decoration:none}
.sc-category-list .sc-category-list{gap:.2rem;margin:.2rem 0 .35rem;padding-left:.85rem;border-left:1px solid #e6e8eb}
.sc-category-list .sc-category-list a{color:#666d76;font-size:.72rem}
.sc-category-mobile{display:grid;gap:.55rem;margin-bottom:1rem;padding:1rem;border-bottom:1px solid #e3e6e9;background:#fff}
.sc-category-mobile__title{color:#b80711;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}
.sc-category-mobile__group{border:1px solid #e6e8eb;border-radius:.55rem}
.sc-category-mobile__row{display:grid;grid-template-columns:minmax(0,1fr) 2.75rem;align-items:center}
.sc-category-mobile__row>a{padding:.8rem;color:#25292e;font-size:.78rem;font-weight:800}
.sc-category-mobile__row button{height:100%;border:0;border-left:1px solid #e6e8eb;background:#fff;color:#c50c15;font-size:1.15rem}
.sc-category-mobile>.sc-category-mobile__group>.sc-category-list{padding:.2rem .8rem .8rem;border-top:1px solid #e6e8eb}
@media(min-width:992px){.sc-category-mobile{display:none}}
@media(max-width:991.98px){.sc-category-panel{display:none!important}.sc-category-mobile{display:grid}}

/* Seven-item commercial navigation: compact notebooks without wrapping or overflow. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .ps-mainmenu__tree {
    gap: clamp(.2rem, .55vw, .4rem);
  }

  .ps-mainmenu__tree-link {
    padding-inline: .24rem !important;
    font-size: .68rem;
    letter-spacing: -.018em;
  }

  .ps-mainmenu__tree-dropdown-toggle {
    margin-left: -.2rem;
    padding-inline: .12rem !important;
  }
}

/* Scaled Full HD displays often expose a 1200-1400px CSS viewport. */
@media (min-width: 992px) and (max-width: 1439.98px) {
  .header-bottom__container {
    width: calc(100% - 24px);
    max-width: 100%;
  }

  .header-bottom__row {
    grid-template-columns: clamp(11.5rem, 17vw, 13rem) minmax(0, 1fr);
    column-gap: clamp(.65rem, 1.15vw, 1rem);
    min-width: 0;
  }

  .header-bottom__logo {
    min-width: 0;
    padding-left: .25rem;
  }

  .header-bottom__logo .logo {
    width: 100%;
    max-width: 12.5rem;
  }

  .ps-mainmenu--desktop,
  .ps-mainmenu__desktop,
  .ps-mainmenu__tree {
    min-width: 0;
    max-width: 100%;
  }

  .ps-mainmenu__tree {
    gap: clamp(.2rem, .6vw, .5rem);
  }

  .ps-mainmenu__tree-link {
    padding-inline: .22rem !important;
    font-size: clamp(.69rem, .82vw, .78rem);
    letter-spacing: -.015em;
  }

  .ps-mainmenu__tree-dropdown-toggle {
    margin-left: -.18rem;
    padding-inline: .1rem !important;
  }

  .sc-category-trigger {
    padding-left: .25rem;
    font-size: .76rem;
  }
}

/* Final responsive header controls: quote, identity, search and navigation only. */
#header .sc-quote-header--mobile.d-md-none {
  display: flex !important;
}

#header #_desktop_ps_customersignin,
#header #_mobile_ps_customersignin,
#header #_desktop_ps_shoppingcart,
#header #_mobile_ps_shoppingcart {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 991.98px) {
  .header-bottom__container {
    width: calc(100% - 1rem);
    margin-inline: auto;
    padding-inline: 0;
  }

  .header-bottom__row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: clamp(.2rem, 1.5vw, .5rem);
    min-height: 4rem;
    margin-inline: 0;
  }

  .sc-quote-header--mobile {
    display: flex !important;
    flex: 0 0 auto;
    order: 0;
    margin: 0;
    padding-inline: .25rem;
  }

  .header-bottom__logo {
    display: flex !important;
    flex: 1 1 auto;
    order: 1;
    justify-content: center;
    min-width: 0;
    margin: 0 !important;
    padding-inline: .15rem;
  }

  .header-bottom__logo .navbar-brand {
    min-width: 0;
  }

  .header-bottom__logo .logo {
    width: clamp(7.5rem, 26vw, 9.5rem);
    max-width: 100%;
  }

  .ps-searchbar--mobile {
    flex: 0 0 auto;
    order: 2;
    padding-inline: 0;
  }

  .ps-mainmenu--desktop {
    flex: 0 0 auto;
    order: 3;
    padding-inline: 0;
  }

  .sc-quote-header--mobile .header-block__action-btn,
  .ps-searchbar--mobile .header-block__action-btn,
  .ps-mainmenu__mobile-toggle .menu-toggle {
    display: inline-grid;
    width: 2.65rem;
    min-width: 2.65rem;
    height: 2.65rem;
    min-height: 2.65rem;
    place-items: center;
    margin: 0;
    padding: .45rem;
  }
}

@media (min-width: 992px) {
  .header-bottom__row {
    display: grid !important;
    grid-template-columns: 240px minmax(0, 1fr) 3rem;
    grid-template-rows: 74px 64px;
    grid-template-areas:
      "logo navigation quote"
      "category search quote";
  }

  .sc-quote-header--mobile {
    grid-area: quote;
    display: flex !important;
    align-self: center;
    justify-self: end;
    margin: 0;
    padding: 0;
  }

  .sc-quote-header--mobile .header-block__action-btn {
    display: inline-grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    color: #bf0711;
    box-shadow: 0 4px 14px rgba(65, 0, 4, .16);
  }
}

@media (min-width: 992px) and (max-width: 1439.98px) {
  .header-bottom__row {
    grid-template-columns: clamp(11.5rem, 17vw, 13rem) minmax(0, 1fr) 3rem;
  }
}
