.shop-page{display:grid;gap:18px}
.shop-intro{padding:18px 20px}
.shop-intro h1{margin:0 0 8px;font-size:32px}
.shop-intro p{margin:0;color:var(--muted);max-width:860px}
.shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.product{padding:14px;color:var(--text);text-decoration:none;display:block}
.product:hover{transform:translateY(-2px)}
.product-thumb{aspect-ratio:1;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,var(--surface-2),var(--surface));margin-bottom:12px;border:1px solid var(--line);display:grid;place-items:end start;padding:0;position:relative}
.product-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.product-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.45) 100%)}
.product-thumb span{position:absolute;left:14px;bottom:12px;z-index:1;font-size:22px;font-weight:800;letter-spacing:.02em}
.product-title{font-size:18px;font-weight:700;margin:0 0 8px}
.product-type{color:var(--muted);font-size:14px;margin-top:6px;line-height:1.45}
@media (max-width:1100px){.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-intro h1{font-size:28px}}
@media (max-width:560px){.shop-grid{grid-template-columns:1fr}.product-thumb{aspect-ratio:1.2}}