.products{display: grid;grid-template-columns: repeat(var(--wpp-cols-desktop, 4), minmax(0, 1fr));gap: var(--wpp-grid-gap, 20px);width: 100%;}.product{min-width: 0;overflow: hidden;border: var(--wpp-card-border, 0);border-radius: var(--wpp-radius-card, 0);background: var(--wpp-card-bg, transparent);box-shadow: var(--wpp-card-shadow, none);transition: transform 0.2s ease, box-shadow 0.2s ease;}.product > a{display: block;text-decoration: none !important;color: var(--wpp-card-title-color, var(--dreams-color-heading, #000));}.product-img-container{width: 100%;background-color: var(--dreams-color-surface-alt, #f5f5f5);position: relative;aspect-ratio: var(--wpp-card-aspect, 4 / 3);overflow: hidden;border-radius: var(--wpp-radius-image, 0);}.product-img{width: 100%;height: 100%;object-fit: var(--wpp-card-fit, cover);display: block;transition: transform 0.35s ease;}.product-img--placeholder{object-fit: contain;background-color: #e8e8e8;}.special-badge{position: absolute;top: 5px;width: 75px;left: 5px;}.product-name{margin: 10px 0px;padding: 0 8px;text-align: var(--wpp-card-title-align, center);font-size: var(--wpp-card-title-size, 16px);font-weight: var(--wpp-card-title-weight, 400);}.wpp-catalog[data-card-hover='lift'] .product:hover{transform: translateY(-4px);box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);}.wpp-catalog[data-card-hover='zoom'] .product:hover .product-img, .wpp-catalog[data-card-hover='zoom'] .product a:focus-visible .product-img{transform: scale(1.04);}@media screen and (max-width: 1024px){.products{grid-template-columns: repeat(var(--wpp-cols-tablet, 3), minmax(0, 1fr));}}@media screen and (max-width: 600px){.products{grid-template-columns: repeat(var(--wpp-cols-mobile, 1), minmax(0, 1fr));gap: min(var(--wpp-grid-gap, 20px), 14px);}.product-name{font-size: max(var(--wpp-card-title-size, 16px), 17px);}}@media (prefers-reduced-motion: reduce){.product, .product-img{transition: none;}.wpp-catalog[data-card-hover] .product:hover{transform: none;}.wpp-catalog[data-card-hover] .product:hover .product-img{transform: none;}}