/* Salmod in-person store page. Mobile first. Tokens only. */
body.salmod-store-page {
	margin: 0; background: var(--salmod-bg); color: var(--salmod-fg);
	font-family: "Vazirmatn", Tahoma, sans-serif; font-size: 15.5px; line-height: 1.95;
	-webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%;
}
body.salmod-store-page *, body.salmod-store-page *::before, body.salmod-store-page *::after { box-sizing: border-box; }
body.salmod-store-page :focus-visible { outline: 2px solid var(--salmod-ring); outline-offset: 2px; }
.st { max-width: 1080px; margin: 0 auto; padding: 0 16px 56px; overflow-x: clip; }
.st h1, .st h2, .st p { margin: 0; }
.st a { color: var(--salmod-brand-ink); text-decoration: none; }
.st svg { flex: none; width: 22px; height: 22px; }

.st-hero { padding: 22px 0 8px; }
.st-bc { display: flex; gap: 6px; margin-bottom: 14px; font-size: 12.5px; color: var(--salmod-muted-fg); }
.st-bc a { color: inherit; }
.st-kicker { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 8px !important; padding: 2px 12px 2px 14px; border-radius: 999px; background: var(--salmod-brand-soft); color: var(--salmod-brand-ink); font-size: 12.5px; font-weight: 800; }
.st-kicker svg { width: 16px; height: 16px; }
.st-title { font-size: clamp(26px, 5.5vw, 40px); font-weight: 900; color: var(--salmod-primary); line-height: 1.45; text-wrap: balance; }
.st-lead { max-width: 680px; margin-top: 8px !important; color: var(--salmod-muted-fg); font-size: 16px; text-wrap: pretty; }

.st-cards { display: grid; gap: 10px; margin-top: 18px; }
@media (min-width: 768px) { .st-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.st-card { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 18px; background: var(--salmod-surface); box-shadow: inset 0 0 0 1px var(--salmod-line-soft); }
.st-card h2 { font-size: 13px; font-weight: 800; color: var(--salmod-muted-fg); line-height: 1.6; }
.st-card p { font-size: 14.5px; font-weight: 700; color: var(--salmod-primary); line-height: 1.8; }
.st-card__ico { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--salmod-brand-soft); color: var(--salmod-brand-ink); }
.st-card__ico svg { width: 20px; height: 20px; }

.st-sec { margin-top: 34px; }
.st-h { margin-bottom: 12px !important; font-size: 19px; font-weight: 900; color: var(--salmod-primary); }

.st-map { position: relative; height: 340px; border-radius: 20px; overflow: hidden; background: var(--salmod-brand-soft); box-shadow: inset 0 0 0 1px var(--salmod-line-soft); z-index: 0; }
@media (min-width: 768px) { .st-map { height: 420px; } }
.st-map__wait { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--salmod-brand-ink); font-size: 14px; font-weight: 700; text-align: center; padding: 16px; }
.st-map__wait svg { width: 34px; height: 34px; }
.st-pin-wrap { background: none; border: 0; }
.st-pin { display: block; width: 34px; height: 44px; background: var(--salmod-brand); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 44'%3E%3Cpath d='M17 0C7.6 0 0 7.4 0 16.6 0 29 17 44 17 44s17-15 17-27.4C34 7.4 26.4 0 17 0zm0 23a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 44'%3E%3Cpath d='M17 0C7.6 0 0 7.4 0 16.6 0 29 17 44 17 44s17-15 17-27.4C34 7.4 26.4 0 17 0zm0 23a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13z'/%3E%3C/svg%3E") center / contain no-repeat; filter: drop-shadow(0 4px 6px rgba(0,0,0,.25)); }
.st .leaflet-popup-content { font-family: inherit; font-size: 13px; margin: 8px 12px; }

.st-routes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.st-routes__label { font-size: 13.5px; font-weight: 700; color: var(--salmod-muted-fg); }
.st-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border-radius: 999px; background: var(--salmod-surface); box-shadow: inset 0 0 0 1px var(--salmod-border); color: var(--salmod-primary) !important; font-weight: 800; font-size: 14px; transition: box-shadow .2s ease; }
.st-btn:hover { box-shadow: inset 0 0 0 1px var(--salmod-brand); }
.st-btn--primary { background: var(--salmod-brand); color: var(--salmod-on-brand) !important; box-shadow: none; }

.st-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .st-photos { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.st-photos img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; background: var(--salmod-brand-soft); }

.st-why { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .st-why { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.st-why li { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 18px; background: var(--salmod-surface); box-shadow: inset 0 0 0 1px var(--salmod-line-soft); }
.st-why strong { display: block; color: var(--salmod-primary); font-weight: 900; font-size: 15px; line-height: 1.6; }
.st-why span:not(.st-card__ico) { display: block; color: var(--salmod-muted-fg); font-size: 13.5px; line-height: 1.8; }

.st-cats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.st-chip { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; background: var(--salmod-surface); box-shadow: inset 0 0 0 1px var(--salmod-line-soft); color: var(--salmod-primary) !important; font-weight: 700; font-size: 14px; }
.st-chip:hover { box-shadow: inset 0 0 0 1px var(--salmod-brand); }

.st-about p { margin-bottom: 10px !important; color: var(--salmod-fg); text-wrap: pretty; }
.st-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

.st-faq { display: grid; gap: 8px; }
.st-faq details { padding: 4px 16px; border-radius: 16px; background: var(--salmod-surface); box-shadow: inset 0 0 0 1px var(--salmod-line-soft); }
.st-faq summary { min-height: 52px; display: flex; align-items: center; font-weight: 800; color: var(--salmod-primary); cursor: pointer; }
.st-faq details p { padding: 0 0 14px; color: var(--salmod-muted-fg); font-size: 14.5px; }
