/* uniform product cards 2026-10-25 */
.grid,.agrid{align-items:stretch;gap:20px;grid-auto-rows:1fr}
.grid>.card,.agrid>.acard{height:100%;display:flex;flex-direction:column;min-width:0}
.card .ph{aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.card .ph picture{display:block;width:100%;height:100%}
.card .ph img,.acard img{width:100%;height:100%;aspect-ratio:1/1;object-fit:contain;object-position:center;background:#fff}
.card .bd{flex:1 1 auto;display:flex;flex-direction:column}
.card h3,.acard h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;min-height:2.6em}
.card .specs,.acard .specs{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.card .price,.acard .price{margin-top:auto}
.card .btn,.acard .btn{width:100%;box-sizing:border-box;text-align:center;display:block}
.agrid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.agrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.agrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.grid,.agrid{gap:12px}}

/* CARD-STATIC 2026-10-30 — freeze product cards sitewide when this sheet loads */
.card,.card:hover,.card.fx3d,.card.fx3d:hover,
.grid .card,.grid .card:hover,.agrid .card,.agrid .card:hover,
.agrid .acard,.agrid .acard:hover,
.deal-btn,.deal-btn:hover{
  transform:none!important;transition:none!important;animation:none!important;
  perspective:none!important;transform-style:flat!important;will-change:auto!important
}
.card img,.card.fx3d img{transform:none!important}
