/* RC1: local layout corrections; no purchase or catalog semantics. */
.header--united-fireplaces .halo-topHeader > .container { display:flex!important; flex-wrap:wrap!important; align-items:center!important; justify-content:space-between!important; gap:10px 20px!important; }
.header--united-fireplaces .halo-topHeader .navUser { flex:1 1 520px!important; width:auto!important; min-width:0; float:none!important; display:flex!important; flex-wrap:wrap!important; align-items:center; gap:8px 16px; }
.header--united-fireplaces .halo-topHeader .navUser-section { position:static!important; float:none!important; width:auto!important; flex-wrap:wrap; }
.header--united-fireplaces .halo-topHeader .uf-top-phone { position:static!important; transform:none!important; display:inline-flex!important; flex:0 0 auto; line-height:1.5!important; margin:0!important; }
.productView-nav { position:relative!important; padding-inline:40px!important; box-sizing:border-box; }
.productView-nav > .slick-arrow { top:50%!important; bottom:auto!important; transform:translateY(-50%)!important; z-index:4; }
.productView-nav > .slick-prev { left:0!important; right:auto!important; }
.productView-nav > .slick-next { right:0!important; left:auto!important; }
#halo-related-products .productCarousel { position:relative!important; padding-inline:40px!important; }
#halo-related-products .productCarousel > .slick-arrow { top:45%!important; bottom:auto!important; transform:translateY(-50%)!important; }
#halo-related-products .productCarousel > .slick-prev { left:0!important; right:auto!important; }
#halo-related-products .productCarousel > .slick-next { right:0!important; left:auto!important; }
.productView-options .productView-actions .form-field--increments { flex:0 0 122px; margin:0!important; }
.productView-options .productView-actions .form-actionFix { flex:1 1 200px; margin:0!important; width:auto!important; }
.productView-options .productView-actions .form-action { width:100%!important; margin:0!important; padding:0!important; }
.productView-options .productView-actions .button { min-height:42px; }
.uf-product-detail-section--downloads a { color:#b33d26!important; font-weight:700!important; font-size:inherit!important; line-height:1.5; overflow-wrap:anywhere; }
.productView-img-container img, .card-img-container img { object-fit:contain; }
@media(max-width:480px) { .header--united-fireplaces .halo-topHeader .navUser { flex-basis:100%!important; } #halo-related-products .productCarousel { padding-inline:32px!important; } }

.productView-nav > .slick-arrow:not(.slick-hidden) { display:block!important; width:32px!important; height:32px!important; background-color:#fff!important; }

/* Consolidated correction: flow-stable header and owned drawer surfaces. */
header.header.uf-native-sticky { position:sticky!important; top:0!important; transform:none!important; animation:none!important; }
.featured-product-card__title { min-height:3.9em; line-height:1.3; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.featured-product-card__body { flex:1; height:auto; }
.featured-product-card__price .price { font-size:clamp(15px,1.3vw,20px); white-space:nowrap; }
.featured-product-card__image { object-fit:contain; }
.uf-search-header,.page-search .page-heading { margin-block:16px!important; padding-block:0!important; }
.page-listing-header .halo-description { max-height:none!important; overflow:visible!important; }
.uf-category-literature { margin-top:40px; padding:24px; border-radius:14px; background:#f6f2ec; }
.uf-config-step--required.is-complete .uf-config-step__badge,
.uf-config-section-divider.is-complete .uf-config-section-divider__badge { background:#e2efe5!important; color:#255b36!important; border-color:#b7d1bf!important; }
.bc-option-group [hidden] { display:none!important; }
body:not(.page-type-cart):not(.page-type-checkout) .form-increment { display:inline-flex; align-items:center; }
body:not(.page-type-cart):not(.page-type-checkout) .form-increment .button,body:not(.page-type-cart):not(.page-type-checkout) .form-increment input { min-height:44px; margin:0; }
.productView-actions .button--primary { background:#b64c20; color:#fff; border-radius:8px; min-height:48px; }
body:not(.page-type-cart):not(.page-type-checkout) .halo-sidebar { max-height:100dvh!important; }
body.openSearchMobile #halo-search-sidebar,body.has-activeNavPages #halo-menu-sidebar { position:fixed!important; inset:0 auto 0 0!important; height:100dvh!important; max-height:100dvh!important; width:94vw; max-width:440px!important; z-index:10001!important; transform:none!important; display:flex!important; flex-direction:column; visibility:visible!important; opacity:1!important; background:#f6f2ec; }
body:not(.page-type-cart):not(.page-type-checkout) .halo-sidebar-wrapper { flex:1; min-height:0; overflow-y:auto!important; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
body:not(.page-type-cart):not(.page-type-checkout) .halo-sidebar-header { flex:none; min-height:58px; }
body:not(.page-type-cart):not(.page-type-checkout) .halo-sidebar-header .close { min-width:44px; min-height:44px; }
#uf-drawer-query { width:100%; min-height:48px; border:1px solid #bfb7ad; border-radius:6px; background:#fff; }
#halo-search-sidebar form { padding:20px; }
.uf-drawer-backdrop { position:fixed; inset:0; background:rgba(27,25,22,.48); z-index:10000; }
body.uf-drawer-open { overflow:hidden!important; }

.page-type-search .page-listing-header { padding:16px 0!important; margin:0 0 20px!important; }
.uf-search-results-heading { padding:0 0 18px!important; margin:0!important; text-align:left!important; }
.uf-search-results-heading__title { font-family:Arial,sans-serif!important; font-size:clamp(24px,3vw,36px)!important; line-height:1.2!important; margin:8px 0!important; }
.uf-search-results-heading::after { left:0!important; transform:none!important; }
.featured-product-card__title,.sidebarBlock-heading,.sidebarBlock .card-title { font-family:Arial,sans-serif!important; }
.page-type-search .body,.page-type-category .body { background:#f5f1eb; }
.uf-manufacturer-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:20px; margin:20px 0; }
.uf-manufacturer-tile { display:flex; flex-direction:column; background:#faf7f2; border:1px solid #ded6cc; border-radius:12px; overflow:hidden; color:#282522; text-decoration:none; }
.uf-manufacturer-tile img { width:100%; height:180px; object-fit:contain; background:#fff; }
.uf-manufacturer-tile strong { padding:16px; font-size:18px; }
.sidebarBlock .uf-main-ticket-list { display:grid; gap:12px; }
.sidebarBlock .uf-main-ticket-list .featured-product-card__thumbs,.sidebarBlock .uf-main-ticket-list .featured-product-card__summary { display:none; }
.sidebarBlock .uf-main-ticket-list .featured-product-card__image-wrap { height:140px; }

.featured-product-card__title a { display:block; }


.uf-approved-logo { display:block; width:240px; height:66px; overflow:hidden; }
@media(max-width:1024px) { .uf-approved-logo { width:155px; height:44px; } }

.page-type-search .page-listing-header--content { position:static!important; display:block!important; height:auto!important; min-height:0!important; padding:0!important; text-align:left!important; }
.page-type-search .uf-search-heading-content { width:100%; padding:0; margin:0; }
.page-type-search .uf-search-results-heading { max-width:none; padding:0!important; }
.page-type-search .uf-search-results-heading__title { text-align:left; }
.page-type-search .uf-search-results-heading::after { margin:10px 0 0; }
.page-type-search .search-nav:empty { margin:0!important; }

@media(max-width:1024px) {
 body.openSidebar .page-sidebar .form-label, body.openSidebar .page-sidebar .sidebarBlock-heading { color:#f7f3ed; }
 body.openSidebar .page-sidebar .navList-action, body.openSidebar .page-sidebar .accordion-title { color:#d88a43; }
 body.openSidebar .page-sidebar { scrollbar-width:thin; scrollbar-color:#a77b50 #211f1c; }
 body.openSidebar .page-sidebar-close .close { right:0; color:#f7f3ed; }
}

@media(max-width:1024px) {
 body.openSidebar #faceted-search-container .page-sidebar-close .title,
 body.openSidebar #faceted-search-container .navList-action,
 body.openSidebar #faceted-search-container #allCategories a { color:#f7f3ed!important; }
 body.openSidebar #faceted-search-container .sidebarBlock-heading { color:#d88a43!important; border-color:rgba(215,166,112,.25)!important; }
 body.openSidebar #faceted-search-container .page-sidebar-close { border-color:rgba(215,166,112,.25)!important; padding-right:52px; }
 body.openSidebar #faceted-search-container .page-sidebar-close .close { width:44px; height:44px; right:0!important; top:4px; display:flex; align-items:center; justify-content:center; }
 body.openSidebar #faceted-search-container .page-sidebar-close svg { fill:#f7f3ed!important; }
 body.openSidebar #faceted-search-container .card { background:#f7f3ed; color:#252320; padding:12px; border-radius:8px; }
 body.openSidebar #faceted-search-container .card a { color:#252320!important; }
}

@media(max-width:1024px) { html body.openSidebar #faceted-search-container #allCategories .navPages-action, html body.openSidebar #faceted-search-container #allCategories .navPages-action span { color:#f7f3ed!important; } html body.openSidebar #faceted-search-container #allCategories svg { fill:#f7f3ed!important; } }

/* Category folders own their state; active page identity does not force expansion. */
#allCategories .dropdown-category-list[hidden] { display:none!important; }
#allCategories .dropdown-category-list:not([hidden]) { display:block!important; }
#allCategories li { position:relative; }
#allCategories .icon-dropdown { position:absolute!important; left:auto!important; right:0!important; top:0!important; width:38px!important; height:38px!important; padding:10px; border:0; background:transparent; color:inherit; cursor:pointer; }
#allCategories .navPages-action { padding-right:40px!important; white-space:normal!important; overflow-wrap:anywhere; }
#allCategories .icon-dropdown[aria-expanded="true"] svg { transform:rotate(180deg); }
.uf-manufacturer-tile { padding:20px; gap:12px; justify-content:space-between; }
.uf-manufacturer-tile strong { padding:0; }
.uf-manufacturer-tile > span { color:#a34f28; font-weight:600; }
.uf-category-literature { line-height:1.7; overflow-wrap:anywhere; }
.uf-category-literature h2,.uf-category-literature h3 { font-family:Arial,sans-serif; line-height:1.25; margin:1.4em 0 .6em; }
.uf-category-literature p,.uf-category-literature ul,.uf-category-literature ol { margin:0 0 1em; }
.uf-category-literature a { color:#a63f25; text-decoration:underline; }
.uf-category-literature details { border-bottom:1px solid #ded6cc; padding:16px 0; }
.uf-category-literature summary { cursor:pointer; font-weight:700; }
@media(max-width:1024px) {
 .page-category #faceted-search-container { position:fixed!important; inset:0 auto 0 0!important; width:90vw!important; max-width:390px!important; height:100dvh!important; max-height:100dvh!important; padding:0!important; margin:0!important; display:flex!important; flex-direction:column; transform:translateX(-110%)!important; visibility:hidden; pointer-events:none; overflow:hidden!important; z-index:10001!important; background:linear-gradient(145deg,rgba(35,33,30,.96),rgba(24,23,21,.96))!important; color:#f7f3ed; }
 body.openSidebar .page-category #faceted-search-container { transform:none!important; visibility:visible; pointer-events:auto; }
 .page-category #faceted-search-container .page-sidebar-close { flex:none; position:relative!important; display:flex!important; align-items:center; justify-content:space-between; min-height:64px; padding:8px 16px!important; background:transparent!important; }
 .page-category #faceted-search-container .page-sidebar-close .close { position:static!important; flex:none; width:44px!important; height:44px!important; margin:0!important; transform:none!important; border:1px solid #a77b50; border-radius:50%; }
 .page-category #faceted-search-container .uf-category-sidebar { flex:1; min-height:0; height:auto!important; max-height:none!important; padding:12px 16px 32px!important; overflow-y:auto!important; overflow-x:hidden!important; scrollbar-gutter:stable; overscroll-behavior:contain; }
 .page-category #faceted-search-container .sidebarBlock { background:transparent!important; border-color:rgba(215,166,112,.25)!important; }
 .page-category #faceted-search-container .sidebarBlock-heading { color:#d88a43!important; }
 .page-category .toolbar { flex-wrap:wrap!important; gap:8px; }
 .page-category .toolbar-wrapper { max-width:100%; min-width:0; }
}


/* Keep the existing purchase controls with their quantity on phone layout 2. */
@media(max-width:550px) {
 .productView-options.productView-options-2 .productView-actions .form-actionFix { position:static; inset:auto; padding:0; border:0; box-shadow:none; background:transparent; }
 .productView-options.productView-options-2 .form-wishlist[data-wishlist-add] { position:relative; inset:auto; }
}

/* Preserve the established non-category drawer layout. */
body.openSidebar:not(.page-type-category) .page-sidebar { position:fixed!important; inset:0 auto 0 0!important; width:94vw; max-width:420px!important; max-height:100dvh!important; height:100dvh!important; overflow-y:auto!important; overscroll-behavior:contain; z-index:10001!important; background:linear-gradient(145deg,rgba(31,30,28,.96),rgba(34,28,23,.94))!important; color:#f7f3ed; backdrop-filter:blur(18px) saturate(125%); transform:none!important; transition:left .25s ease; padding:18px; }
body.openSidebar:not(.page-type-category) .page-sidebar-close { position:sticky; top:0; z-index:2; background:#211f1c; color:#f7f3ed; min-height:48px; }
body.openSidebar:not(.page-type-category) .page-sidebar { scrollbar-width:thin; scrollbar-color:#a77b50 #211f1c; }

/* R11: contained discovery sidebar; native horizontal recommendations. */
.page-type-search .page-listing-header,
.page-type-search .page-listing-header--content,
.page-type-search #search-results-heading { width:100%!important; max-width:none!important; box-sizing:border-box; }
.page-sidebar .sidebarBlock { background:#fcfaf7; border:1px solid #ded6cc; border-radius:10px; padding:16px; margin-bottom:16px; box-sizing:border-box; }
.page-sidebar .sidebarBlock-heading { color:#282522; border:0; padding:0 0 12px; font-size:13px; font-weight:700; letter-spacing:.06em; }
.page-sidebar .sidebarBlock-heading::before,.page-sidebar .sidebarBlock-heading::after { display:none!important; }
.page-sidebar .sidebarBlock a { color:#42372d; }
.page-sidebar .sidebarBlock a:hover { color:#a4652b; }
.page-sidebar #allCategories .navPages-action { font-family:Arial,sans-serif; font-size:12px; }
.page-sidebar #allCategories .icon-dropdown { color:#a4652b; }
.page-sidebar #allCategories .icon-dropdown svg { fill:currentColor; }
.page-sidebar .sidebarBlock .uf-main-ticket-list,
.page-sidebar #featured-products .products-list.uf-main-ticket-list {
 display:flex!important; gap:12px!important; width:100%; max-width:100%; overflow-x:auto!important; overflow-y:hidden!important;
 scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#a77b50 #eee7df; padding-bottom:12px; height:auto!important;
}
.page-sidebar .uf-main-ticket-list > .card { flex:0 0 100%; width:100%!important; min-width:0; margin:0!important; scroll-snap-align:start; box-sizing:border-box; }
.page-sidebar .uf-main-ticket-list .featured-product-card__inner { min-height:0!important; }
.page-sidebar .uf-main-ticket-list .featured-product-card__title { font-size:13px; }
.uf-sidebar-scroll-hint { margin:0 0 10px; font-size:11px; color:#755436; }
@media(min-width:1025px) { .page-sidebar { height:auto!important; max-height:none!important; align-self:start; } }
body.openSidebar .page-sidebar .sidebarBlock { background:#fcfaf7; color:#282522; }
body.openSidebar .page-sidebar .sidebarBlock .form-label,body.openSidebar .page-sidebar .sidebarBlock .accordion-title,body.openSidebar .page-sidebar .sidebarBlock-heading,body.openSidebar .page-sidebar .sidebarBlock .navList-action { color:#282522!important; }



/* R12: four curated appliance cards; two columns on phone and tablet. */
.halo-block-product.uf-home-assortment .productGrid.uf-home-assortment-grid { display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important;width:100%!important;margin:0!important; }
.halo-block-product.uf-home-assortment .uf-home-assortment-grid::before,.halo-block-product.uf-home-assortment .uf-home-assortment-grid::after { display:none!important; }
.halo-block-product.uf-home-assortment .uf-home-assortment-grid > .product { width:auto!important;max-width:none!important;min-width:0!important;padding:0!important;margin:0!important;float:none!important; }
.halo-block-product.uf-home-assortment .uf-home-assortment-grid .card { height:100%; }
@media(max-width:1024px){.halo-block-product.uf-home-assortment .productGrid.uf-home-assortment-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}}
@media(max-width:480px){.halo-block-product.uf-home-assortment .productGrid.uf-home-assortment-grid {gap:10px!important;}.uf-home-assortment .featured-product-card__title {font-size:12px!important;}.uf-home-assortment .featured-product-card__inner {min-width:0;}.uf-home-assortment .featured-product-card__thumbs {overflow:hidden;}}

[data-uf-dynamic-featured]:not([data-uf-assortment-ready]) .productGrid,[data-uf-dynamic-featured]:not([data-uf-assortment-ready]) .productCarousel,.uf-home-editors:not([data-uf-assortment-ready]) .productGrid {visibility:hidden;}

.uf-home-assortment .halo-block-header .title {font-family:Arial,sans-serif!important;font-weight:700!important;text-align:center;text-transform:uppercase;}
@media(max-width:480px){.uf-home-assortment .featured-product-card__price,.uf-home-assortment .featured-product-card__price .price {font-size:16px!important;white-space:normal!important;line-height:1.4!important;}.uf-home-assortment .featured-product-card__price .price-section {white-space:normal!important;}.uf-home-assortment .halo-block-header .title {font-size:24px!important;}}

/* R13 cart: native quantities, totals and edit handlers retained. */
@media(max-width:767px){}
@media(max-width:1024px){}
@media(max-width:767px){}
/* Recovered category controller owns visibility; ignore leftover native slide heights. */
#allCategories [data-uf-tree-ready] > .dropdown-category-list { height:auto!important; }
#allCategories [data-uf-tree-ready] > .dropdown-category-list[hidden] { display:none!important; }
