/* Limebug Commerce UI — shop/archive/search tile frame.
   Keeps the site header/footer full width and constrains only the catalogue
   content area to the agreed 1440px working width. */

body.lbcui-tile-page {
  --lbcui-tile-max: 1440px;
  --lbcui-tile-gutter: clamp(16px, 2.25vw, 32px);
}

/* Rey structure observed on live shop/search pages:
   .rey-siteContainer contains sidebar + main as siblings. */
body.lbcui-tile-page .rey-siteContainer {
  width: min(calc(100% - (2 * var(--lbcui-tile-gutter))), var(--lbcui-tile-max)) !important;
  max-width: var(--lbcui-tile-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

body.lbcui-tile-page .rey-siteContainer > .rey-siteMain,
body.lbcui-tile-page .rey-siteContainer > main.rey-siteMain {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

body.lbcui-tile-page .rey-siteContainer > :is(
  .rey-sidebar,
  .shop-sidebar,
  aside[role="complementary"]
) {
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

/* Keep archive/search internals aligned to the shared frame. */
body.lbcui-tile-page .rey-siteMain :is(
  .woocommerce-products-header,
  .woocommerce-notices-wrapper,
  .rey-productLoop,
  .rey-productGrid,
  .rey-loopHeader,
  .rey-filterPanel,
  .rey-searchResults,
  ul.products,
  .products
) {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Fallback for archive/search templates not using Rey's wrapper. */
body.lbcui-tile-page main.site-main,
body.lbcui-tile-page main#main {
  width: min(calc(100% - (2 * var(--lbcui-tile-gutter))), var(--lbcui-tile-max)) !important;
  max-width: var(--lbcui-tile-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  body.lbcui-tile-page {
    --lbcui-tile-gutter: 14px;
  }
}
