/**
 * Presentation Hardening contract — Child 2.0.0-rc.18.
 *
 * Every layout correction is scoped by the Core page context or an explicit
 * HDFL presentation root. No global .row/.col/.section-content rule belongs
 * in this file.
 */
.hdfl-presentation-contract-v1,
.hdfl-presentation-contract-v1 *{box-sizing:border-box}
.hdfl-presentation-contract-v1{overflow-wrap:break-word}
.hdfl-presentation-contract-v1 :where(img,svg,video,canvas){max-width:100%}
.hdfl-presentation-contract-v1 :where([data-hdfl-presentation-root],[data-hdfl-render-slot]){min-width:0}
.hdfl-presentation-contract-v1 :where([data-hdfl-presentation-root]){width:100%;max-width:none}

/* Home owns one root regardless of native or UX Builder source. */
.hdfl-context-home .hdfl-page-home,
.hdfl-context-home .hdfl-home[data-hdfl-presentation-root]{width:100%;max-width:none;overflow:clip}
.hdfl-context-home .hdfl-home-section{min-width:0}

/* Product layout escapes only the known Flatsome parent chain. */
.hdfl-context-product.hdfl-product-layout-v9-runtime #main,
.hdfl-context-product.hdfl-product-layout-v9-runtime .shop-container,
.hdfl-context-product.hdfl-product-layout-v9-runtime .product-container,
.hdfl-context-product.hdfl-product-layout-v9-runtime .product-main{width:100%;max-width:none;min-width:0;padding-left:0;padding-right:0}
.hdfl-context-product.hdfl-product-layout-v9-runtime .product-main>.row,
.hdfl-context-product.hdfl-product-layout-v9-runtime .product-main>.row>[class*="col"]{width:100%;max-width:none;min-width:0;flex-basis:100%;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
.hdfl-context-product .hdfl-page-product{display:block;width:100%;max-width:none;min-width:0;overflow:clip}
.hdfl-context-product .hdfl-page-product :where(.hdfl-product-frame,.hdfl-shell){min-width:0}
.hdfl-context-product [data-hdfl-render-slot="product-related-products"],
.hdfl-context-product [data-hdfl-render-slot="product-related-content"],
.hdfl-context-product [data-hdfl-render-slot="product-reviews"],
.hdfl-context-product [data-hdfl-render-slot="product-faq"]{width:100%;max-width:none}

/* Catalogue resets are limited to catalogue requests. */
.hdfl-context-catalog .shop-container,
.hdfl-context-catalog .shop-container>.row,
.hdfl-context-catalog .shop-container>.row>.large-9{min-width:0}
.hdfl-context-catalog .products.row{min-width:0}
.hdfl-context-catalog .hdfl-product-grid__item{min-width:0}

/* Finder and Compare remain usable inside default page templates. */
.hdfl-context-finder #main,
.hdfl-context-compare #main,
.hdfl-context-finder .hdfl-page-finder,
.hdfl-context-compare .hdfl-page-compare{width:100%;max-width:none;min-width:0;overflow:clip}
.hdfl-context-finder .hdfl-product-finder,
.hdfl-context-compare .hdfl-product-compare{width:min(calc(100% - 32px),var(--hdfl-shell,1360px));max-width:none;margin-inline:auto;min-width:0}
.hdfl-context-compare .hdfl-compare-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}

/* Duplicate ownership is a diagnostic failure, never a visible second block. */
.hdfl-presentation-contract-v1 [data-hdfl-render-duplicate="true"]{display:none!important}

@media(max-width:849px){
  .hdfl-context-product.hdfl-product-layout-v9-runtime .product-main>.row{display:block}
  .hdfl-context-finder .hdfl-product-finder,
  .hdfl-context-compare .hdfl-product-compare{width:min(calc(100% - 28px),var(--hdfl-shell,1360px))}
}
@media(max-width:549px){
  .hdfl-context-finder .hdfl-product-finder,
  .hdfl-context-compare .hdfl-product-compare{width:calc(100% - 24px)}
}
