/* Страница покупателя (shop.html): одна колонка, крупные кнопки, телефон в одной руке. Цвета и размеры — токены tokens.css. */
.shop { max-width: 560px; margin: 0 auto; padding: 16px 16px calc(24px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: 16px; }
.shop__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.shop__title { margin: 0; font-size: 1.5rem; line-height: 1.2; }
.shop__store { margin: 4px 0 0; color: var(--ink-muted); }
.shop__lead { margin: 0; font-size: 1.05rem; }
.shop__actions { display: flex; flex-direction: column; gap: 10px; }
.shop__actions .btn { justify-content: center; min-height: 52px; font-size: 1.05rem; cursor: pointer; }
.shop__shot { min-height: 64px; font-size: 1.15rem; }
.shop__preview { border-radius: 12px; overflow: hidden; background: var(--surface-2); max-height: 220px; display: flex; justify-content: center; }
.shop__preview img { max-width: 100%; max-height: 220px; object-fit: contain; display: block; }
.shop__tips { margin: 0; padding-left: 20px; color: var(--ink-muted); display: grid; gap: 4px; }
.shop__privacy { font-size: .9rem; color: var(--ink-muted); border-top: 1px solid var(--line); padding-top: 12px; }
.shop__privacy p { margin: 0; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
