.rating{align-items:center;gap:var(--s-2);display:inline-flex}.rating__stars{direction:ltr;gap:1px;display:inline-flex}.rating__star{flex-shrink:0}.rating--sm .rating__star{block-size:14px;inline-size:14px}.rating--md .rating__star{block-size:18px;inline-size:18px}.rating__star--full{color:var(--c-honey)}.rating__star--empty{color:var(--c-sand-dark)}.rating__count{font-size:var(--fs-2xs);color:var(--c-text-muted)}.pcard{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);transition:transform var(--t-base), box-shadow var(--t-base), border-color var(--t-base);flex-direction:column;block-size:100%;display:flex;position:relative;overflow:hidden}.pcard:hover{box-shadow:var(--sh-md);border-color:var(--c-oak-light);transform:translateY(-3px)}.pcard:focus-within{box-shadow:var(--sh-md);border-color:var(--c-oak-light)}@media (prefers-reduced-motion:reduce){.pcard:hover{transform:none}}.pcard__media{aspect-ratio:1;background:var(--c-sand);position:relative;overflow:hidden}.pcard__link{block-size:100%;display:block}.pcard__img{object-fit:cover;block-size:100%;inline-size:100%;transition:transform .4s var(--ease)}.pcard:hover .pcard__img{transform:scale(1.05)}@media (prefers-reduced-motion:reduce){.pcard:hover .pcard__img{transform:none}}.pcard__placeholder{block-size:100%;color:var(--c-oak-light);background:radial-gradient(circle at 30% 25%, #ffffffb3, transparent 60%), var(--c-sand);place-items:center;display:grid}.pcard__placeholder svg{block-size:45%;inline-size:45%}.pcard__badges{gap:var(--s-2);flex-direction:column;align-items:flex-start;display:flex;position:absolute;inset-block-start:var(--s-3);inset-inline-start:var(--s-3)}.badge{padding:.25rem var(--s-2);border-radius:var(--r-full);font-size:var(--fs-2xs);font-weight:var(--fw-bold);line-height:1.6}.badge--sale{background:var(--c-clay-fill);color:var(--c-white)}.badge--out{background:var(--c-walnut);color:var(--c-white)}.badge--low{background:var(--c-honey-soft);color:var(--c-walnut-dk)}.pcard__quickadd{border-radius:var(--r-full);background:var(--c-white);block-size:40px;inline-size:40px;color:var(--c-walnut);box-shadow:var(--sh-md);opacity:0;transition:opacity var(--t-fast), transform var(--t-fast), background-color var(--t-fast);place-items:center;display:grid;position:absolute;inset-block-end:var(--s-3);inset-inline-end:var(--s-3);transform:translateY(6px)}.pcard:hover .pcard__quickadd,.pcard__quickadd:focus-visible{opacity:1;transform:translateY(0)}.pcard__quickadd:hover{background:var(--c-oak-text);color:var(--c-white)}.pcard__quickadd svg{block-size:20px;inline-size:20px}@media (hover:none){.pcard__quickadd{opacity:1;transform:none}}.pcard__body{gap:var(--s-2);padding:var(--s-4);flex-direction:column;flex:1;display:flex}.pcard__eyebrow{font-size:var(--fs-2xs);color:var(--c-oak-text);font-weight:var(--fw-medium);margin:0}.pcard__title{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--c-ink);margin:0;line-height:1.6}.pcard__title-link:after{content:"";z-index:1;position:absolute;inset:0}.pcard__title-link:hover{color:var(--c-oak-text)}.pcard__quickadd{z-index:2}.pcard__age{align-items:center;gap:var(--s-1);font-size:var(--fs-2xs);color:var(--c-text-muted);margin:0;display:inline-flex}.pcard__age svg{flex-shrink:0;block-size:13px;inline-size:13px}.pcard__footer{justify-content:space-between;align-items:flex-end;gap:var(--s-2);margin-block-start:auto;padding-block-start:var(--s-2);display:flex}.pcard__price{flex-direction:column;gap:2px;margin:0;display:flex}.pcard__price-old{font-size:var(--fs-2xs);color:var(--c-text-muted);text-decoration:line-through}.pcard__price-now{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--c-walnut)}.pcard__price--muted .pcard__price-now{color:var(--c-text-muted)}.pcard__variants{font-size:var(--fs-2xs);color:var(--c-text-muted);background:var(--c-sand);padding:2px var(--s-2);border-radius:var(--r-full);white-space:nowrap}.product-grid{gap:var(--s-5);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}@media (width<=560px){.product-grid{gap:var(--s-3);grid-template-columns:repeat(2,1fr)}.pcard__body{padding:var(--s-3);gap:var(--s-1)}.pcard__title,.pcard__price-now{font-size:var(--fs-sm)}.pcard__variants{display:none}}
