/* Shared category/product containment. Deliberate carousels and data tables
   scroll locally; the document itself is never clipped to conceal overflow. */
body.heritage-oc4 :is(.atelier-catalog,.atelier-product-page){min-width:0}
body.heritage-oc4 :is(.atelier-catalog,.atelier-product-page) :is(#content,.atelier-catalog-main,.atelier-product-layout,.atelier-product-gallery,.atelier-gallery-rail,.atelier-gallery-stage,.atelier-product-purchase,.atelier-product-details,.tab-content,.tab-pane,.atelier-overview-grid,.atelier-overview-facts,.atelier-related,.atelier-related-grid,.atelier-category-about){min-width:0;max-width:100%}
body.heritage-oc4 :is(.atelier-description-content,.atelier-category-description){min-width:0;max-width:100%;overflow-x:auto;overflow-wrap:anywhere;overscroll-behavior-inline:contain}
body.heritage-oc4 :is(.atelier-description-content,.atelier-category-description) :is(img,video,svg){max-width:100%!important;height:auto!important}
body.heritage-oc4 :is(.atelier-description-content,.atelier-category-description) :is(iframe,object,embed){max-width:100%!important}
body.heritage-oc4 :is(.atelier-description-content,.atelier-category-description) pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
body.heritage-oc4 .atelier-overview-facts .table,body.heritage-oc4 .atelier-specification-table{width:100%;table-layout:fixed}
body.heritage-oc4 :is(.atelier-overview-facts,.atelier-specification-table) :is(th,td){overflow-wrap:anywhere}
body.heritage-oc4 .atelier-product-reference>span,body.heritage-oc4 .atelier-product-maker{min-width:0;max-width:100%;overflow-wrap:anywhere}
body.heritage-oc4 .atelier-product-price-row{flex-wrap:wrap;align-items:baseline;gap:8px 18px}
body.heritage-oc4 .atelier-product-price{min-width:0;max-width:100%}
body.heritage-oc4 .atelier-product-price-row>.atelier-stock{max-width:100%;white-space:normal}
body.heritage-oc4 .atelier-product-purchase #form-product :is(input,select,textarea,.form-check-label){min-width:0;max-width:100%}
body.heritage-oc4 .atelier-product-service :is(a,span){min-width:0;overflow-wrap:anywhere}
body.heritage-oc4 .atelier-product-service i{flex:none}
/* An image cannot impose its intrinsic dimensions on a card or shortcut. */
body.heritage-oc4 :is(.atelier-catalog-products,.atelier-related-grid) .heritage-product-photo{position:relative;display:block;flex:none;overflow:hidden;min-width:0}
body.heritage-oc4 :is(.atelier-catalog-products:not(.is-list),.atelier-related-grid) .heritage-product-photo{min-height:0}
body.heritage-oc4 :is(.atelier-catalog-products,.atelier-related-grid) .heritage-product-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;padding:var(--atelier-photo-padding,12px)}
body.heritage-oc4 .atelier-catalog-products{--atelier-photo-padding:0px}
body.heritage-oc4 .atelier-category-tiles>a>div{position:relative;overflow:hidden;min-width:0;min-height:0}
body.heritage-oc4 .atelier-category-tiles img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
body.heritage-oc4 .atelier-category-tiles>a>span{overflow-wrap:anywhere}
body.heritage-oc4 .atelier-active-filters>a{max-width:100%;min-width:0;overflow-wrap:anywhere}
body.heritage-oc4 .atelier-active-filters>a :is(span,small){flex:none}
body.heritage-oc4 .atelier-catalog-toolbar>div{min-width:0}
body.heritage-oc4 .atelier-catalog-toolbar h2{overflow-wrap:anywhere}
body.heritage-oc4 .atelier-catalog-controls{max-width:100%}
body.heritage-oc4 .atelier-catalog-controls select{min-width:0;max-width:100%}
body.heritage-oc4 :is(.atelier-gallery-rail,.atelier-category-tiles,.atelier-product-details>.nav-tabs){overscroll-behavior-inline:contain}
@media(max-width:900px){
 body.heritage-oc4 .atelier-catalog-toolbar{flex-wrap:wrap}
 body.heritage-oc4 .atelier-catalog-controls{flex-shrink:1}
 body.heritage-oc4 .atelier-product-purchase #form-product :is(.form-control,.form-select){font-size:1rem}
 body.heritage-oc4 :is(.atelier-catalog-controls,.atelier-catalog-pagination) select,body.heritage-oc4 .atelier-price-range input{font-size:1rem}
}
@media(max-width:600px){
 body.heritage-oc4 .atelier-related-grid{--atelier-photo-padding:9px}
 body.heritage-oc4 .atelier-product-quantity{flex-wrap:wrap;gap:10px 24px}
 body.heritage-oc4 .atelier-catalog-controls{width:100%}
 body.heritage-oc4 .atelier-catalog-controls>label{min-width:0;flex:1}
 body.heritage-oc4 .atelier-view-toggle{flex:none}
 body.heritage-oc4 :is(.atelier-overview-facts,.atelier-specification-table) :is(th,td){padding:9px 8px}
}
/* Imported names can exceed 200 characters; keep recommendation rows compact
   while the complete title remains in the link text and title attribute. */
body.heritage-oc4 .atelier-related-grid .heritage-product-card h3 a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
