.shop-page{background-color:var(--bg-color);min-height:100vh}.shop-hero{padding:calc(var(--header-height) + 40px) 16px 40px;text-align:center}.shop-hero-label{font-size:.7rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;opacity:.5;margin-bottom:12px}.shop-hero-title{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,5rem);text-transform:uppercase;line-height:1;margin-bottom:12px}.shop-hero-subtitle{font-size:clamp(.9rem,2.5vw,1.1rem);opacity:.7}.shop-main{padding:0 16px 80px;max-width:1400px;margin:0 auto}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.product-card{display:block;text-decoration:none;color:inherit;border-radius:8px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;background:#fff;box-shadow:0 2px 10px #0000000d}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001a}.product-card-image{aspect-ratio:1 / 1;overflow:hidden;background:#f0ede3}.product-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.product-card:hover .product-card-image img{transform:scale(1.04)}.product-card-body{padding:16px}.product-card-name{font-family:var(--font-display);font-size:1.1rem;text-transform:uppercase;margin:0 0 8px;line-height:1.2}.product-card-cta{display:inline-block;font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;opacity:.4;transition:opacity .2s}.product-card:hover .product-card-cta{opacity:.9}.shop-empty{text-align:center;opacity:.4;padding:4rem 0;font-size:1.1rem}.product-detail-page{background-color:var(--bg-color);min-height:100vh}.product-detail-main{max-width:1200px;margin:0 auto;padding:calc(var(--header-height) + 30px) 16px 80px}.product-back-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;opacity:.45;text-decoration:none;color:inherit;margin-bottom:2.5rem;transition:opacity .2s}.product-back-link:hover{opacity:.9}.product-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}@media(max-width:768px){.product-detail-layout{grid-template-columns:1fr;gap:2rem}.product-detail-gallery{position:relative;top:auto}}.product-detail-gallery{position:relative}.product-detail-img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:8px;background:#f0ede3}.gallery-thumbs{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.gallery-thumb{width:72px;height:72px;border:2px solid transparent;border-radius:6px;overflow:hidden;cursor:pointer;padding:0;background:#f0ede3;transition:border-color .2s;flex-shrink:0}.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}.gallery-thumb.active,.gallery-thumb:hover{border-color:var(--text-color, #1a1a1a)}.product-detail-info{padding-top:.5rem}.product-detail-name{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);text-transform:uppercase;line-height:1;margin:0 0 2rem}.product-detail-price{font-size:1.3rem;font-weight:600;margin-bottom:2rem;opacity:.7}.variant-group{margin-bottom:1.5rem}.variant-label{font-size:.7rem;letter-spacing:2px;text-transform:uppercase;opacity:.5;font-weight:600;display:block;margin-bottom:.75rem}.variant-options{display:flex;flex-wrap:wrap;gap:.5rem}.variant-btn{padding:.5rem 1rem;border:2px solid rgba(0,0,0,.15);background:transparent;color:var(--text-color);font-size:.85rem;font-family:var(--font-primary);cursor:pointer;border-radius:6px;transition:border-color .2s,background .2s}.variant-btn:hover,.variant-btn.selected{border-color:var(--text-color);background:#0000000d}.variant-btn:disabled{opacity:.25;cursor:not-allowed;text-decoration:line-through}.add-to-cart-btn{width:70%;padding:1rem;background:var(--text-color);color:var(--bg-color);border:2px solid var(--text-color);font-size:.85rem;font-family:var(--font-primary);font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:8px;transition:background .2s,color .2s}.add-to-cart-btn:hover{background:transparent;color:var(--text-color)}.add-to-cart-btn:disabled{opacity:.3;cursor:not-allowed}.toast-added{position:fixed;bottom:2rem;right:2rem;background:var(--text-color);color:var(--bg-color);padding:.75rem 1.5rem;font-size:.85rem;font-weight:600;border-radius:8px;transform:translateY(calc(100% + 3rem));opacity:0;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease;z-index:1000;pointer-events:none}.toast-added.show{transform:translateY(0);opacity:1}
