.shop-hero{padding:clamp(72px,10vw,128px) 0 clamp(46px,7vw,82px);background:linear-gradient(122deg,#e7eaef 0%,#f8f9fb 55%,#e9ffc4 150%)}
.shop-hero__inner{max-width:850px}.shop-hero h1{max-width:740px;margin:16px 0 18px}.shop-hero .lead{max-width:690px}
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;color:var(--muted);font-size:14px}.shop-toolbar span{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.product-card__image{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;background:#fff;overflow:hidden}.product-card__image img{width:100%;height:100%;object-fit:contain;transition:transform .35s var(--ease)}.product-card:hover img{transform:scale(1.035)}.product-card__body{display:flex;flex:1;flex-direction:column;padding:20px}.product-card h2{font-size:20px;line-height:1.18}.product-card__price{margin:9px 0 18px;font-size:16px;font-weight:700;color:var(--muted)}.product-card__options{margin-top:auto;display:grid;gap:6px;font-size:12px;font-weight:700;color:var(--muted-2);letter-spacing:.04em;text-transform:uppercase}.product-card select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;text-transform:none}.product-card .btn{margin-top:12px;padding:12px 18px}.shop-loading{grid-column:1/-1;padding:60px;text-align:center;border:1px dashed var(--line);border-radius:var(--r-md);color:var(--muted)}
.cart-button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:var(--r-pill);padding:10px 15px;background:var(--surface);font-size:14px;font-weight:700}.cart-button span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px}.cart{position:fixed;inset:0;z-index:100;visibility:hidden}.cart.is-open{visibility:visible}.cart__shade{position:absolute;inset:0;background:rgba(25,30,36,.42);opacity:0;transition:opacity .22s var(--ease)}.cart.is-open .cart__shade{opacity:1}.cart__panel{position:absolute;right:0;top:0;display:flex;flex-direction:column;width:min(440px,100%);height:100%;padding:24px;background:var(--surface);box-shadow:-18px 0 48px rgba(25,30,36,.2);transform:translateX(100%);transition:transform .28s var(--ease)}.cart.is-open .cart__panel{transform:translateX(0)}.cart__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line)}.cart__head h2{font-size:28px}.icon-button{border:0;background:transparent;font-size:32px;line-height:1;padding:4px}.cart__items{flex:1;overflow:auto;padding:18px 0}.cart__empty{color:var(--muted)}.cart-item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:13px 0;border-bottom:1px solid var(--line-soft)}.cart-item img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:8px}.cart-item h3{font-size:14px;line-height:1.35}.cart-item p{font-size:13px;color:var(--muted);margin-top:4px}.cart-item button{border:0;background:transparent;color:var(--muted);font-size:20px}.cart__foot{border-top:1px solid var(--line);padding-top:18px}.cart__total{display:flex;justify-content:space-between;margin-bottom:14px}.cart__foot .tiny{text-align:center;margin-top:10px}.shop-footer{padding:28px 0;background:var(--ink);color:var(--on-dark-muted)}.shop-footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.shop-footer .brand{color:var(--on-dark)}.shop-footer p{font-size:13px}
@media(max-width:850px){.product-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.product-grid{grid-template-columns:1fr}.shop-toolbar,.shop-footer .wrap{align-items:flex-start;flex-direction:column}.shop-toolbar{gap:6px}.cart__panel{padding:20px}}
