.product-card[data-v-2fe891b3]{background-color:var(--color-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base);cursor:pointer;display:flex;flex-direction:column;height:100%}.product-card[data-v-2fe891b3]:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}.product-card__image-wrap[data-v-2fe891b3]{position:relative;aspect-ratio:1 / 1;overflow:hidden;background-color:var(--color-card);padding:var(--space-2);box-sizing:border-box}.product-card__image-link[data-v-2fe891b3]{display:block;width:100%;height:100%}.product-card__image[data-v-2fe891b3]{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-image) var(--radius-image) 0 0;transition:transform var(--transition-slow)}.product-card:hover .product-card__image[data-v-2fe891b3]{transform:scale(1.06)}.product-card__favorite[data-v-2fe891b3]{position:absolute;top:12px;right:12px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:#ffffffeb;border-radius:50%;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform var(--transition-fast)}.product-card__favorite[data-v-2fe891b3]:hover{transform:scale(1.1)}.product-card__badge[data-v-2fe891b3]{position:absolute;top:12px;left:12px;padding:5px 12px;background-color:var(--color-primary);color:#fff;font-size:.7rem;font-weight:var(--fw-semibold);border-radius:var(--radius-pill)}.product-card__discount[data-v-2fe891b3]{position:absolute;bottom:12px;left:12px;padding:5px 12px;background-color:var(--color-secondary);color:#fff;font-size:.7rem;font-weight:var(--fw-semibold);border-radius:var(--radius-pill)}.product-card__body[data-v-2fe891b3]{padding:var(--space-2) var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:4px;flex:1}.product-card__brand[data-v-2fe891b3]{font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--fw-medium)}@media (max-width: 768px){.product-card__brand[data-v-2fe891b3]{font-size:.6875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}}.product-card__title[data-v-2fe891b3]{font-size:var(--fs-card-title);font-weight:var(--fw-semibold);line-height:1.35;min-height:2.7em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card__rating[data-v-2fe891b3]{display:flex;align-items:center;gap:2px;margin:4px 0}.product-card__review-count[data-v-2fe891b3]{margin-left:4px;font-size:.75rem;color:var(--color-text-secondary)}.product-card__price-row[data-v-2fe891b3]{display:flex;align-items:baseline;gap:8px;margin-bottom:var(--space-2)}.product-card__price[data-v-2fe891b3]{font-size:1.125rem;font-weight:var(--fw-bold);color:var(--color-text-primary)}.product-card__old-price[data-v-2fe891b3]{font-size:var(--fs-small);color:var(--color-text-secondary);text-decoration:line-through}.product-card__actions[data-v-2fe891b3]{display:flex;gap:8px;margin-top:auto}.product-card__actions .btn[data-v-2fe891b3]{flex:1;padding:10px 12px;font-size:.8125rem}.product-card--slider[data-v-2fe891b3]{min-width:280px;max-width:280px}.state-message[data-v-12abde9c]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-1);padding:var(--space-8) var(--space-3);max-width:420px;margin:0 auto}.state-message__icon[data-v-12abde9c]{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;margin-bottom:var(--space-1)}.state-message--empty .state-message__icon[data-v-12abde9c]{background-color:var(--color-bg);color:var(--color-text-secondary)}.state-message--error .state-message__icon[data-v-12abde9c]{background-color:#fdecec;color:var(--color-secondary)}.state-message__title[data-v-12abde9c]{font-size:var(--fs-card-title);font-weight:var(--fw-semibold);color:var(--color-text-primary)}.state-message__description[data-v-12abde9c]{font-size:var(--fs-small);color:var(--color-text-secondary);line-height:1.6}@media (max-width: 480px){.state-message[data-v-12abde9c]{padding:var(--space-6) var(--space-2)}}
