/* v59: consistent photographed catalogue; source media and product identity remain unchanged. */
body.customer-shop #topFamilies { scrollbar-width:none; }
body.customer-shop #topFamilies::-webkit-scrollbar { display:none; }
body.customer-shop .shop-category-mosaic { gap:12px; margin:12px 0 28px; padding:0; }
body.customer-shop .shop-category-mosaic > a { border:1px solid #e1e7eb; border-radius:8px; aspect-ratio:1 / 1.12; background:#fff; }
body.customer-shop .shop-category-tile { gap:10px; padding:12px 8px 13px; box-shadow:none; }
body.customer-shop .shop-category-tile-visual { border-radius:4px; background:#f8fafb; padding:5px; box-sizing:border-box; }
body.customer-shop .shop-category-tile-visual > :is(img,svg) { object-fit:contain; transition:transform .2s ease; }
body.customer-shop .shop-category-tile > strong { font-size:14px; line-height:1.45; font-weight:750; color:#172f43; letter-spacing:-.035em; }
body.customer-shop .shop-category-photo-missing { font-size:12px; color:#687b88; }
body.customer-shop .shop-category-tile:hover { border-color:#90a6b5; background:#fff; }
body.customer-shop .shop-card { border:1px solid #e3e9ed; border-radius:8px; overflow:hidden; background:#fff; transition:border-color .2s ease,box-shadow .2s ease; }
body.customer-shop .shop-card:hover { border-color:#9aafbd; box-shadow:0 6px 20px #17364c0b; }
body.customer-shop .shop-card-media { aspect-ratio:1; background:#f8fafb; border-radius:0; }
body.customer-shop .shop-card-media > :is(img,svg) { padding:12px; object-fit:contain; object-position:center; }
body.customer-shop .shop-card-body { padding:14px 12px; gap:8px; }
body.customer-shop .shop-card-title { min-height:3em; font-size:15px; line-height:1.5; font-weight:700; color:#142e42; }
body.customer-shop .shop-card-spec { font-size:13px; color:#556876; line-height:1.5; }
body.customer-shop .shop-card-price { font-size:18px; color:#122f46; font-weight:800; margin-top:auto; }
body.customer-shop .shop-card-price small { display:block; font-size:12px; line-height:1.5; margin-top:3px; }
body.customer-shop .shop-card-detail { min-height:44px; width:100%; justify-content:center; margin-top:4px; border:1px solid #d3dfe7; border-radius:5px; background:#fff; color:#254c67; font-size:14px; font-weight:650; box-sizing:border-box; }
body.customer-shop .shop-card-detail:hover { background:#f0f5f8; border-color:#8da6b8; }
.shop-photo-pending { display:flex; align-items:center; justify-content:center; position:absolute; inset:0; padding:18px; color:#74838e; font-size:13px; text-align:center; }
body.customer-shop .customer-home-view-all { font-size:14px; }
body.customer-shop .customer-home-family-grid { gap:18px 14px; }
body.customer-item-page .shop-product-media > button { background:#fafbfc; border:1px solid #e3e9ed; border-radius:8px; }
body.customer-item-page .shop-product-media figcaption { font-size:13px; line-height:1.6; }
.world-tool-window { border-radius:10px; }
.world-tool-copy { padding:10px 20px 0; text-align:left; }
.world-tool-copy h2 { font-size:17px; line-height:1.4; margin:0; letter-spacing:-.025em; }
.world-tool-eyebrow, .world-tool-preview { display:none; }
.world-tool-name { font-size:14px; line-height:1.4; }
.world-tool-caption { font-size:12px; }
.world-banner-inline-pause { font-size:12px; min-height:40px; }
@media(min-width:1024px) {
 body.customer-shop .customer-home-family-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
 body.customer-shop #grid.shop-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px 14px; }
}
@media(min-width:700px) and (max-width:1023px) {
 body.customer-shop .customer-home-family-grid, body.customer-shop #grid.shop-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 14px; }
}
@media(max-width:699px) {
 body.customer-shop .shop-category-mosaic { gap:10px; }
 body.customer-shop .shop-category-tile > strong { font-size:16px; }
 body.customer-shop .customer-home-family-grid, body.customer-shop #grid.shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 10px; }
 body.customer-shop .shop-card-body { padding:12px 10px; }
 body.customer-shop .shop-card-title { font-size:14px; }
 .world-tool-name { font-size:13px; }
 .world-tool-caption { display:none; }
}
@media(hover:hover) and (pointer:fine) {
 body.customer-shop .shop-category-tile:hover .shop-category-tile-visual > :is(img,svg) { transform:scale(1.08); }
}
@media(prefers-reduced-motion:reduce) {
 body.customer-shop .shop-card, body.customer-shop .shop-category-tile-visual > :is(img,svg) { transition:none; }
 body.customer-shop .shop-category-tile:hover .shop-category-tile-visual > :is(img,svg) { transform:none; }
}
