.product-section-stack{gap:var(--sp-6);flex-direction:column;display:flex}.product-grid{gap:var(--sp-5);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.product-grid>li{min-width:0}@media (min-width:768px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1280px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.product-card{background:var(--surface-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);height:100%;box-shadow:var(--depth-1);transition:transform var(--duration-tile) var(--ease-spatial), border-color var(--duration-tile) var(--ease-spatial);flex-direction:column;display:flex;overflow:hidden}.product-card:hover{transform:translateY(var(--lift-tile));border-color:var(--border-emphasis)}@media (prefers-reduced-motion:reduce){.product-card:hover{transform:none}}.product-card__media{aspect-ratio:1;background:var(--surface-canvas);width:100%;position:relative}.product-card__image{object-fit:cover;width:100%;height:100%}.product-card__media-empty{justify-content:center;align-items:center;gap:var(--sp-1);background:var(--surface-disabled);flex-direction:column;width:100%;height:100%;display:flex;container-type:inline-size}.product-card__media-empty-icon{color:var(--text-primary);width:60cqw;height:60cqw;display:flex}.product-card__media-empty-icon svg{width:100%;height:100%;display:block}.product-card__media-empty-dims{font-family:var(--font-ui);white-space:nowrap;color:var(--text-accent);font-size:clamp(13px,9cqw,22px);font-weight:700;line-height:1}.product-card__body{gap:var(--sp-2);padding:var(--sp-4);flex-direction:column;flex:1;display:flex}.product-card__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.product-card__price{font-family:var(--font-ui);font-size:var(--fs-body);color:var(--text-primary);margin:0;font-weight:600}.product-card__actions{gap:var(--sp-2);padding-top:var(--sp-2);margin-top:auto;display:flex}.product-card__actions>*{flex:1;min-width:0}.product-card__btn.btn{padding-inline:var(--sp-2);font-size:var(--fs-caption);white-space:nowrap}
