/*
 * STORE APP Patch 405
 * Final white/near-white storefront surface audit.
 * Persistent UI is graphite dark. Only true overlays/popups and product image
 * wells remain white. Loaded after Patch 403 and Patch 404.
 */
body.masterpalm-store-dark{
  --mp405-page:#0F141A;
  --mp405-deep:#0B1015;
  --mp405-panel:#171D24;
  --mp405-raised:#202730;
  --mp405-hover:#2A333D;
  --mp405-border:#3B4652;
  --mp405-text:#FFFFFF;
  --mp405-muted:#C2CAD3;
  --mp405-red:#B8001F;
}

/* Page canvas and all principal permanent page wrappers. */
body.site-masterpalm.masterpalm-store-dark,
body.site-masterpalm.masterpalm-store-dark #site-main,
body.site-masterpalm.masterpalm-store-dark #site-main > section,
body.site-masterpalm.masterpalm-store-dark #site-main > article,
body.site-masterpalm.masterpalm-store-dark #site-main > div,
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-shop-page,.mpb2b-product-detail,.mpb2b-catalog-page,
  .mp-product-catalog-page,.mp-collection-page,.mp-collection-page-white,
  .mp-category-product-page,.mp-category-layout,.mp-category-main,
  .mp-product-results,.mp-related-collections,.mp-section,.mp-section-dark,
  .mpb2b-section,.mpb2b-home-products,.mp-home-services,.mp-technology-section,
  .mp-content-block,.mp-section-block,.mp-information-section,.mp-service-section,
  .ses-inner-page,.ses-inner-container,.ses-inner-content,.ses-inner-copy,
  .ses-richtext,.ses-article-body,.content-page,.page-content,.information-page,
  .policy-page,.service-page,.news-page,.career-page,
  .mp-contact-workspace,.mp-contact-shell,.mp-contact-body,.mp-industrial-contact
){
  background-color:var(--mp405-page)!important;
  color:var(--mp405-text)!important;
  border-color:var(--mp405-border)!important;
}

/* Replace Bootstrap and legacy near-white utility surfaces in the page body. */
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .bg-white,.bg-light,.bg-body,.bg-body-secondary,.bg-body-tertiary,
  .card,.card-body,.card-header,.card-footer,.list-group,.list-group-item,
  .accordion,.accordion-item,.accordion-header,.accordion-button,
  .table-responsive,.table,.table-striped,.table-hover
){
  background-color:var(--mp405-panel)!important;
  color:var(--mp405-text)!important;
  border-color:var(--mp405-border)!important;
  box-shadow:none!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main .accordion-button:not(.collapsed){
  background:var(--mp405-raised)!important;
  color:var(--mp405-text)!important;
}

/* Product and collection card shells. */
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-product-card,.mpb2b-product-body,.mpb2b-product-grid,
  .mp-product-list-card,.mp-product-list-body,.mp-product-results-head,
  .mp-promo-product-card,.mp-promo-product-card__body,
  .mp-related-card,.mp-related-products,.mpb2b-benefit-card,
  .mp-home-service-card,.mp-technology-card,.mp-information-card,
  .mp-service-card,.mp-service-detail-card,.ses-list-card,.ses-card,.ses-inner-tile
){
  background:var(--mp405-panel)!important;
  color:var(--mp405-text)!important;
  border-color:var(--mp405-border)!important;
  box-shadow:none!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-product-body strong,.mpb2b-product-body em,.mpb2b-product-body a,
  .mp-product-list-body h2,.mp-product-list-body h3,.mp-product-list-body h3 a,
  .mp-product-list-body p,.mp-product-sku,.mpb2b-spec-mini,
  .mp-promo-product-card__body h2,.mp-promo-product-card__body h3,
  .mp-related-card strong,.mp-related-card span
){
  color:var(--mp405-text)!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-spec-mini,.mp-product-sku,.mp-product-list-body p,.mp-related-card span
){color:var(--mp405-muted)!important}

/* RFQ areas inside product cards must not remain white or pale orange. */
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-price-muted,.mp-product-list-price.is-quote,
  .mpb2b-card-actions.mpb2b-price-hidden-actions,
  .mpb2b-price-hidden-actions,.mp-rfq-card-price,.mp-card-rfq-label
){
  background:var(--mp405-raised)!important;
  color:var(--mp405-text)!important;
  border:1px solid var(--mp405-border)!important;
  border-left:4px solid var(--mp405-red)!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-price-muted,.mp-product-list-price.is-quote,.mp-product-list-price.is-quote strong
){color:var(--mp405-text)!important}
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-card-actions>a,.mp-product-list-actions>a:not(.mp-cart-square-button),
  .mpb2b-price-hidden-actions>a,.mp-quote-square-button,.mp-rfq-square-button
){
  background:#29323C!important;
  border-color:#596572!important;
  color:#FFFFFF!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-card-actions>a,.mp-product-list-actions>a:not(.mp-cart-square-button),
  .mpb2b-price-hidden-actions>a,.mp-quote-square-button,.mp-rfq-square-button
):hover,
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-card-actions>a,.mp-product-list-actions>a:not(.mp-cart-square-button),
  .mpb2b-price-hidden-actions>a,.mp-quote-square-button,.mp-rfq-square-button
):focus-visible{
  background:var(--mp405-red)!important;
  border-color:var(--mp405-red)!important;
  color:#FFFFFF!important;
}

/* Cart table and cart utility blocks. */
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-cart-main,.mpb2b-cart-total,.mpb2b-cart-table,
  .mpb2b-cart-table thead,.mpb2b-cart-table tbody,.mpb2b-cart-table tr,
  .mpb2b-box,.mpb2b-summary,.mpb2b-cart-tool-box,.mpb2b-empty,
  .mpb2b-page-title,.mpb2b-cart-actions-row,.mpb2b-cart-tools-row
){
  background:var(--mp405-panel)!important;
  color:var(--mp405-text)!important;
  border-color:var(--mp405-border)!important;
  box-shadow:none!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main .mpb2b-cart-table th{
  background:var(--mp405-raised)!important;
  color:var(--mp405-text)!important;
  border-color:var(--mp405-border)!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main .mpb2b-cart-table td{
  background:var(--mp405-panel)!important;
  color:var(--mp405-text)!important;
  border-color:var(--mp405-border)!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-cart-product strong,.mpb2b-cart-product a,.mpb2b-cart-price,
  .mpb2b-cart-total,.mpb2b-box h3,.mpb2b-summary h2,
  .mpb2b-summary-line,.mpb2b-summary-total strong,.mpb2b-page-title h1
){color:var(--mp405-text)!important}
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-cart-product span,.mpb2b-page-title p,.mpb2b-summary-line small
){color:var(--mp405-muted)!important}

/* Product detail metadata, options, buy box, specifications and tabs. */
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-product-copy,.mpb2b-model-row,.mpb2b-product-certs,
  .mpb2b-stock,.mpb2b-moq,.mpb2b-buybox,.mpb2b-product-options,
  .mpb2b-product-options legend,.mpb2b-option-values,.mpb2b-option-value,
  .mpb2b-detail-spec-row,.mpb2b-tabs,.mpb2b-tab-content,
  .mpb2b-spec-table,.mpb2b-benefit-card,.mpb2b-extra-specifications,
  .mpb2b-specification-unified,.mpb2b-specification-html
){
  background:var(--mp405-panel)!important;
  color:var(--mp405-text)!important;
  border-color:var(--mp405-border)!important;
  box-shadow:none!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-product-copy h1,.mpb2b-product-copy p,.mpb2b-product-copy .mpb2b-tax,
  .mpb2b-model-row,.mpb2b-model-row strong,
  .mpb2b-product-certs div,.mpb2b-product-certs i,
  .mpb2b-moq strong,.mpb2b-moq span,.mpb2b-moq i,
  .mpb2b-product-options legend,.mpb2b-product-options label,
  .mpb2b-product-options strong,.mpb2b-product-options span,
  .mpb2b-detail-spec-row div,.mpb2b-detail-spec-row strong,
  .mpb2b-detail-spec-row span,.mpb2b-detail-spec-row i,
  .mpb2b-tab-links a,.mpb2b-tab-content p,.mpb2b-tab-content li,
  .mpb2b-spec-table td,.mpb2b-benefit-card h3,.mpb2b-benefit-card strong,
  .mpb2b-benefit-card span,.mpb2b-benefit-card i
){color:var(--mp405-text)!important}
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-product-copy .mpb2b-tax,.mpb2b-product-copy p,
  .mpb2b-detail-spec-row span,.mpb2b-benefit-card span
){color:var(--mp405-muted)!important}
body.site-masterpalm.masterpalm-store-dark #site-main .mpb2b-product-options{
  padding:14px!important;
  border:1px solid var(--mp405-border)!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main .mpb2b-product-options :where(select,input[type=text],input[type=number]){
  background:#10161C!important;
  color:#FFFFFF!important;
  border-color:#56616D!important;
}

/* Category sidebars and all legacy listing sidebars. */
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mp-category-sidebar,.mp-product-category-sidebar,.mp-category-nav,
  .mp-category-nav-root,.mp-category-nav-children,.mp-catalog-filter-panel,
  .mp-catalog-filter-head,.mp-sidebar-quote,
  .ses-list-sidebar,.ses-list-sidebar__items,.ses-list-sidebar__item
){
  background:var(--mp405-deep)!important;
  color:var(--mp405-text)!important;
  border-color:var(--mp405-border)!important;
  box-shadow:none!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .ses-list-sidebar__item h3,.ses-list-sidebar__item h3 a,
  .ses-list-sidebar__item p,.ses-list-sidebar__item>a
){color:var(--mp405-text)!important}
body.site-masterpalm.masterpalm-store-dark #site-main .ses-list-sidebar__item{
  border-bottom-color:var(--mp405-border)!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main .ses-list-sidebar__item>a{
  color:#F04962!important;
}

/* Tool collection promo strips and category CTA remain graphite end-to-end. */
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mp-quote-strip,.mp-mini-feature-strip,.mp-mini-feature-strip>article,
  .mp-mini-feature-strip>div,.mp-cta-band,.mp-cta-inner,.mp-cta-actions
){
  background:var(--mp405-panel)!important;
  color:var(--mp405-text)!important;
  border-color:var(--mp405-border)!important;
  box-shadow:none!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main .mp-cta-band{
  border-top:4px solid var(--mp405-red)!important;
  background-image:none!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main .mp-cta-band::before,
body.site-masterpalm.masterpalm-store-dark #site-main .mp-cta-band::after,
body.site-masterpalm.masterpalm-store-dark #site-main .mp-cta-inner::before,
body.site-masterpalm.masterpalm-store-dark #site-main .mp-cta-inner::after{
  display:none!important;
  background:none!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main .mp-cta-inner :where(strong,span){color:#FFFFFF!important}
body.site-masterpalm.masterpalm-store-dark #site-main .mp-cta-actions a,
body.site-masterpalm.masterpalm-store-dark #site-main .mp-cta-actions a:first-child{
  background:#29323C!important;
  color:#FFFFFF!important;
  border-color:#596572!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main .mp-cta-actions a:last-child,
body.site-masterpalm.masterpalm-store-dark #site-main .mp-cta-actions a:hover{
  background:var(--mp405-red)!important;
  color:#FFFFFF!important;
  border-color:var(--mp405-red)!important;
}

/* Contact page: eliminate white body and white block headers. */
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mp-response-board,.mp-response-card,.mp-rfq-intro-panel,
  .mp-branch-console,.mp-inquiry-console,.mp-console-head,.mp-branch-list,
  .mp-office-group-title,.mp-branch-card,.mp-branch-lines,.mp-branch-meta,
  .mp-map-plate,.mp-map-plate__head,.mp-map-selected,.mp-form-grid,
  .mp-contact-office-credential,.mp-contact-feature-strip,.mp-contact-feature
){
  background:var(--mp405-panel)!important;
  color:var(--mp405-text)!important;
  border-color:var(--mp405-border)!important;
  box-shadow:none!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mp-response-card strong,.mp-response-card span,.mp-rfq-intro-panel h2,
  .mp-rfq-intro-panel p,.mp-console-head h2,.mp-console-head span,
  .mp-office-group-title,.mp-branch-card h3,.mp-branch-card p,
  .mp-branch-lines span,.mp-map-plate__head span,.mp-map-selected,
  .mp-contact-feature strong,.mp-contact-feature span,.mp-field label
){color:var(--mp405-text)!important}
body.site-masterpalm.masterpalm-store-dark #site-main .mp-branch-card:hover,
body.site-masterpalm.masterpalm-store-dark #site-main .mp-branch-card.is-active,
body.site-masterpalm.masterpalm-store-dark #site-main .mp-branch-card.active{
  background:var(--mp405-raised)!important;
  border-color:var(--mp405-red)!important;
}

/* Global permanent text contrast on graphite surfaces. */
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,strong,b,em,
  .text-dark,.text-body,.text-body-emphasis
){color:var(--mp405-text)!important}
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .text-muted,small,.small,.mp-muted,.mpb2b-muted
){color:var(--mp405-muted)!important}

/* Form controls are dark when they are part of a permanent page. */
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,
  .form-control,.form-select
){
  background:#10161C!important;
  color:#FFFFFF!important;
  border-color:#56616D!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main :where(input,textarea)::placeholder{
  color:#98A3AE!important;
  opacity:1!important;
}

/* Header and real Shop by Category dropdown. */
body.masterpalm-store-dark .mpb2b-nav,
body.masterpalm-store-dark .mpb2b-nav .mpb2b-container{
  overflow:visible!important;
}
body.masterpalm-store-dark .mpb2b-nav-category-wrap{
  position:relative;
  display:flex;
  align-items:stretch;
  flex:0 0 260px;
  min-width:260px;
  background:var(--mp405-red)!important;
}
body.masterpalm-store-dark .mpb2b-nav-category-wrap>.mpb2b-nav-item-row{
  display:flex!important;
  width:100%!important;
}
body.masterpalm-store-dark .mpb2b-nav-category-wrap .mpb2b-nav-category{
  flex:1 1 auto;
  min-width:0!important;
  justify-content:flex-start!important;
  background:var(--mp405-red)!important;
  color:#FFFFFF!important;
}
body.masterpalm-store-dark .mpb2b-nav-category-wrap>.mpb2b-nav-item-row>.mpb2b-category-toggle{
  flex:0 0 42px!important;
  width:42px!important;
  background:var(--mp405-red)!important;
  color:#FFFFFF!important;
  border-left:1px solid rgba(255,255,255,.28)!important;
}
body.masterpalm-store-dark .mpb2b-nav-category-wrap>.mpb2b-nav-submenu{
  left:0!important;
  top:100%!important;
  min-width:320px!important;
  max-width:430px!important;
  max-height:none!important;
  overflow:visible!important;
}
body.masterpalm-store-dark .mpb2b-nav-submenu{
  padding:0!important;
  background:var(--mp405-deep)!important;
  color:var(--mp405-text)!important;
  border-color:var(--mp405-border)!important;
  border-top-color:var(--mp405-red)!important;
  box-shadow:0 18px 40px rgba(0,0,0,.5)!important;
}
body.masterpalm-store-dark .mpb2b-nav-submenu .mpb2b-nav-item-row{
  display:flex!important;
  width:100%!important;
  gap:0!important;
  background:var(--mp405-panel)!important;
  border-bottom:1px solid var(--mp405-border)!important;
}
body.masterpalm-store-dark .mpb2b-nav-submenu .mpb2b-nav-item-row>a,
body.masterpalm-store-dark .mpb2b-nav-submenu .mpb2b-nav-item-row>.mpb2b-submenu-toggle{
  margin:0!important;
  background:transparent!important;
  color:var(--mp405-text)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.masterpalm-store-dark .mpb2b-nav-submenu .mpb2b-nav-item-row>a{
  flex:1 1 auto!important;
  width:auto!important;
  min-height:42px!important;
}
body.masterpalm-store-dark .mpb2b-nav-submenu .mpb2b-nav-item-row>.mpb2b-submenu-toggle{
  flex:0 0 42px!important;
  width:42px!important;
  min-height:42px!important;
  border-left:1px solid var(--mp405-border)!important;
}
body.masterpalm-store-dark .mpb2b-nav-submenu .mpb2b-nav-item-row:hover,
body.masterpalm-store-dark .mpb2b-nav-submenu .mpb2b-nav-item-row:focus-within{
  background:var(--mp405-hover)!important;
  box-shadow:inset 4px 0 0 var(--mp405-red)!important;
}
body.masterpalm-store-dark .mpb2b-nav-submenu .mpb2b-nav-item-row:hover>a,
body.masterpalm-store-dark .mpb2b-nav-submenu .mpb2b-nav-item-row:hover>.mpb2b-submenu-toggle,
body.masterpalm-store-dark .mpb2b-nav-submenu .mpb2b-nav-item-row:focus-within>a,
body.masterpalm-store-dark .mpb2b-nav-submenu .mpb2b-nav-item-row:focus-within>.mpb2b-submenu-toggle{
  background:transparent!important;
  color:#FFFFFF!important;
}

/* Product image wells are the only permanent white surfaces. */
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-product-media,.mpb2b-product-media-empty,.mp-product-list-media,
  .ses-list-card__media,.mp-promo-product-card__media,
  .mp-product-main-image,.mp-product-thumb,.mpb2b-gallery-main,
  .mpb2b-gallery-main--empty,.mpb2b-thumb,.mpb2b-cart-img,
  .mpb2b-cart-img-empty,.mp-related-card__media
){
  background-color:#FFFFFF!important;
  color:#29323D!important;
  border-color:#D6DCE2!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .mpb2b-product-media,.mpb2b-product-media-empty,.mp-product-list-media,
  .ses-list-card__media,.mp-promo-product-card__media,.mp-product-main-image,
  .mp-product-thumb,.mpb2b-gallery-main,.mpb2b-gallery-main--empty,
  .mpb2b-thumb,.mpb2b-cart-img,.mpb2b-cart-img-empty,.mp-related-card__media
) :where(span,small,strong,b,i){color:#29323D!important}

/* Only true overlay/popup layers remain white. */
body.masterpalm-store-dark :where(
  .modal-content,.modal-header,.modal-body,.modal-footer,
  .popover,.toast,.dropdown-menu,.offcanvas,.offcanvas-header,.offcanvas-body,
  .ses-translate-panel,.ses-language-menu,.newsletter-popup,
  .cookie-preferences-modal,.mpb2b-cart-added-modal .modal-content
){
  background:#FFFFFF!important;
  color:#17202B!important;
  border-color:#D3D9E0!important;
  color-scheme:light;
}
body.masterpalm-store-dark :where(
  .modal-content,.popover,.toast,.dropdown-menu,.offcanvas,
  .ses-translate-panel,.ses-language-menu,.newsletter-popup,
  .cookie-preferences-modal
) :where(h1,h2,h3,h4,h5,h6,p,span,small,strong,b,label,a,li){
  color:#17202B!important;
}
body.masterpalm-store-dark .dropdown-item:hover,
body.masterpalm-store-dark .dropdown-item:focus,
body.masterpalm-store-dark .ses-language-option:hover,
body.masterpalm-store-dark .ses-language-option.is-active{
  background:#EEF1F4!important;
  color:var(--mp405-red)!important;
}

/* Video viewer is an overlay, but stays black rather than white. */
body.masterpalm-store-dark .mpb2b-video-modal :where(.modal-content,.modal-header,.modal-body,.modal-footer){
  background:#07090C!important;
  color:#FFFFFF!important;
  border-color:var(--mp405-border)!important;
}
body.masterpalm-store-dark .mpb2b-video-modal :where(h1,h2,h3,h4,h5,h6,p,span,small,strong,b,label,a){color:#FFFFFF!important}

@media(max-width:991.98px){
  body.masterpalm-store-dark .mpb2b-nav-category-wrap{
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
  }
  body.masterpalm-store-dark .mpb2b-nav-category-wrap>.mpb2b-nav-item-row{width:100%!important}
  body.masterpalm-store-dark .mpb2b-nav-category-wrap>.mpb2b-nav-submenu{
    position:static!important;
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    border-left:4px solid var(--mp405-red)!important;
  }
  body.masterpalm-store-dark .mpb2b-nav-category-wrap:not(.is-open)>.mpb2b-nav-submenu{display:none!important}
  body.masterpalm-store-dark .mpb2b-nav-category-wrap.is-open>.mpb2b-nav-submenu{display:block!important}
}

/* Reassert white overlay controls against the high-specificity permanent form rules. */
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .modal-content,.modal-header,.modal-body,.modal-footer,
  .popover,.toast,.dropdown-menu,.offcanvas,.offcanvas-header,.offcanvas-body
){
  background:#FFFFFF!important;
  color:#17202B!important;
  border-color:#D3D9E0!important;
  color-scheme:light;
}
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .modal-content,.popover,.toast,.dropdown-menu,.offcanvas
) :where(h1,h2,h3,h4,h5,h6,p,span,small,strong,b,label,a,li,legend){
  color:#17202B!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main :where(
  .modal-content,.popover,.toast,.dropdown-menu,.offcanvas
) :where(input:not([type=checkbox]):not([type=radio]),select,textarea,.form-control,.form-select){
  background:#FFFFFF!important;
  color:#17202B!important;
  border-color:#BCC6D0!important;
}
body.site-masterpalm.masterpalm-store-dark #site-main .mpb2b-video-modal :where(.modal-content,.modal-header,.modal-body,.modal-footer){
  background:#07090C!important;
  color:#FFFFFF!important;
  border-color:var(--mp405-border)!important;
}
