.shop[data-astro-cid-2eaphvki]{padding-block:var(--space-6) var(--space-8)}.shop__eyebrow[data-astro-cid-2eaphvki]{color:var(--brand-deeper);margin-block-end:var(--space-2)}.shop__heading[data-astro-cid-2eaphvki]{font-family:var(--font-display);color:var(--text);margin-block-end:var(--space-5)}.shop-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding-block:var(--space-8);color:var(--text-muted)}.shop-loading__spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.shop-filter{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block-end:var(--space-5)}.shop-filter__btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:2px solid var(--border-strong);background:var(--surface);color:var(--text-muted);font-family:var(--font-mono);font-weight:var(--weight-bold);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);cursor:pointer;transition:background .18s var(--ease),border-color .18s,color .18s,transform .18s var(--ease);min-height:var(--tap-target-min)}.shop-filter__btn:hover{border-color:var(--brand);color:var(--brand-deeper);transform:translateY(-1px)}.shop-filter__btn--active{background:var(--grad-card);border-color:transparent;color:#fff;box-shadow:var(--shadow-sm)}.product-card--skeleton{pointer-events:none;box-shadow:var(--shadow-card)}.shop-grid [data-slot=skeleton]{background:color-mix(in srgb,var(--border) 70%,var(--surface-warm))}.shop-empty{padding-block:var(--space-8);text-align:center;color:var(--text-muted);font-size:var(--text-md)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-5)}.product-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:var(--text);box-shadow:var(--shadow-card);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}.product-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.55) 48%,transparent 64%);background-size:250% 100%;background-position:200% 0;opacity:0;pointer-events:none;transition:opacity .3s var(--ease);mix-blend-mode:overlay}.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--brand-light);text-decoration:none;color:var(--text)}.product-card:hover .product-card__media:after{opacity:1;animation:holo-swipe .9s var(--ease-out)}@keyframes holo-swipe{0%{background-position:200% 0}to{background-position:-120% 0}}.product-card__media{position:relative;aspect-ratio:1 / 1;overflow:hidden;background:var(--surface-warm)}.product-card__image{width:100%;height:100%;object-fit:cover;display:block}.product-card__image--placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--text-sm);height:100%}.product-card__body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.product-card__title{margin:0;font-family:var(--font-display);font-size:var(--text-base);color:var(--text);line-height:var(--leading-snug)}.product-card__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.product-card__category{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--brand-deeper);background:var(--brand-pale);padding:3px var(--space-2);border-radius:var(--radius-full)}.product-card__price{font-family:var(--font-mono);font-weight:var(--weight-bold);font-size:var(--text-base);font-variant-numeric:tabular-nums;color:var(--text)}.product-card--oos{opacity:.72}.product-card__oos-label{align-self:flex-start;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);padding:2px var(--space-2);border-radius:var(--radius-full)}
