/* R5 catalog layout; all media still uses the existing crop/rendition pipeline. */
.boutique-preview .storefront{padding-block:30px 64px;width:calc(100% - 2 * var(--editorial-gutter));max-width:88rem;}
.boutique-preview .storefront-heading{display:block;text-align:center;border:0;padding:0;margin:0 0 16px;}
.boutique-preview .storefront-heading h1{font:400 24px/1.35 var(--font-sans);letter-spacing:0;margin:0;}
.storefront .shop-categories{justify-content:center;flex-wrap:wrap;border:0;padding:0;margin:0 0 16px;gap:8px 20px;}
.storefront .shop-categories a{padding:4px 0;border:0;font-size:12px;text-decoration:none;}
.storefront .shop-categories a[aria-current]{text-decoration:underline;text-underline-offset:5px;}
.storefront> #listing-results>nav[aria-label]{font-size:12px;margin-bottom:18px;}
.boutique-preview .listing-layout{display:grid;grid-template-columns:0 minmax(0,1fr);gap:24px 0;position:relative;transition:grid-template-columns 180ms;}
.boutique-preview .listing-layout:has(.listing-filter-panel[open]){grid-template-columns:220px minmax(0,1fr);column-gap:32px;}
.listing-layout>.listing-toolbar{grid-column:1/-1;min-height:52px;box-sizing:border-box;margin:0;padding:0 0 10px;border-color:var(--color-border,#e8ebe6);gap:12px;}
.listing-layout .listing-toolbar h2{margin-inline-start:150px;font:400 12px/1.4 var(--font-sans);}
.listing-layout .listing-sort{gap:4px;min-width:0;}
.listing-layout .listing-sort select{width:180px;min-width:0;max-width:100%;border:0;padding:8px;font:400 13px/1.5 var(--font-sans);background:var(--color-background,#fff);}
.listing-layout .listing-sort button{min-height:36px;padding:8px;font-size:12px;background:transparent;color:inherit;}
.listing-layout .listing-filter-panel{grid-column:1;grid-row:2;min-width:0;border:0;margin:0;padding:0;}
.listing-layout .listing-filter-panel>summary{position:absolute;top:0;inset-inline-start:0;inset-inline-end:auto;min-height:42px;width:135px;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;font:400 13px/1.4 var(--font-sans);cursor:pointer;text-decoration:none;padding:0 12px 0 0;}
.listing-layout .listing-filter-panel>summary::after{content:'+';font-size:18px;}
.listing-layout .listing-filter-panel[open]>summary::after{content:'\2212';}
.listing-layout .listing-content{grid-column:2;min-width:0;}
.boutique-preview .listing-filters{display:block;border:0;border-radius:0;padding:0;margin:0;background:var(--color-background,#fff);}
.listing-filters .filter-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.listing-filters .filter-panel-heading h2{font:500 16px/1.5 var(--font-sans);margin:0 0 12px;}
.listing-filters .filter-panel-heading button{background:transparent;color:inherit;}
.listing-filters [hidden]{display:none;}
.listing-filters label{font:400 13px/1.4 var(--font-sans);display:block;margin-block:12px 6px;}
.listing-filters input,.listing-filters select{box-sizing:border-box;max-width:100%;min-width:0;font-size:16px;}
.listing-filters .filter-search{margin-bottom:16px;}
.listing-filters .filter-group{border:0;border-bottom:1px solid var(--color-border,#e8ebe6);border-radius:0;padding:14px 0;margin:0;}
.listing-filters .filter-group>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font:400 13px/1.5 var(--font-sans);list-style:none;}
.listing-filters .filter-group>summary::after{content:'+';font-size:18px;color:var(--color-text-muted,#667060);}
.listing-filters .filter-group[open]>summary::after{content:'\2212';}
.listing-filters>button[type=submit]{display:block;width:100%;margin:20px 0 12px;}
.listing-filters>a{font-size:13px;display:inline-block;margin:4px 12px 8px 0;}
.boutique-preview .listing-layout .product-grid:not(.product-grid--rail){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 20px;}
.boutique-preview .listing-layout:has(.listing-filter-panel[open]) .product-grid:not(.product-grid--rail){grid-template-columns:repeat(3,minmax(0,1fr));}
.boutique-preview .listing-content .product-card__image{background:var(--color-background,#fff);aspect-ratio:4/5;}
.boutique-preview .listing-content .product-card__copy{text-align:center;align-items:center;gap:4px;}
.boutique-preview .listing-content .product-card__copy h3{font:400 13px/1.5 var(--font-sans);}
.boutique-preview .listing-content .product-card__price{font:500 13px/1.5 var(--font-sans);margin:0;}
.boutique-preview .listing-content .demo-label,.boutique-preview .listing-content .demo-price-label,.boutique-preview .listing-content .product-card__stock{font-size:11px;margin:0;}
.boutique-preview .product-card .product-card__alternate{opacity:0;transition:opacity 180ms;}
@media(hover:hover) and (pointer:fine){.boutique-preview .product-card[data-alternate-ready=true] .product-card__alternate{opacity:1;}}
.catalog-filter-dialog{padding:20px;border:1px solid var(--color-border,#e8ebe6);background:var(--color-background,#fff);color:var(--color-text,#20231f);width:min(400px,calc(100vw - 24px));height:min(700px,calc(100dvh - 24px));max-width:none;max-height:none;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;}
.catalog-filter-dialog::backdrop{background:rgb(0 0 0 / .18);}
.boutique-preview .product-detail__layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);}
.boutique-preview .product-detail__information h1{font:400 clamp(22px,2vw,28px)/1.3 var(--font-sans);letter-spacing:0;margin:0 0 16px;}
.boutique-preview .product-detail__price{font:500 18px/1.5 var(--font-sans);margin:12px 0;}
.boutique-preview .product-choice p,.boutique-preview .product-description{font-size:14px;line-height:1.65;}
.boutique-preview .product-choice .product-choice__facts{font-size:13px;margin-block:16px;}
.product-information-group{border:0;border-radius:0;border-bottom:1px solid var(--color-border,#e8ebe6);padding:16px 0;margin:0;}
.product-information-group>summary{font:400 14px/1.5 var(--font-sans);display:flex;justify-content:space-between;align-items:center;cursor:pointer;}
.product-information-group>summary::after{content:'+';font-size:20px;}
.product-information-group[open]>summary::after{content:'\2212';}
.boutique-preview .product-gallery__stage{background:var(--color-background,#fff);border-radius:0;}
@media(max-width:64.99rem){.boutique-preview .listing-layout:has(.listing-filter-panel[open]){grid-template-columns:190px minmax(0,1fr);column-gap:20px;}.boutique-preview .listing-layout .product-grid:not(.product-grid--rail),.boutique-preview .listing-layout:has(.listing-filter-panel[open]) .product-grid:not(.product-grid--rail){grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:47.99rem){.boutique-preview .storefront{padding-top:24px;}.boutique-preview .storefront-heading h1{font-size:22px;}.boutique-preview .listing-layout,.boutique-preview .listing-layout:has(.listing-filter-panel[open]){grid-template-columns:minmax(0,1fr);gap:20px 0;}.listing-layout .listing-content{grid-column:1;grid-row:3;}.listing-layout .listing-filter-panel{grid-column:1;grid-row:2;}.listing-layout .listing-toolbar h2{margin-inline-start:100px;font-size:11px;}.listing-layout .listing-filter-panel>summary{width:90px;font-size:12px;}.listing-layout .listing-sort select{width:110px;font-size:12px;}.listing-layout .listing-sort button{padding:4px;}.boutique-preview .listing-layout .product-grid:not(.product-grid--rail){gap:24px 12px;}.catalog-filter-dialog{margin:auto;}.boutique-preview .product-detail__layout{grid-template-columns:minmax(0,1fr);gap:24px;}.boutique-preview .product-detail__information{position:static;}.boutique-preview .product-detail__information h1{font-size:24px;}}
@media(prefers-reduced-motion:reduce){.boutique-preview .listing-layout,.boutique-preview .product-card .product-card__alternate{transition:none;}}
html[data-motion=off] .listing-layout,html[data-motion=off] .product-card .product-card__alternate{transition:none;}
/* Native numeric entry remains usable when the enhancement scripts are unavailable. */
.boutique-preview .product-detail .quantity-control [data-quantity-step]{display:none;}
html.cart-auto-update .boutique-preview .product-detail .quantity-control [data-quantity-step]{display:inline-flex;}

.listing-layout[data-filter-enhanced] .listing-sort button{display:none;}
.listing-filters .filter-panel-heading h2{display:none;}
.catalog-filter-dialog .filter-panel-heading h2{display:block;}
.listing-filters label[for=id_category],.listing-filters label[for=id_stock]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.boutique-preview .product-detail{width:calc(100% - 2 * var(--editorial-gutter));max-width:88rem;}
