/* bm/store-list — shops as plain HTML (no JS). Theme tokens only. */
.bm-store-list .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.bm-store-list .bm-ico { width: 1.125rem; height: 1.125rem; flex: none; margin-top: .0625rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* City index (jump links) */
.bm-store-list__index { margin-bottom: var(--wp--preset--spacing--50); }
.bm-store-list__index ul { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20); margin: 0; padding: 0; list-style: none; }
.bm-store-list__index a {
	display: inline-flex; align-items: center; gap: .375rem; min-height: 40px; padding: .375rem .75rem;
	border: 1px solid var(--wp--preset--color--line-strong); border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--sm); font-weight: 600; text-decoration: none;
}
.bm-store-list__index a:hover { border-color: var(--wp--preset--color--ink); }
.bm-store-list__index span { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--ink-soft); font-variant-numeric: tabular-nums; }

/* Cities */
.bm-store-list__cities { display: grid; gap: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); }
@media (min-width: 720px) { .bm-store-list__cities { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .bm-store-list__cities { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.bm-store-list__city { scroll-margin-top: var(--wp--preset--spacing--60); min-width: 0; }
.bm-store-list__city-name {
	display: flex; align-items: baseline; flex-wrap: wrap; gap: .5rem; margin: 0;
	padding-bottom: var(--wp--preset--spacing--20); border-bottom: 2px solid var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--lg);
}
.bm-store-list__count { font-size: var(--wp--preset--font-size--xs); font-weight: 600; letter-spacing: 0; color: var(--wp--preset--color--ink-soft); }
.bm-store-list__shops { margin: 0; padding: 0; list-style: none; }
.bm-store-list__shop { padding: var(--wp--preset--spacing--40) 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.bm-store-list__shop article > * { margin: 0; }
.bm-store-list__name { font-size: var(--wp--preset--font-size--md); line-height: 1.25; }
.bm-store-list__name a { color: inherit; text-decoration: none; }
.bm-store-list__name a:hover { color: var(--wp--preset--color--accent); text-decoration: underline; text-underline-offset: .2em; }
.bm-store-list__tag { margin-top: .25rem !important; font-size: var(--wp--preset--font-size--xs); font-weight: 600; color: var(--wp--preset--color--ink-soft); text-transform: uppercase; letter-spacing: .04em; }
.bm-store-list__badge { display: inline-block; margin: .25rem 0 0; padding: .125rem .5rem; background: var(--wp--preset--color--orange); color: var(--wp--preset--color--night); font-size: var(--wp--preset--font-size--xs); font-weight: 700; }
.bm-store-list__row { display: flex; gap: .5rem; align-items: flex-start; margin-top: .375rem !important; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--ink-soft); }
.bm-store-list__row a, .bm-store-list__fact a { color: var(--wp--preset--color--ink); font-weight: 600; text-underline-offset: .2em; word-break: break-word; }
.bm-store-list__links { margin-top: var(--wp--preset--spacing--30) !important; }
.bm-store-list__route {
	display: inline-flex; align-items: center; gap: .375rem; min-height: 40px; padding: .375rem .875rem;
	border: 2px solid var(--wp--preset--color--ink); border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--ink); font-weight: 700; font-size: var(--wp--preset--font-size--sm); text-decoration: none;
	transition: background-color var(--wp--custom--speed) var(--wp--custom--ease), color var(--wp--custom--speed);
}
.bm-store-list__route:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }

/* "city" variant: other shops in the same city */
.bm-store-list--city .bm-store-list__shops { display: grid; gap: 0 var(--wp--preset--spacing--50); }
@media (min-width: 720px) { .bm-store-list--city .bm-store-list__shops { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .bm-store-list--city .bm-store-list__shops { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* "detail" variant: the current shop */
.bm-store-list__facts { display: grid; gap: var(--wp--preset--spacing--40); margin: 0; }
.bm-store-list__fact { display: grid; gap: .25rem; padding-bottom: var(--wp--preset--spacing--40); border-bottom: 1px solid var(--wp--preset--color--line); }
.bm-store-list__fact dt { display: flex; align-items: center; gap: .5rem; font-size: var(--wp--preset--font-size--xs); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--wp--preset--color--ink-soft); }
.bm-store-list__fact dt .bm-ico { color: var(--wp--preset--color--accent); }
.bm-store-list__fact dd { margin: 0; font-size: var(--wp--preset--font-size--md); font-weight: 600; font-variant-numeric: tabular-nums; }
.bm-store-list__actions { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--30); margin: var(--wp--preset--spacing--50) 0 0; }
.bm-store-list__cta { display: inline-flex; align-items: center; gap: .5rem; min-height: 48px; text-decoration: none; }
.bm-store-list__call {
	display: inline-flex; align-items: center; gap: .5rem; min-height: 48px; padding: .625rem 1.25rem;
	border: 2px solid var(--wp--preset--color--ink); border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--ink); font-weight: 700; text-decoration: none;
}
.bm-store-list__call:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.bm-store-list__gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--20); margin: var(--wp--preset--spacing--50) 0 0; padding: 0; list-style: none; }
@media (min-width: 960px) { .bm-store-list__gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.bm-store-list__gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--wp--custom--radius--sm); }
