/* Shared responsive layout: full-width canvas with centred content. */
:root{--shop-content:1600px;--shop-gutter:clamp(18px,4vw,64px)}
html{min-width:0;scroll-padding-top:95px}body{width:100%;max-width:none!important;margin:0!important}
.shopHeaderInner{max-width:var(--shop-content);padding-inline:var(--shop-gutter);gap:24px}
.shopHeader nav{flex-wrap:nowrap;white-space:nowrap;gap:clamp(16px,1.8vw,28px)}
#collection{width:100%;max-width:var(--shop-content);margin-inline:auto;padding-inline:var(--shop-gutter);padding-bottom:64px}
.collectionTop{align-items:center;gap:24px;margin-bottom:24px}.collectionTop h2{margin:0;font-size:clamp(34px,3.4vw,52px)}
.collectionTop .search{flex-shrink:0}.collectionTop input{min-width:0;width:200px}
#grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 22px}
.product img{padding:0!important;mix-blend-mode:normal}
.productInfo{padding:14px 0 0}.productInfo button{font-size:clamp(17px,1.4vw,22px);line-height:1.25;overflow-wrap:anywhere}
.filters{gap:18px}.filters #categories{scrollbar-width:thin}.filters #categories button{min-height:44px}
.productDetail{min-width:0}.productDetail>*{min-width:0}.productDetail dl{overflow-wrap:anywhere}
#productDialog,#savedDialog,#signupDialog{max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);overflow-y:auto}
#productDialog{width:min(1100px,calc(100vw - 40px))}
.shopDrawer,.shopBag{max-height:100dvh;overscroll-behavior:contain}.shopDrawer a,.shopBag button{min-height:36px}
.shopFooter{width:100%}.shopFooter>div{min-width:0}.shopFooterBottom{flex-wrap:wrap}.shopFooter a{overflow-wrap:anywhere}
.setCategorySection .setsGrid{align-items:stretch}.setsGrid img{max-width:100%}
.builderLayout>*{min-width:0}.setLine>span{min-width:0;overflow-wrap:anywhere}.setLine>div{flex-shrink:0}
button,a,input,select,textarea{touch-action:manipulation}img{max-width:100%}
@media(min-width:1700px){.featured,.shopCategories,.shopCommunity{padding-inline:max(var(--shop-gutter),calc((100vw - 1472px)/2))!important}.shopFooter{padding-inline:max(var(--shop-gutter),calc((100vw - 1472px)/2))!important}}
@media(max-width:1023px){
 .shopHeader nav{display:none}.shopHeaderInner{gap:18px;min-height:72px}.shopActions{margin-left:auto}
 #grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px}
 .builderLayout{grid-template-columns:1fr;gap:26px}.setSummary{position:static;grid-row:1;max-height:420px;overflow-y:auto;overscroll-behavior:contain}
 .caseSummaryImage{width:100px;height:100px;object-fit:contain;float:right;margin:0 0 12px 16px}.setSummary>h3{font-size:25px}.setSummary>.eyebrow{margin-bottom:12px}.setSummary>button{clear:both}
 .shopCategories>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr))}
 .communityGrid img{height:clamp(240px,34vw,390px)}
}
@media(min-width:640px) and (max-width:1023px){.collectionTop input{width:180px}.productInfo button{font-size:19px}}
@media(max-width:850px){.productDetail{grid-template-columns:1fr;gap:22px}.productDetail img{max-height:420px;object-fit:contain}.productDetail h2{font-size:34px}}
@media(max-width:639px){
 :root{--shop-gutter:18px}html{scroll-padding-top:80px}
 .shopHeaderInner{padding-inline:14px;gap:10px;min-height:66px}.shopWordmark{font-size:21px;letter-spacing:.17em}.shopMenu{min-width:30px}
 .shopActions{gap:2px}.shopActions>a,.shopActions>button{width:36px;height:44px}.shopActions svg{width:20px;height:20px}
 #collection{padding-top:42px;padding-bottom:44px}.collectionTop{display:flex;flex-direction:column;align-items:stretch;gap:20px;margin-bottom:20px}.collectionTop h2{font-size:36px}
 .collectionTop .search{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px}.collectionTop input{width:100%;font-size:16px}
 .filters{gap:10px}.filters .sortControl{padding-left:8px}.filters #sort{min-width:80px;font-size:12px}.filters #categories button{padding:12px 9px;font-size:12px}
 #grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}.productInfo button{font-size:18px;line-height:1.22}.productInfo p{font-size:9px;letter-spacing:.07em}.ratingPreview{margin:9px 0;gap:5px}.ratingPreview>span{font-size:11px;letter-spacing:1px}.ratingPreview small{font-size:10px}
 .homeSave,.save{width:40px;height:40px;top:3px;right:3px}.homeSave svg,.save svg{width:22px;height:22px}
 .shopCategories>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.shopCategories span{font-size:18px;margin-top:11px}
 .hero-copy{width:100%;padding-inline:22px}.hero-copy h1{font-size:clamp(49px,13vw,76px)!important}.hero-copy-bottom{display:block;margin-top:25px}.hero-copy-bottom>p{font-size:17px;max-width:280px}.hero-side-note{display:none}.hero-image{object-position:76% center}
 .featured .section-header{display:block}.featured-intro{margin-top:20px}.featured .product-meta h3{font-size:18px;line-height:1.25}.featured .product-grid{gap:28px 12px}
 .shopSectionTitle{align-items:center}.shopSectionTitle h2{font-size:32px}.shopBox h2{font-size:45px}.shopMeaning h2{font-size:35px}
 .builderControls{gap:14px 10px}.builderControls input,.builderControls select,.sizePreference select,.contactDemo input,.contactDemo textarea,.searchPanel input,#signupDemo input,#signupDemo select{font-size:16px}
 #boxProducts{padding-right:0;gap:20px 12px}.setSummary{max-height:390px}.caseSummaryImage{width:80px;height:80px}.setLine{gap:8px}.setLine img{width:40px;height:50px}.setLine button{min-width:32px;min-height:36px;padding:4px}.setLine>div{gap:3px}
 #productDialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:20px}#savedDialog{padding:22px}.productDetail h2{font-size:31px}.productDetail img{max-height:310px}.productDetail dl{font-size:12px}.productDetail button{min-height:44px}
 .information{padding:105px 20px 50px}.information h1{font-size:38px;overflow-wrap:anywhere}.faqGroup summary{font-size:16px}.setsPage{padding-inline:18px}.setCategoryNav{gap:24px}.setsGrid .shopButton{min-height:44px}
 .shopFooter{gap:24px 18px}.shopFooterBottom{gap:15px}.shopFooterBottom label{max-width:100%}
 #signupDialog{padding:30px 22px!important}.searchResults img{width:55px;height:65px}.searchResults a{gap:14px}
}
@media(max-width:359px){.shopHeaderInner{padding-inline:10px;gap:7px}.shopWordmark{font-size:19px;letter-spacing:.13em}.shopActions>a,.shopActions>button{width:32px}.shopActions svg{width:19px;height:19px}.shopMenu{min-width:27px}.productInfo button{font-size:17px}.collectionTop .search{gap:9px}.setLine>span{font-size:11px}}
@media(max-height:550px) and (min-width:640px){.shopHeaderInner{min-height:60px}.shopDrawer,.shopBag{padding-top:16px}.setSummary{max-height:calc(100dvh - 85px)}#productDialog,#signupDialog,#savedDialog{max-height:calc(100dvh - 20px)}}

@media(max-height:550px) and (min-width:600px){#productDialog .productDetail{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}#productDialog .productDetail img{max-height:240px;object-fit:contain}#productDialog .productDetail h2{font-size:28px}#productDialog .productDetail>div:first-child{position:sticky;top:0;align-self:start}}
.newsletter-form input[type=email]{font-size:16px}
