/* OC Extensions v2.15.7 — Home/module runtime geometry authority
   Loaded after all theme/custom/extension CSS. It fixes legacy rules that clipped
   Slider + Products and nested Home Composer modules without changing module data. */

/* Home Composer wrappers must never become an accidental clipping/width context. */
body.ocx-shop-body .ocx-position-device{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  margin-left:0!important;
  margin-right:0!important;
  overflow:visible!important;
  clear:both!important;
}
body.ocx-shop-body .ocx-home-main,
body.ocx-shop-body .ocx-home-layout,
body.ocx-shop-body .ocx-layout-center,
body.ocx-shop-body .ocx-layout-column{
  min-width:0!important;
  max-height:none!important;
}
body.ocx-shop-body .ocx-layout-center{width:100%!important;overflow:visible!important}

/* When content_top/content_bottom live inside a Home layout center column, module
   containers must use that entire column rather than applying a second 1360px shell. */
body.ocx-shop-body .ocx-layout-center > .ocx-position-device > .ocx-section > .container,
body.ocx-shop-body .ocx-layout-center > .ocx-position-device > .ocx-storefront > .container,
body.ocx-shop-body .ocx-layout-center > .ocx-position-device > section > .container,
body.ocx-shop-body .ocx-layout-center > .ocx-section > .container,
body.ocx-shop-body .ocx-layout-center > section > .container{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Slider + Products: undo old v1.x authority that limited photos to 84%/58%,
   hid cards on smaller screens and allowed the slider column to collapse. */
body.ocx-shop-body .ocx-side-products,
body.ocx-shop-body .ocx-side-products > .container,
body.ocx-shop-body .ocx-side-products-wrap,
body.ocx-shop-body .ocx-side-products-list,
body.ocx-shop-body .ocx-side-products-grid{
  min-width:0!important;
  max-height:none!important;
}
body.ocx-shop-body .ocx-side-products{width:100%!important;max-width:none!important;overflow:visible!important}
body.ocx-shop-body .ocx-side-products > .container{width:calc(100% - 40px)!important;max-width:var(--ocx-side-module-max-width,1360px)!important}
body.ocx-shop-body .ocx-side-products-wrap{
  width:100%!important;
  grid-template-columns:minmax(240px,var(--ocx-side-slider-width,28%)) minmax(0,1fr)!important;
  align-items:stretch!important;
}
body.ocx-shop-body .ocx-side-products-slider{
  width:100%!important;
  max-width:none!important;
  height:var(--ocx-side-slider-height,430px)!important;
  min-height:var(--ocx-side-slider-height,430px)!important;
  max-height:none!important;
  overflow:hidden!important;
}
body.ocx-shop-body .ocx-side-products-slider .ocx-side-slide{
  position:absolute!important;
  inset:0!important;
  margin:0!important;
  max-width:none!important;
  max-height:none!important;
  box-sizing:border-box!important;
}
body.ocx-shop-body .ocx-side-products-slider .ocx-side-slide.active{display:block!important;visibility:visible!important;opacity:1!important}
body.ocx-shop-body .ocx-side-products-slider .ocx-side-slide-image{padding:0!important}
body.ocx-shop-body .ocx-side-products-slider .ocx-side-slide-image > .ocx-side-photo{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
  overflow:hidden!important;
}
body.ocx-shop-body .ocx-side-products-slider .ocx-side-slide-image > .ocx-side-photo > img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:var(--ocx-side-image-fit,cover)!important;
  object-position:var(--ocx-side-image-pos-x,50%) var(--ocx-side-image-pos-y,50%)!important;
}
/* Product-mode slide: image receives all area above the text panel, not the old 58%. */
body.ocx-shop-body .ocx-side-products-slider .ocx-side-slide:not(.ocx-side-slide-image) > a:first-child{
  position:absolute!important;
  inset:0 0 142px 0!important;
  width:auto!important;
  height:auto!important;
  padding:16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
body.ocx-shop-body .ocx-side-products-slider .ocx-side-slide:not(.ocx-side-slide-image) > a:first-child > img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
body.ocx-shop-body .ocx-side-products-grid .ocx-market-card,
body.ocx-shop-body .ocx-side-products-grid .ocx-market-card:nth-child(n){
  display:flex!important;
  visibility:visible!important;
  min-width:0!important;
}

/* Generic module safety: module roots should not be cut by bridge wrappers. */
body.ocx-shop-body .ocx-position-device > section,
body.ocx-shop-body .ocx-position-device > .ocx-section,
body.ocx-shop-body .ocx-position-device > .ocx-storefront{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  max-height:none!important;
}

/* Device visibility is repeated after the generic display:block rule so the toggles
   remain authoritative. */
@media (min-width:1200px){body.ocx-shop-body .ocx-position-device.ocx-device-hide-desktop{display:none!important}}
@media (min-width:768px) and (max-width:1199px){body.ocx-shop-body .ocx-position-device.ocx-device-hide-tablet{display:none!important}}
@media (max-width:767px){body.ocx-shop-body .ocx-position-device.ocx-device-hide-mobile{display:none!important}}

@media(max-width:900px){
  body.ocx-shop-body .ocx-side-products-wrap{grid-template-columns:1fr!important}
  body.ocx-shop-body .ocx-side-products-slider{height:var(--ocx-side-slider-height-tablet,390px)!important;min-height:var(--ocx-side-slider-height-tablet,390px)!important}
}
@media(max-width:600px){
  body.ocx-shop-body .ocx-side-products > .container{width:calc(100% - 20px)!important;padding-left:0!important;padding-right:0!important}
  body.ocx-shop-body .ocx-side-products-slider{height:var(--ocx-side-slider-height-mobile,300px)!important;min-height:var(--ocx-side-slider-height-mobile,300px)!important}
  body.ocx-shop-body .ocx-side-products-grid{grid-template-columns:repeat(var(--ocx-side-cols-mobile,1),minmax(0,1fr))!important}
}
