/* ── Де придбати ────────────────────────────────────────────────────────── */
.shops__city {
    padding: var(--space-7) 0;
    border-top: 1px solid var(--color-border-strong);
}
.shops__city:first-child { padding-top: 0; border-top: 0; }

.shops__city-title { margin-bottom: var(--space-6); }

.shops__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }

.shop-card {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    height: 100%;
    padding: var(--space-6);
    background: var(--color-bg);
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius);
    transition: border-color var(--transition), box-shadow var(--transition);
}
.shop-card:hover { border-color: var(--color-primary); box-shadow: var(--shadow); }

.shop-card__name { font-size: var(--fs-lg); font-weight: var(--fw-medium); line-height: 1.3; letter-spacing: var(--ls-heading); color: var(--color-heading); }

.shop-card__address { display: grid; gap: var(--space-2); font-style: normal; }
.shop-card__line { display: flex; align-items: flex-start; gap: var(--space-3); }
.shop-card__icon { height: 1lh; color: var(--color-accent-soft); }

.shop-card__map { margin-top: auto; }

/* ── Онлайн і співпраця ─────────────────────────────────────────────────── */
.shops-cta__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }

.shops-cta__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4);
    padding: var(--space-7);
    background: var(--color-bg);
    border-radius: var(--radius);
}
.shops-cta__title { font-size: var(--fs-h3); font-weight: var(--fw-regular); line-height: 1.2; letter-spacing: var(--ls-heading); color: var(--color-heading); }
.shops-cta__text { flex: 1; max-width: 46ch; }

/* ── Адаптив ────────────────────────────────────────────────────────────── */
@media (max-width: 1023px) {
    .shops__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .shops__city { padding: var(--space-6) 0; }
    .shops__city-title { margin-bottom: var(--space-5); }
    .shops__list,
    .shops-cta__list { gap: var(--space-4); }
    .shop-card,
    .shops-cta__item { padding: var(--space-5); }
}

@media (max-width: 599px) {
    .shops__list,
    .shops-cta__list { grid-template-columns: minmax(0, 1fr); }
}
