.product-card{min-inline-size:0}.product-card__link{gap:calc(var(--spacing)*4);border-radius:var(--radius-sm);color:inherit;text-decoration:none;display:grid}.product-card__link:focus-visible{outline:var(--nuv-focus-ring-width,2px) solid var(--nuv-focus-ring-color,var(--color-ring));outline-offset:var(--nuv-focus-ring-offset,4px)}.product-card__frame{position:relative}.product-card__media{--nuv-aspect-ratio-radius:var(--radius-sm);background-color:var(--app-color-canvas)}.product-card__image{object-fit:cover}@media (prefers-reduced-motion:no-preference){.product-card__image{transition:opacity .6s var(--ease-out),transform 1.2s var(--ease-out)}}.product-card__image--studio{object-fit:contain;mix-blend-mode:multiply;padding:8%}.product-card__image--worn{opacity:0}.product-card__link:focus-visible .product-card__image--worn{opacity:1}.product-card__link:focus-visible .product-card__image--studio{opacity:0}@media (hover:hover){.product-card__link:hover .product-card__image--worn{opacity:1}.product-card__link:hover .product-card__image--studio{opacity:0}}.product-card__badges{gap:calc(var(--spacing)*1);align-items:flex-start;display:flex;position:absolute;inset-block-start:calc(var(--spacing)*3);inset-inline-start:calc(var(--spacing)*3)}.product-card__badge{--nuv-badge-bg:var(--app-color-canvas);--nuv-badge-fg:var(--app-color-canvas-foreground);--nuv-badge-border:var(--app-color-canvas-foreground)}.product-card__body{gap:calc(var(--spacing)*1);display:grid}.product-card__title{font-family:var(--app-font-display);font-size:var(--text-lg);font-weight:var(--font-weight-medium);line-height:var(--leading-snug);margin:0}@media (min-width:48rem){.product-card__title{font-size:var(--text-xl)}}.product-card__meta{color:var(--color-muted-foreground);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}
.product-grid{gap:calc(var(--spacing)*10) calc(var(--spacing)*3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}@media (min-width:48rem){.product-grid{gap:calc(var(--spacing)*14) calc(var(--spacing)*6);grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:80rem){.product-grid--wide{grid-template-columns:repeat(4,minmax(0,1fr))}}.product-grid__item{min-inline-size:0}
