/* ShopCMS Visual Builder 2 — public widgets, scoped typography and safe breakpoints */
.storefront .cms-free-widget{background:var(--widget-surface,#fff);color:var(--widget-ink,#172033);padding:var(--widget-padding,18px);margin-top:var(--widget-spacing,20px);border-radius:var(--widget-radius,22px);text-align:var(--widget-align,right);min-width:0;overflow:hidden}
.storefront .cms-free-widget h2{font-size:var(--widget-title-desktop,28px);line-height:1.5;margin:0 0 10px;overflow-wrap:anywhere}
.storefront .cms-free-widget p{font-size:clamp(13px,1.1vw,17px);line-height:2;white-space:normal;overflow-wrap:anywhere;margin:0}
.storefront .cms-free-image{display:block;max-width:100%;height:auto;border-radius:inherit;margin-inline:auto;object-fit:contain}
.storefront .cms-free-button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 24px;background:var(--theme-primary,#ea2949);color:white;border-radius:13px;font-size:14px;font-weight:800;text-decoration:none;max-width:100%;overflow-wrap:anywhere}
.storefront .cms-free-space{height:var(--widget-spacer,50px)}
.storefront .cms-free-empty{border:1px dashed #c5c9da;padding:22px;border-radius:14px;color:#667085}
@media(min-width:701px){.storefront [data-hide-on-desktop="1"]{display:none!important}}
@media(max-width:700px){.storefront .cms-free-widget h2{font-size:var(--widget-title-mobile,20px)}.storefront [data-hide-on-mobile="1"]{display:none!important}.storefront .cms-free-widget{width:calc(100% - 20px)}}
@media(min-width:701px) and (max-width:1000px){.storefront [data-home-section] .cms-builder-product-track .cms-builder-product{flex-basis:calc((100% - (var(--widget-tablet-cards,3) - 1)*12px)/var(--widget-tablet-cards,3))}}
@media(min-width:1001px){.storefront [data-home-section] .cms-builder-product-track .cms-builder-product{flex-basis:calc((100% - (var(--widget-desktop-cards,4) - 1)*12px)/var(--widget-desktop-cards,4))}}
/* Widget-controlled layouts on all devices, without changing unrelated store cards. */
.storefront .cms-catalog-slider{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;scroll-snap-type:x proximity;gap:10px;scrollbar-width:none}
.storefront .cms-catalog-slider>.neo-grid-card{scroll-snap-align:start;min-width:0}
.storefront .cms-product-grid{display:grid!important;overflow:visible!important;grid-template-columns:repeat(var(--widget-desktop-cards,4),minmax(0,1fr));align-items:stretch}
.storefront .cms-product-grid>.cms-builder-product{flex-basis:auto!important;max-width:none!important}
@media(min-width:1001px){
 .storefront [data-home-section="catalog"] .neo-grid-products:not(.cms-catalog-slider){grid-template-columns:repeat(var(--widget-desktop-cards,4),minmax(0,1fr))!important}
 .storefront [data-home-section="deals"] .neo-product-card,.storefront [data-home-section="dark"] .neo-product-card{flex:0 0 calc((100% - (var(--widget-desktop-cards,4) - 1)*10px)/var(--widget-desktop-cards,4))!important;min-width:0!important}
 .storefront .cms-catalog-slider>.neo-grid-card{flex:0 0 calc((100% - (var(--widget-desktop-cards,4) - 1)*10px)/var(--widget-desktop-cards,4))!important}
}
@media(min-width:701px) and (max-width:1000px){
 .storefront [data-home-section="catalog"] .neo-grid-products:not(.cms-catalog-slider){grid-template-columns:repeat(var(--widget-tablet-cards,3),minmax(0,1fr))!important}
 .storefront [data-home-section="deals"] .neo-product-card,.storefront [data-home-section="dark"] .neo-product-card{flex:0 0 calc((100% - (var(--widget-tablet-cards,3) - 1)*10px)/var(--widget-tablet-cards,3))!important;min-width:0!important}
 .storefront .cms-catalog-slider>.neo-grid-card{flex:0 0 calc((100% - (var(--widget-tablet-cards,3) - 1)*10px)/var(--widget-tablet-cards,3))!important}
 .storefront .cms-product-grid{grid-template-columns:repeat(var(--widget-tablet-cards,3),minmax(0,1fr))}
}
@media(max-width:700px){
 .storefront .cms-product-grid{grid-template-columns:repeat(var(--widget-mobile-cards,2),minmax(0,1fr));gap:8px}
 .storefront .cms-product-grid>.cms-builder-product{width:auto!important;min-width:0!important}
 .storefront .cms-catalog-slider>.neo-grid-card{flex:0 0 calc((100% - (var(--widget-mobile-cards,2) - 1)*8px)/var(--widget-mobile-cards,2))!important;min-width:0!important}
}
