.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--spacing-xl);transition:opacity .2s ease}body[data-navigating=true] .product-grid{opacity:.55;pointer-events:none}.product-card{position:relative;display:flex;flex-direction:column;gap:var(--spacing-md);padding-bottom:var(--spacing-md);background:var(--color-paper, var(--color-cream));border-radius:var(--radius-xl);overflow:hidden;text-decoration:none;color:inherit;transition:transform .28s ease,box-shadow .28s ease;box-shadow:var(--shadow-card, 0 4px 16px -8px rgba(0, 0, 0, .15))}.product-card:hover{transform:translateY(-4px)}.product-card:hover .product-card-media>img{transform:scale(1.04)}.product-card-media{position:relative;margin:var(--spacing-md);aspect-ratio:4 / 5;background:var(--color-paper-warm, var(--color-cream));border-radius:var(--radius-md);overflow:hidden}.product-card-media>img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.product-card-body{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-inline:var(--spacing-md)}.product-card-name{margin:0;font-family:var(--font-display);font-size:1.125rem;line-height:1.25;color:var(--color-ink)}.product-card-price{margin:0;font-family:var(--font-body);font-size:.875rem;letter-spacing:.02em;color:var(--color-mute)}.product-card-ribbon{position:absolute;top:var(--spacing-md);left:var(--spacing-md);padding:.375rem .625rem;background:var(--color-accent);color:var(--color-ink);font-family:var(--font-body);font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-sm);z-index:2}.product-card-index{position:absolute;top:var(--spacing-md);right:var(--spacing-md);padding:.375rem .5rem;background:#ffffffd9;color:var(--color-ink);font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.04em;border-radius:var(--radius-pill, 9999px);z-index:2}.offer-callout{background:var(--color-paper-warm, var(--color-cream));border:1px solid var(--color-rule);border-left:2px solid var(--color-accent);padding:var(--spacing-lg);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.offer-callout-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.offer-callout-item+.offer-callout-item{padding-top:var(--spacing-md);border-top:1px solid var(--color-rule)}.offer-callout-badge{align-self:flex-start;padding:.25rem .5rem;background:var(--color-ink);color:var(--color-paper);font-family:var(--font-body);font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-sm)}.offer-callout-name{font-family:var(--font-display);font-size:1rem;color:var(--color-ink);margin:0}.offer-callout-detail{font-family:var(--font-body);font-size:.875rem;color:var(--color-ink-soft, var(--color-mute));white-space:pre-line;margin:0}.offer-callout-foot{font-family:var(--font-body);font-size:.75rem;color:var(--color-mute);text-transform:uppercase;letter-spacing:.06em;margin:0}.option-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.option-label{font-family:var(--font-display);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-soft, var(--color-mute))}.option-choices{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.option-pill{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-ink);background:transparent;color:var(--color-ink);font-family:var(--font-body);border-radius:9999px;cursor:pointer;transition:background-color .15s ease,color .15s ease}.option-pill.selected{background:var(--color-ink);color:var(--color-paper)}.option-pill:disabled{opacity:.4;cursor:not-allowed}.quantity-selector{display:inline-flex;align-items:center;border:1px solid var(--color-ink);border-radius:var(--radius-md);overflow:hidden}.quantity-btn{padding:.5rem .75rem;background:transparent;border:none;cursor:pointer;color:var(--color-ink);font-family:var(--font-body)}.quantity-btn:disabled{opacity:.4;cursor:not-allowed}.quantity-value{padding:var(--spacing-sm) var(--spacing-md);font-variant-numeric:tabular-nums}.modifier-text{width:100%;padding:var(--spacing-sm);font-family:var(--font-body);font-size:.875rem;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-warm, var(--color-paper, var(--color-cream)));color:var(--color-ink);resize:vertical}.modifier-text:focus{outline:none;border-color:var(--color-ink);background:var(--color-paper, var(--color-cream))}.stock-status{font-size:.875rem;color:var(--color-ink-soft, var(--color-mute));font-style:italic}.back-in-stock-form{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md);padding:var(--spacing-lg);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper, var(--color-cream))}.back-in-stock-headline{display:flex;flex-direction:column;gap:var(--spacing-sm)}.back-in-stock-eyebrow{font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-soft, var(--color-mute))}.back-in-stock-lede{font-family:var(--font-body);font-size:.875rem;color:var(--color-ink);line-height:1.5}.back-in-stock-label{font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-soft, var(--color-mute))}.back-in-stock-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-sm)}.back-in-stock-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-body);font-size:.875rem;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-warm, var(--color-paper, var(--color-cream)));color:var(--color-ink);min-width:0;transition:border-color .15s ease}.back-in-stock-input:focus{outline:none;border-color:var(--color-ink)}.back-in-stock-submit{padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background:var(--color-ink);color:var(--color-paper);border:1px solid var(--color-ink);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease}.back-in-stock-submit:hover:not(:disabled){background:var(--color-ink-soft, var(--color-ink))}.back-in-stock-submit:disabled{opacity:.5;cursor:not-allowed}.back-in-stock-error{font-family:var(--font-body);font-size:.875rem;color:var(--color-error, var(--color-accent))}.back-in-stock-success{margin-top:var(--spacing-md);padding:var(--spacing-lg);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper, var(--color-cream))}.back-in-stock-success-headline{font-family:var(--font-display);font-size:1rem;color:var(--color-ink);margin:0 0 .5rem}.back-in-stock-success-detail{font-family:var(--font-body);font-size:.875rem;color:var(--color-ink);line-height:1.55;margin:0}.stock-status.back-in-stock-alt{margin-top:var(--spacing-sm);font-family:var(--font-body);font-size:.875rem;font-style:italic;color:var(--color-ink-soft, var(--color-mute))}
