.shop-page{background:#fff;color:var(--ink)}
.shop-page::before{opacity:.025}
.shop-header{position:sticky;z-index:24;top:0;height:72px;padding:0 1.25rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(255,255,255,.94);backdrop-filter:blur(16px)}
.shop-wordmark{grid-column:2;grid-row:1;width:clamp(7.5rem,10vw,9rem)}
.shop-wordmark .brand-crop{width:100%}
.shop-header p,.shop-header>a:last-child,.shop-index,.shop-product-meta,.shop-footer{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.6rem}
.shop-header p{grid-column:1;grid-row:1;justify-self:start}
.shop-header>a:last-child{justify-self:end;text-decoration:none}
.shop-main{min-height:100svh}
.shop-index{min-height:38px;padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between}
.product-list{padding:clamp(2rem,4vw,5rem) clamp(1rem,3.5vw,4.5rem) clamp(7rem,10vw,11rem);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:clamp(4rem,7vw,8rem) clamp(1rem,3.5vw,4rem)}
.shop-product{position:relative;min-width:0}
.shop-product-image{position:relative;display:grid;place-items:center;aspect-ratio:1/1;overflow:hidden;text-decoration:none;background:transparent}
.shop-product-image img{width:100%;height:100%;display:block;object-fit:contain;filter:saturate(.9) contrast(1.02);transition:transform .65s cubic-bezier(.18,.78,.2,1),filter .35s ease}
.product-star-pendant .shop-product-image img{width:84%;height:84%}
.product-asymmetric-vest .shop-product-image img,.product-printed-draped-set .shop-product-image img,.product-no-money-no-dogu-dogu-tee .shop-product-image img,.product-no-money-no-dogu-dogu-zip-hoodie .shop-product-image img,.product-hairoun-studios-cropped-ribbed-tank .shop-product-image img,.product-hairoun-studios-logo-beanie .shop-product-image img{width:88%;height:88%}
.shop-product:hover .shop-product-image img{transform:scale(1.025);filter:saturate(1) contrast(1.03)}
.view-object{position:absolute;z-index:2;right:.4rem;top:.4rem;padding:.48rem .58rem;border:1px solid currentColor;border-radius:99px;color:#111;background:rgba(255,255,255,.86);backdrop-filter:blur(8px);text-transform:uppercase;letter-spacing:.11em;font-size:.48rem;opacity:0;transform:translateY(-4px);transition:opacity .22s,transform .22s}
.shop-product:hover .view-object,.shop-product-image:focus-visible .view-object{opacity:1;transform:none}
.shop-product-meta{padding:.45rem 0 0;display:grid;grid-template-columns:1fr auto;grid-template-areas:"name object" "status status";gap:.25rem 1rem;align-items:start}
.shop-product-meta p{margin:0;color:#595850}
.shop-product-meta p:first-child{grid-area:object;text-align:right}
.shop-product-meta p:last-child{grid-area:status}
.shop-product-meta h2{grid-area:name;margin:0;font-family:var(--sans);font-size:.6rem;line-height:1.3;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink)}
.shop-footer{padding:1.2rem 1.25rem 6.8rem;display:flex;justify-content:space-between;border-top:1px solid rgba(11,11,11,.12)}
@media(max-width:1100px){.product-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.product-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4.5rem 1rem}}
@media(max-width:600px){
  .shop-header{height:66px;padding:0 .8rem;grid-template-columns:1fr auto 1fr}.shop-header p{display:block;font-size:.5rem}
  .shop-wordmark{width:6.7rem}
  .shop-index{min-height:30px;padding:0 .8rem;font-size:.49rem}
  .product-list{padding:1.3rem .75rem 6rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:3.8rem .75rem}
  .shop-product-image{aspect-ratio:1/1}
  .view-object{display:none}
  .shop-product-meta{padding-top:.35rem;display:block}.shop-product-meta h2{font-size:.52rem;line-height:1.35}.shop-product-meta p{margin-top:.16rem;font-size:.46rem}.shop-product-meta p:first-child{display:none}.shop-product-meta p:last-child{text-align:left}
  .shop-footer{padding:.9rem .8rem 5.8rem;display:grid;gap:.35rem}
}
@media(prefers-reduced-motion:reduce){.shop-product-image img,.view-object{transition:none;transform:none!important}}
