/* Boxxi 2026-09-21: native topbar flex repair. Load after full-parity layers. */
@media (min-width:768px) {
  html[data-boxxi-native="1"][data-bxl-layout="1"] body:not(.ordering-process) .top-navigation-bar {
    height:36px!important;
    min-height:36px!important;
  }
  html[data-boxxi-native="1"][data-bxl-layout="1"] body:not(.ordering-process) .top-navigation-bar>.container {
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    height:36px!important;
    min-height:36px!important;
    gap:18px;
    overflow:visible;
  }
  html[data-boxxi-native="1"][data-bxl-layout="1"] body:not(.ordering-process) .top-navigation-bar>.container>.bxl-topline-copy {
    flex:1 1 auto!important;
    min-width:0!important;
    width:auto!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  html[data-boxxi-native="1"][data-bxl-layout="1"] body:not(.ordering-process) .top-navigation-bar>.container>.top-navigation-contacts,
  html[data-boxxi-native="1"][data-bxl-layout="1"] body:not(.ordering-process) .top-navigation-bar>.container>.top-navigation-tools {
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    background:transparent!important;
    white-space:nowrap;
    overflow:visible;
  }
  html[data-boxxi-native="1"][data-bxl-layout="1"] body:not(.ordering-process) .top-navigation-bar>.container>.bxl-topline-delivery {
    flex:0 0 auto!important;
  }
}

/* Both native dkLAB pagination and our duplicate pagination must stay hidden.
   The existing transparent arrow buttons and keyboard carousel stay intact. */
html[data-boxxi-native="1"][data-bxl-layout="1"] body.type-index #carousel>.carousel-indicators,
html[data-boxxi-native="1"][data-bxl-layout="1"] body.type-index #carousel .bxn-carousel-dots {
  display:none!important;
}

/* Keep native navigation readable before the deferred Boxxi runtime activates.
   This is presentation only: no hiding, menu state or checkout changes. */
html body:not(.ordering-process) #navigation,
html body:not(.ordering-process) #navigation>.navigation-in {
  background:#fff!important;
}
html body:not(.ordering-process) #navigation>.navigation-in>.menu-level-1>li>a {
  color:#20323c;
}

/* 2026-09-21: actual native PDP DOM, not an overflow mask.
   The existing product customizer places a full-width floated badges column
   inside this header. Keep its siblings in the same normal vertical flow. */
html[data-boxxi-native="1"][data-bxcf-commerce="1"] #product-detail-form .p-info-wrapper>.p-detail-inner-header {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-width:0;
}
html[data-boxxi-native="1"][data-bxcf-commerce="1"] #product-detail-form .p-detail-inner-header>.productDetail__badges {
  float:none;
  width:auto;
  max-width:100%;
  min-width:0;
}
html[data-boxxi-native="1"][data-bxcf-commerce="1"] #product-detail-form .p-detail-inner-header>.bxpf-origin {
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}

/* Native ::before uses absolute width/height:100%. A static button made the
   whole quantity box its containing block, so minus intercepted plus clicks.
   Use the already present accessible native + and minus text instead. */
html[data-boxxi-native="1"][data-bxcf-commerce="1"] #content #product-detail-form .quantity>button.increase,
html[data-boxxi-native="1"][data-bxcf-commerce="1"] #content #product-detail-form .quantity>button.decrease {
  position:relative;
}
html[data-boxxi-native="1"][data-bxcf-commerce="1"] #content #product-detail-form .quantity>button.increase::before,
html[data-boxxi-native="1"][data-bxcf-commerce="1"] #content #product-detail-form .quantity>button.decrease::before {
  content:none;
  display:none;
}
html[data-boxxi-native="1"][data-bxcf-commerce="1"] #content #product-detail-form .quantity>button>.increase__sign,
html[data-boxxi-native="1"][data-bxcf-commerce="1"] #content #product-detail-form .quantity>button>.decrease__sign {
  display:block;
  font-size:18px;
  line-height:1;
  pointer-events:none;
}

/* Keep the native shipping/gift status icons in their reserved column.
   Prices, thresholds, progress and handlers remain entirely native. */
html[data-boxxi-native="1"][data-bxn-checkout="1"] body.ordering-process .extras-wrap .extra:is(.delivery,.gift,.discount) {
  padding-left:62px;
}
html[data-boxxi-native="1"][data-bxn-checkout="1"] body.ordering-process .extras-wrap .extra:is(.delivery,.gift,.discount)::before {
  left:16px;
  width:30px;
  font-size:28px;
  line-height:30px;
  margin-left:0;
  margin-top:-15px;
}

/* WEB030: one stable position for all seven existing native banner slides.
   The older layout stylesheet moved slides 4 and 5 to bottom/center using :has().
   Override only counter geometry; retain native images, links and arrow controls. */
html[data-boxxi-native="1"][data-bxl-layout="1"] body.type-index #carousel>.bxl-carousel-count {
  top:7px!important;
  right:7px!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
}
@media (max-width:600px) {
  html[data-boxxi-native="1"][data-bxl-layout="1"] body.type-index #carousel>.bxl-carousel-count {
    top:5px!important;
    right:5px!important;
  }
}
