.card-product-link {
    cursor: pointer;
}

.card-product-link:focus-visible {
    outline:
        3px solid
        color-mix(
            in srgb,
            var(--accent) 30%,
            transparent
        );

    outline-offset: 2px;
}

.card-product-link .product-image {
    width: 100%;
    height: 190px;
    min-height: 190px;
    max-height: 190px;

    overflow: hidden;
}

.product-card-image {
    width: 100%;
    height: 100%;

    padding: 14px;

    display: block;

    box-sizing: border-box;

    object-fit: contain;
    object-position: center;

    user-select: none;
}

.card-product-link .product-image-placeholder {
    flex-shrink: 0;

    color: #c4c8cc;

    font-size: 38px;
    font-weight: 900;
}

.card-product-meta {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;
}

.card-product-meta .brand {
    min-width: 0;

    overflow: hidden;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.card-product-code {
    flex-shrink: 0;

    color: var(--muted);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 0.15px;

    white-space: nowrap;
}

@media (max-width: 570px) {
    .card-product-link .product-image {
        height: 180px;
        min-height: 180px;
        max-height: 180px;
    }

    .card-product-code {
        font-size: 10px;
    }
}
