.pcard{background:var(--ink-900);border:1px solid var(--rule);border-radius:var(--radius);transition:border-color var(--dur) var(--ease-out), transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.pcard:hover{border-color:var(--rule-strong);box-shadow:var(--shadow-card);transform:translateY(-3px)}.pcard__media{aspect-ratio:4/5;background:radial-gradient(125% 108% at 50% 30%,#fff 0%,#fdfaf5 58%,#e6dfd1 100%);position:relative;overflow:hidden}.pcard__media img{object-fit:contain;filter:contrast(1.06)saturate(1.04);width:100%;height:100%;transition:transform var(--dur-slow) var(--ease-out);padding:10%;position:absolute;inset:0}.pcard:hover .pcard__media img{transform:scale(1.055)}.pcard__media--empty{color:var(--ink-600);font-family:var(--font-display);font-weight:400;font-size:var(--text-lg);text-transform:uppercase;letter-spacing:var(--tracking-tight);place-items:center;display:grid}.pcard__rule{z-index:2;background:var(--red);transform-origin:0;height:3px;transition:transform var(--dur) var(--ease-out);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.pcard:hover .pcard__rule{transform:scaleX(1)}.pcard__flags{z-index:2;flex-direction:column;gap:6px;display:flex;position:absolute;top:10px;left:10px}.pflag{font-family:var(--font-body);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;border-radius:var(--radius-xs);padding:.3em .55em;font-weight:700;line-height:1}.pflag--sale{background:var(--red);color:var(--bone)}.pflag--out{background:var(--ink-700);color:var(--bone-faint);border:1px solid var(--rule-strong)}.pcard__body{padding:var(--space-3);border-top:1px solid var(--rule-faint);flex-direction:column;gap:.5rem;display:flex}.pcard__vendor{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--bone-ghost)}.pcard__title{font-size:var(--text-sm);color:var(--bone);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.pcard__foot{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-top:auto;display:flex}.pcard__from{letter-spacing:var(--tracking-label);text-transform:uppercase;opacity:.62;font-size:.86em}.pcard__price{font-family:var(--font-body);font-size:var(--text-sm);color:var(--bone);align-items:baseline;gap:.5em;font-weight:700;display:flex}.pcard__price--sale{color:var(--red-text)}.pcard__price del{color:var(--bone-ghost);font-weight:400;text-decoration-thickness:1px}.pcard__cta{font-family:var(--font-body);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--bone-faint);opacity:0;transition:opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out), color var(--dur-fast);transform:translate(-4px)}.pcard:hover .pcard__cta{opacity:1;color:var(--bone);transform:none}.pcard__link{z-index:3;position:absolute;inset:0}
.product-grid{grid-template-columns:repeat(4,1fr);gap:clamp(.75rem,.4rem + 1vw,1.25rem);display:grid}@media (max-width:1100px){.product-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:720px){.product-grid{grid-template-columns:repeat(2,1fr)}}
