.mamc-store-card {
    background: linear-gradient(135deg, #10233d, #20354f);
    border-radius: 18px;
    color: #fff;
    min-height: clamp(290px, 42vw, 390px);
    overflow: hidden;
    position: relative;
}

.mamc-store-card.has-cover {
    background-image: var(--mamc-store-cover);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.mamc-store-card::before {
    background: linear-gradient(90deg, rgba(8, 16, 28, .9) 0%, rgba(8, 16, 28, .7) 48%, rgba(8, 16, 28, .28) 100%);
    content: "";
    inset: 0;
    position: absolute;
}

.mamc-store-card__content {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: 100%;
    justify-content: center;
    max-width: 720px;
    min-height: inherit;
    padding: clamp(1.35rem, 5vw, 3rem);
    position: relative;
    z-index: 1;
}

.mamc-store-card__heading {
    display: flex;
    flex-direction: column;
    gap: .3rem;
}

.mamc-store-card__heading strong {
    color: #fff;
    font-size: clamp(1.85rem, 5vw, 3rem);
    line-height: 1.05;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .32);
}

.mamc-store-card__heading > span {
    color: rgba(255, 255, 255, .78);
    font-size: .95rem;
}

.mamc-store-card__address {
    align-items: flex-start;
    color: rgba(255, 255, 255, .94);
    display: flex;
    font-size: clamp(.92rem, 2vw, 1.05rem);
    gap: .55rem;
    line-height: 1.45;
    margin: 0;
}

.mamc-store-card__address svg {
    fill: none;
    flex: 0 0 22px;
    height: 22px;
    margin-top: .05rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 22px;
}

.mamc-store-card__status {
    align-items: center;
    backdrop-filter: blur(8px);
    background: rgba(10, 18, 30, .45);
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 999px;
    display: inline-flex;
    flex-wrap: wrap;
    gap: .65rem;
    line-height: 1.3;
    max-width: 100%;
    padding: .65rem .9rem;
}

.mamc-store-card__status-main {
    align-items: center;
    display: inline-flex;
    gap: .5rem;
}

.mamc-store-card__status-main strong {
    color: #fff;
    font-size: .95rem;
}

.mamc-store-card__status-dot {
    background: #ff4a5d;
    border-radius: 50%;
    flex: 0 0 9px;
    height: 9px;
    width: 9px;
}

.mamc-store-card__status.is-open .mamc-store-card__status-dot {
    background: #38c576;
}

.mamc-store-card__status.is-neutral .mamc-store-card__status-dot {
    background: rgba(255, 255, 255, .55);
}

.mamc-store-card__status-separator {
    background: rgba(255, 255, 255, .55);
    height: 18px;
    width: 1px;
}

.mamc-store-card__status-message {
    color: rgba(255, 255, 255, .92);
    font-size: .92rem;
}

.mamc-store-card__link {
    align-items: center;
    background: #fff8ed;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 14px;
    color: var(--mmc-color-primary-dark);
    display: inline-flex;
    font-weight: 800;
    gap: .75rem;
    justify-content: center;
    margin-top: .25rem;
    min-height: 52px;
    min-width: min(290px, 100%);
    padding: .8rem 1.25rem;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease;
}

.mamc-store-card__link:hover,
.mamc-store-card__link:focus-visible {
    box-shadow: 0 12px 26px rgba(0, 0, 0, .2);
    transform: translateY(-2px);
}

@media (max-width: 560px) {
    .mamc-store-card {
        min-height: 320px;
    }
    .mamc-store-card::before {
        background: linear-gradient(180deg, rgba(8, 16, 28, .42) 0%, rgba(8, 16, 28, .84) 72%, rgba(8, 16, 28, .94) 100%);
    }
    .mamc-store-card__content {
        justify-content: flex-end;
    }
    .mamc-store-card__status {
        border-radius: 16px;
    }
    .mamc-store-card__status-separator {
        display: none;
    }
    .mamc-store-card__status-message {
        flex-basis: 100%;
        padding-left: calc(9px + .5rem);
    }
    .mamc-store-card__link {
        width: 100%;
    }
}
