/* Uniform product slots; normalization affects only the image, not badges, hearts or links. */
body.shop .shop-card .shop-card-image{position:relative!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1/1.12!important;padding:12px!important;box-sizing:border-box!important;overflow:hidden!important;overflow:clip!important;background:#fff!important}
body.shop .shop-card .shop-card-image>img{position:absolute!important;inset:12px!important;display:block!important;width:calc(100% - 24px)!important;height:calc(100% - 24px)!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;object-fit:contain!important;object-position:center!important;transform-origin:center!important;margin:0!important;transition:none!important;pointer-events:none}
body.shop .shop-card .shop-card-image>.shop-no-photo{position:absolute;inset:12px;display:grid;place-items:center}
@media(max-width:700px){body.shop .shop-card .shop-card-image{padding:10px!important}body.shop .shop-card .shop-card-image>img{inset:10px!important;width:calc(100% - 20px)!important;height:calc(100% - 20px)!important}}

/* 158: consistent product-card rhythm across storefront grids. */
body.shop .shop-grid{align-items:stretch!important}
body.shop .shop-grid>.shop-card{align-self:stretch!important;height:100%!important;display:flex!important;flex-direction:column!important;box-sizing:border-box}
body.shop .shop-card>.shop-card-image{flex:0 0 auto!important}
body.shop .shop-card>.shop-card-body{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-width:0;min-height:0;box-sizing:border-box}
body.shop .shop-card .club100-meta{height:28px!important;min-height:28px!important;flex:0 0 28px!important;min-width:0;align-items:center!important}
body.shop .shop-card .club100-meta>small{display:block;min-width:0;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis;line-height:20px!important;overflow-wrap:normal!important}
body.shop .shop-card .club100-meta>*:not(small){flex-shrink:0}
body.shop .shop-card .shop-card-title{line-height:1.4!important;height:4.2em!important;min-height:4.2em!important;max-height:4.2em!important;flex:0 0 auto!important;margin:0!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important}
body.shop .shop-card .shop-card-bottom{margin-top:auto!important;flex-shrink:0!important}
body.shop .shop-card .design-card-buy{flex-shrink:0!important;box-sizing:border-box}

/* 159: shared text-first category banner, no decorative image requests. */
body.shop .catalog27-intro.category159{--banner-accent:#9e1239;--banner-tint:#fcf1f4;--banner-edge:#eadbe0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center;min-height:180px;padding:26px 30px;margin:14px 0 20px;border:1px solid var(--banner-edge);border-radius:18px;background:linear-gradient(105deg,#fff 45%,var(--banner-tint));isolation:isolate}
body.shop .category159[data-world=hockey]{--banner-accent:#28618c;--banner-tint:#edf6fc;--banner-edge:#d7e6f0}
body.shop .category159[data-world=football]{--banner-accent:#337448;--banner-tint:#eff8ef;--banner-edge:#dbe8da}
body.shop .category159[data-world=pokemon]{--banner-accent:#9a7400;--banner-tint:#fffae6;--banner-edge:#e8dfbf}
body.shop .category159[data-world=lego]{--banner-accent:#ae4428;--banner-tint:#fff1e8;--banner-edge:#eddbcf}
body.shop .category159[data-world=basketball]{--banner-accent:#9e5724;--banner-tint:#fff3e7;--banner-edge:#ecddcd}
body.shop .category159[data-world=nfl]{--banner-accent:#65528e;--banner-tint:#f4effb;--banner-edge:#e1d9ef}
body.shop .catalog27-intro.category159:after{width:340px;height:340px;right:-110px;top:-150px;border:26px solid var(--banner-edge);opacity:.28;z-index:-1}
body.shop .category159 .catalog27-eyebrow{color:var(--banner-accent)!important;font-size:10px;line-height:1.5;letter-spacing:1.2px;margin:0 0 8px}
body.shop .category159 h1{font-size:clamp(23px,2.2vw,32px);line-height:1.2;letter-spacing:-.65px;overflow-wrap:anywhere;margin:0 0 10px}
body.shop .category159 p:not(.catalog27-eyebrow){font-size:14px;line-height:1.65;margin:0;max-width:720px}
body.shop .category159 .catalog27-search{margin-top:8px!important}
body.shop .category159-summary{display:flex;align-items:center;gap:12px}
body.shop .category159 .catalog27-count{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:150px;box-sizing:border-box;padding:18px;border-radius:16px;background:#fff;border:1px solid var(--banner-edge);font-weight:400;font-size:12px;white-space:nowrap}
body.shop .category159 .catalog27-count strong{font-size:28px;line-height:1.2;font-weight:800;color:#171d29}
body.shop .category159-icon{display:grid;place-items:center;width:56px;height:56px;border:1px solid var(--banner-edge);border-radius:16px;color:var(--banner-accent);background:#ffffff90;flex-shrink:0}
body.shop .category159-icon svg{width:30px;height:30px}
@media(max-width:900px){body.shop .catalog27-intro.category159{gap:18px;padding:24px}body.shop .category159-icon{display:none}body.shop .category159 .catalog27-count{min-width:130px;padding:15px}}
@media(max-width:600px){body.shop .catalog27-intro.category159{grid-template-columns:minmax(0,1fr);min-height:0;padding:20px;gap:15px;border-radius:14px;margin:12px 0 16px}body.shop .category159 h1{font-size:25px}body.shop .category159 p:not(.catalog27-eyebrow){font-size:13px}body.shop .category159 .catalog27-count{flex-direction:row;gap:9px;min-width:0;padding:9px 12px;border-radius:10px}body.shop .category159 .catalog27-count strong{font-size:19px}body.shop .category159-icon{display:grid;width:38px;height:38px;border-radius:10px}body.shop .category159-icon svg{width:23px;height:23px}}
