.restaurant-card {
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--color-bg);
    transition: box-shadow .2s, transform .2s;
}

.restaurant-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.restaurant-card__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.restaurant-card__link:hover { text-decoration: none; }

.restaurant-card__img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

.restaurant-card__img-placeholder {
    width: 100%;
    height: 180px;
    background: linear-gradient(135deg, var(--color-surface), var(--color-border));
}

.restaurant-card__body {
    padding: .875rem 1rem;
}

.restaurant-card__name {
    font-size: var(--text-base);
    font-weight: 600;
    margin: 0 0 .35rem;
    color: var(--color-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.restaurant-card__rating {
    font-size: var(--text-sm);
    color: var(--color-star);
    font-weight: 600;
    margin-bottom: .35rem;
}

.restaurant-card__address {
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
