/* A product-first catalogue, with discovery contained inside Shop. */
.shop-page{padding-top:24px;padding-bottom:40px}
.shop-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}
.shop-heading{display:flex;align-items:center;gap:24px;min-width:0}
.shop-heading h1{font-size:32px;line-height:1.2;letter-spacing:-.9px;margin:0}
.shop-heading>div{min-width:0}
.shop-all-link{display:inline-flex;align-items:center;min-height:36px;font-size:13px;color:var(--red);text-decoration:underline;text-underline-offset:4px}
.shop-wishlist-return{font-size:14px;white-space:nowrap}
.shop-discovery{display:flex;align-items:center;gap:28px}
.shop-discovery-link{display:flex;align-items:center;gap:9px;min-height:44px;font-size:14px;font-weight:500;white-space:nowrap}
.shop-discovery-link>svg{width:14px;height:14px;color:var(--red)}
.shop-discovery-link:hover{color:var(--red)}
.shop-category-rail{display:flex;gap:20px;overflow-x:auto;padding:0 0 16px;margin-bottom:12px;border-bottom:0;scrollbar-width:thin}
.shop-category-rail>a{display:flex;flex:1 0 104px;flex-direction:column;align-items:center;gap:10px;text-align:center;font-size:13px;line-height:1.4;color:var(--ink);padding-bottom:4px}
.shop-category-rail .category-photo{width:88px;height:88px;border-radius:50%;padding:8px;display:grid;place-items:center;background:#f7f4f3;overflow:hidden;border:0}
.shop-category-rail .category-photo img{width:100%;height:100%;max-height:72px;object-fit:contain;padding:0;transform:none;mix-blend-mode:multiply}
.shop-category-rail .selected{color:var(--red);font-weight:600}
.shop-category-rail .selected>span:last-child{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.shop-page .catalog-layout{padding-top:0;margin-top:0;border-top:0}
.shop-page .results-controls{border-top:0}
.shop-subpage-back{display:flex;align-items:center;justify-content:space-between;padding-top:8px;gap:16px}
.shop-subpage-back>.text-button:first-child>svg{transform:rotate(180deg)}
.shop-subpage-back+.shell>.breadcrumbs{display:none}
@media(max-width:1000px){
 .shop-intro{align-items:flex-start;flex-direction:column;gap:8px}
 .shop-heading{width:100%;justify-content:space-between}
}
@media(max-width:760px){
 #site-header .nav-wrap{display:none}
 .shop-page{padding-top:16px}
 .shop-intro{gap:0;margin-bottom:8px}
 .shop-heading{gap:12px}
 .shop-heading h1{font-size:26px;letter-spacing:-.6px}
 .shop-wishlist-return{font-size:13px}
 .shop-discovery{width:100%;justify-content:space-between;gap:8px}
 .shop-discovery-link{font-size:13px;gap:5px;min-height:44px;min-width:44px}
 .shop-discovery-link>svg{display:none}
 .shop-category-rail{gap:10px;padding-bottom:8px;margin-bottom:4px;margin-right:-20px;padding-right:20px}
 .shop-category-rail>a{flex:0 0 68px;gap:6px;font-size:12px}
 .shop-category-rail .category-photo{width:64px;height:64px;padding:5px}
 .shop-category-rail .category-photo img{max-height:54px}
 .shop-page .results-controls{margin-bottom:8px;padding-top:0;box-shadow:none}
 .shop-subpage-back{padding-top:4px}
}
@media(max-width:360px){
 .shop-category-rail{margin-right:-16px;padding-right:16px}
 .shop-discovery-link{font-size:12px}
}

/* Synced test products use the normal catalogue; a compact notice identifies the sandbox. */
.test-catalogue-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;padding-bottom:16px;border-bottom:1px solid var(--border,#ddd);font-size:14px;line-height:1.5}
.test-catalogue-notice>div{display:grid;gap:3px;min-width:0}.test-catalogue-notice span{color:#615a5d}.test-catalogue-notice>a{flex:none}
.catalogue-option-field{margin:20px 0}.catalogue-option-field select{width:100%;min-height:48px;max-width:100%;white-space:normal}
.detail-price{flex-wrap:wrap;gap:8px 12px}.detail-price del{margin-inline-start:10px;font-size:16px;font-weight:400;color:#6a6064}.detail-price .sale-saving{color:#7c2640;font-weight:600}
@media(max-width:480px){.test-catalogue-notice{align-items:flex-start;font-size:13px;gap:12px}.test-catalogue-notice span{display:block;max-width:28ch}.catalogue-option-field select{font-size:16px}}

.test-product.product-page .purchase-actions{position:static;inset:auto;box-shadow:none;border:0;padding:0;margin:16px 0;width:auto;z-index:auto}.test-product.product-page{padding-bottom:32px}

/* At 320px the count needs its own row once filter badges are present. */
@media(max-width:360px){
 .results-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px}
 .results-controls>#results-count{grid-column:1/-1}
 .results-controls .mobile-filter,.results-controls .mobile-sort{width:100%;max-width:none;justify-content:center}
}

/* Category labels organise the existing grid without adding another browse step. */
.catalog-group-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;min-width:0;padding-top:0;margin-bottom:-12px}
.catalog-group-heading:first-child{padding-top:0}
.catalog-group-heading h2{font:600 21px/1.35 var(--font);letter-spacing:-.02em;margin:0;min-width:0;overflow-wrap:anywhere}
.catalog-group-heading .text-button{min-height:44px;font-size:13px;flex-shrink:0}
@media(max-width:760px){.catalog-group-heading{gap:0 12px;margin-bottom:-12px}.catalog-group-heading h2{font-size:18px;flex:1;min-width:120px}.catalog-group-heading .text-button{font-size:13px}}
