/**
 * Reset legacy styles.
 */
.meal-card * {
    margin:0;
    padding:0;
}

.meal-card {
    --meal-card-padding: .25rem;

    background: white;
    overflow: hidden;
    border-radius: var(--border-radius);
    box-shadow: .25rem .25rem .5rem rgba(0, 0, 0, 0.25);

    /*
    border: 1px solid var(--color-card-border);
     */

    /* text-wrap: none; */
    word-wrap: break-word;
    /* overflow: scroll; */

    display: flex;
    flex-direction: column;
    position: relative;

    /* Enable hover animation. */
    transition: transform .2s;

    /**
     * User's should not try to select text from meal cards.
     * They can select text from the modal to not make input confusing.
     */
    user-select: none;
}

.meal-card:hover {
    transform: scale(1.075);
    z-index: 2;
    box-shadow: .25rem .25rem .5rem rgba(0, 0, 0, 0.25),  .25rem .25rem .5rem rgba(0, 0, 0, 0.25);
}

.meal-card__location,
.meal-card__title,
.meal-card__meta {
    padding: var(--meal-card-padding) var(--meal-card-padding) 0;
}

.meal-card__meta {
    padding-bottom: var(--meal-card-padding);
}

.meal-card__photo {
    padding: 0;
    position: relative;
}

.meal-card__photo-img {
    /* Remove padding and margin around the image. */
    display: block;

    width: 100%;

    /**
     * Reserve space for the picture
     * even before it started to load
     * to prevent layout jumps.
     */
    aspect-ratio: 4 / 3;
}

.meal-card__photo-similarity-warning::before {
    content: url('icons/vendor/noto-emoji/emoji_u26a0.svg');

    /* Image is scaled according to the width. */
    display: inline-block;
    width: .85rem;
}

.meal-card__photo-similarity-warning {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0.25rem;
    background: rgba(236, 0, 0, 0.5);
    color: white;
    text-align: center;
    backdrop-filter: blur(2px);
}

.meal-card__photo-missing-warning::before {
    content: url('icons/vendor/noto-emoji/emoji_u2b06.svg');

    /* Image is scaled according to the width. */
    display: inline-block;
    width: .85rem;
}

.meal-card__photo-missing-warning {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0.25rem;
    background: rgba(54, 54, 54, 0.5);
    color: white;
    text-align: center;
    backdrop-filter: blur(2px);
}

.meal-card__photo-missing-warning a {
    color: white;
    text-decoration: none;
}

.meal-card__location {
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.meal-card__title {
    flex-grow: 1;
    hyphens: auto;
}

.meal-card__diet-icon {
    height: 1.5rem;
    vertical-align: middle;
}

.meal-card__additives {
    color: indianred;
    font-size: var(--text-small);
    padding-top: .25rem;
}

.meal-card__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.meal-card__meta img {
    height: 1rem;
}

.meal-card__rating {
    vertical-align: middle;
    display: inline-block;
    height: 1rem;
    margin-bottom: .25rem;
}

.meal-card__rating--hollow {
}
