/**
 * Unified Header & Product Layout Contract — Child 2.0.0-rc.47.6.
 *
 * Full-width belongs to page backgrounds. Header, catalogue controls/product
 * grid and product-detail content share one centred 1440px alignment shell.
 */
:root{
  --hdfl-layout-max:1440px;
  --hdfl-layout-gutter:clamp(20px,3vw,48px);
  --hdfl-header-desktop-height:80px;
  --hdfl-header-sticky-height:68px;
  --hdfl-layout-column-gap:clamp(20px,2.4vw,36px);
}

/* Header: preserve Flatsome Header Builder ownership, standardise its frame. */
body.hdfl-global-navigation-experience #header,
body.hdfl-global-navigation-experience #header .header-wrapper,
body.hdfl-global-navigation-experience #header .header-main,
body.hdfl-global-navigation-experience #header .header-inner{
  width:100%;
  max-width:none;
}
body.hdfl-global-navigation-experience #header .header-main{
  min-height:var(--hdfl-header-desktop-height);
}
body.hdfl-global-navigation-experience #header .header-wrapper.stuck .header-main{
  min-height:var(--hdfl-header-sticky-height);
}
body.hdfl-global-navigation-experience #header .header-inner{
  width:min(calc(100% - (2 * var(--hdfl-layout-gutter))),var(--hdfl-layout-max));
  margin-inline:auto;
  padding-inline:0;
}
body.hdfl-global-navigation-experience #header .nav{
  flex-wrap:nowrap;
  gap:clamp(12px,1.6vw,28px);
}
body.hdfl-global-navigation-experience #header .nav>li{
  flex:0 0 auto;
}
body.hdfl-global-navigation-experience #header .nav>li>a{
  min-height:44px;
  padding-inline:0;
  font-size:clamp(12px,.82vw,14px);
  letter-spacing:.02em;
  white-space:nowrap;
}
body.hdfl-global-navigation-experience #header .hdfl-nav-cta>a{
  padding-inline:18px!important;
}

/* Catalogue layout is owned exclusively by assets/css/catalog-layout.css. */

/* Product detail: restore intentional two-column desktop composition. */
body.hdfl-context-product #main,
body.hdfl-context-product .product-container,
body.hdfl-context-product .product-main,
body.hdfl-context-product .product-footer{
  width:100%;
  max-width:none;
}
body.hdfl-context-product .product-main{
  padding-inline:0!important;
}
body.hdfl-context-product .product-main>.row,
body.hdfl-context-product .hdfl-product-frame,
body.hdfl-context-product .hdfl-shell{
  width:min(calc(100% - (2 * var(--hdfl-layout-gutter))),var(--hdfl-layout-max))!important;
  max-width:var(--hdfl-layout-max)!important;
  margin-inline:auto!important;
}
body.hdfl-context-product .product-main>.row{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:flex-start;
  gap:var(--hdfl-layout-column-gap);
}
body.hdfl-context-product .product-main>.row>.product-gallery,
body.hdfl-context-product .product-main>.row>.large-6:first-child{
  width:auto!important;
  max-width:none!important;
  flex:1 1 58%!important;
}
body.hdfl-context-product .product-main>.row>.product-info,
body.hdfl-context-product .product-main>.row>.large-6:last-child{
  width:auto!important;
  max-width:560px!important;
  flex:1 1 42%!important;
}
body.hdfl-context-product .hdfl-native-product-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(380px,.88fr);
  gap:var(--hdfl-layout-column-gap);
  align-items:start;
  padding-block:clamp(44px,5vw,72px);
}
body.hdfl-context-product .hdfl-native-product-gallery{
  min-width:0;
  max-width:820px;
}
body.hdfl-context-product .hdfl-native-product-summary{
  min-width:0;
  max-width:560px;
  align-self:start;
}
@media(min-width:1100px){
  body.hdfl-context-product .hdfl-native-product-summary{
    position:sticky;
    top:calc(var(--hdfl-header-sticky-height) + 32px);
  }
}

@media(max-width:1199px){
  body.hdfl-global-navigation-experience #header .nav{gap:14px}
  body.hdfl-global-navigation-experience #header .nav>li>a{font-size:12px}
}
@media(max-width:849px){
  :root{--hdfl-layout-gutter:clamp(16px,3vw,28px)}
  body.hdfl-global-navigation-experience #header .header-main{min-height:64px}
  body.hdfl-context-product .product-main>.row{
    display:block!important;
  }
  body.hdfl-context-product .product-main>.row>[class*="col"],
  body.hdfl-context-product .product-main>.row>.product-gallery,
  body.hdfl-context-product .product-main>.row>.product-info{
    width:100%!important;
    max-width:none!important;
    flex-basis:100%!important;
  }
  body.hdfl-context-product .hdfl-native-product-hero__grid{
    grid-template-columns:1fr;
    gap:32px;
    padding-block:32px 48px;
  }
  body.hdfl-context-product .hdfl-native-product-gallery,
  body.hdfl-context-product .hdfl-native-product-summary{max-width:none}
}
@media(max-width:549px){
  :root{--hdfl-layout-gutter:12px}
  body.hdfl-context-catalog .products.row{gap:12px}
}
