/* Structural reservations matching the existing carousel geometry. */
html { scrollbar-gutter:stable; }
/* Streaming HTML reaches the long description before the right-hand panel.
   Avoid painting its temporary mobile position before that sibling exists. */
html:not([data-uf-structure-ready]) .productView-left-bottom,
.halo-productView:has(.productView-for:not(.slick-initialized) > .productView-thumbnail:nth-child(2)) .productView-left-bottom { visibility:hidden; }
.page-type-product .uf-config-price-summary__value { min-inline-size:12ch; text-align:right; }
/* The native option app inserts its section tree at the start of this summary.
   Keep the existing box in flow, but do not flash its unfinished price/buttons. */
.page-type-product .productView-options:has([data-product-attribute="product-list"]) .uf-purchase-summary:not(:has(#bc-custom-options[data-uf-config-watch="true"])) { visibility:hidden; }
.page-type-product .productView-for:not(.slick-initialized) { display:flex; flex-wrap:nowrap; overflow:hidden; }
.page-type-product .productView-for:not(.slick-initialized) > .productView-thumbnail { flex:0 0 round(up, calc((100% + 10px) / 5), 1px); min-width:0; }
@media(max-width:1199px){.page-type-product .productView-for:not(.slick-initialized) > .productView-thumbnail { flex-basis:round(up, calc((100% + 10px) / 4), 1px); }}
.page-type-product .productView-nav:not(.slick-initialized) > .productView-image:not(:first-child) { display:none; }
.page-type-product .productView-image-wrapper { min-width:0; isolation:isolate; }
.page-type-product .productView-img-container { aspect-ratio:1; overflow:hidden; }
.page-type-product .productView-img-container img { max-width:100%; max-height:100%; object-fit:contain; }
.page-type-product .uf-ignition-explanation { display:grid; }
.page-type-product .uf-ignition-explanation > span { grid-area:1 / 1; }
.page-type-product .uf-ignition-reserve { visibility:hidden; pointer-events:none; }
.page-type-product .uf-config-step__badge { flex-shrink:0; min-width:81px; text-align:center; }
/* The recovered CSS sticky header remains in flow. Halo's legacy fixed-header
   spacer and promotion removal must not also change that same flow. */
.header-height:has(+ header.uf-native-sticky) { display:none!important; }
header.uf-native-sticky.is-sticky .halo-topHeader .navUser { position:static!important; }
header.uf-native-sticky.is-sticky .uf-topbar-rotator { display:block!important; }
@media(min-width:1200px) { header.uf-native-sticky.is-sticky .halo-topHeader { padding:10px 0; } }
/* Anchor the measured 30px mobile controls independently of badge text width. */
@media(max-width:1199px) {
 header.uf-native-sticky .uf-header-mobile .middleHeader-item.text-right { position:relative; min-height:34px; }
 header.uf-native-sticky .uf-header-mobile .item--account,
 header.uf-native-sticky .uf-header-mobile .item--cart { position:absolute; top:0; width:30px; margin:0!important; }
 header.uf-native-sticky .uf-header-mobile .item--cart { right:12px; }
 header.uf-native-sticky .uf-header-mobile .item--account { right:57px; }
}
/* Keep the existing measured price/SKU/stock tracks present while app data loads. */
.page-type-product .bc-option-info { display:grid; grid-template-rows:auto minmax(28.2px,auto) minmax(32px,auto) minmax(34px,auto); }
.page-type-product .bc-option-title { grid-row:1; }
.page-type-product .bc-option-price { grid-row:2; }
.page-type-product .bc-option-sku { grid-row:3; }
.page-type-product .bc-option-stock { grid-row:4; }
/* Expired Halo countdown containers are empty before their delayed removal. */
.page-type-product .productView-countDown:empty { display:none; }
.page-type-product .uf-option-group-action__text[hidden] { display:inline!important; visibility:hidden; }
.page-type-product [data-uf-recovered-progress] [hidden] { display:block!important; visibility:hidden; }
.page-type-product [data-uf-recovered-progress] [data-progress],
.page-type-product [data-uf-recovered-progress] [data-count] { min-height:1.6em; }
.page-type-product [data-uf-buying-message] { min-height:calc(1.5em + 28px); }
.page-type-product [data-uf-buying-message][hidden] { display:block!important; visibility:hidden; }
@media(max-width:767px) {
 /* Match the existing mobile accordion's initial closed state before JS runs. */
 .page-type-product .uf-config-step--required:not(.is-parent-open) > [data-product-option-change] { display:none; }
 .page-type-product .productView-addToCartBlock { min-height:128px; }
}
